2.9. 브로커 인스턴스를 7.9.x에서 7.10.x로 업그레이드
다음 하위 섹션에서는 다른 운영 체제에 대해 7.9.x 브로커 인스턴스를 7.10.x로 업그레이드하는 방법을 설명합니다.
AMQ Broker 7.1.0부터 기본적으로 로컬 호스트에서 AMQ 관리 콘솔에만 액세스할 수 있습니다. 콘솔에 대한 원격 액세스 구성에 대한 자세한 내용은 AMQ Management Console에 대한 로컬 및 원격 액세스 구성을 참조하십시오.
2.9.1. Linux에서 7.9.x에서 7.10.x로 업그레이드
다운로드한 아카이브의 이름은 다음 예에 사용된 내용과 다를 수 있습니다.
사전 요구 사항
- 최소한 AMQ Broker 7.11을 실행하려면 Java 버전 11이 필요합니다. 각 AMQ Broker 호스트가 Java 버전 11 이상을 실행하고 있는지 확인합니다. 지원되는 구성에 대한 자세한 내용은 Red Hat AMQ Broker 7 지원 구성을 참조하십시오.
-
AMQ Broker 7.9가 메시지 데이터를 데이터베이스에 저장하도록 구성된 경우 HECDHEER_EXPIRATION_TIME 열의 데이터 유형은 노드 관리자 데이터베이스 테이블의
타임 스탬프
입니다. AMQ Broker 7.11에서 열의 데이터 유형이number
로 변경되었습니다. AMQ Broker 7.11로 업그레이드하기 전에 노드 관리자 테이블을 삭제해야 합니다. 즉, 데이터베이스에서 제거해야 합니다. 테이블을 삭제한 후 업그레이드된 브로커를 다시 시작할 때 새 스키마를 사용하여 다시 생성됩니다. 공유 저장소 HA(고가용성) 구성에서 노드 관리자 테이블은 브로커 간에 공유됩니다. 따라서 테이블을 삭제하기 전에 테이블을 공유하는 모든 브로커가 중지되었는지 확인해야 합니다. 다음 예제에서는NODE_MANAGER_ECDHE라는 노드 관리자 테이블을 삭제합니다
.
DROP TABLE NODE_MANAGER_TABLE
절차
- Red Hat 고객 포털에서 원하는 아카이브를 다운로드합니다. AMQ Broker 아카이브 다운로드에 제공된 지침을 따르십시오.
아카이브의 소유자를 AMQ Broker 설치를 보유한 사용자와 업그레이드할 수 있도록 변경합니다. 다음 예제에서는
amq-broker
라는 사용자를 보여줍니다.sudo chown amq-broker:amq-broker amq-broker-7.x.x-bin.zip
아카이브를 AMQ Broker의 원래 설치 중에 생성된 디렉터리로 이동합니다. 다음 예에서는
/opt/redhat
을 사용합니다.sudo mv amq-broker-7.x.x-bin.zip /opt/redhat
디렉터리 소유자로서 압축된 아카이브의 콘텐츠를 추출합니다. 다음 예제에서
amq-broker
사용자는unzip
명령을 사용하여 아카이브를 추출합니다.su - amq-broker cd /opt/redhat unzip amq-broker-7.x.x-bin.zip
브로커가 실행 중이면 중지하십시오.
<broker_instance_dir>/bin/artemis stop
현재 사용자의 홈 디렉터리에 복사하여 브로커의 인스턴스 디렉터리를 백업합니다.
cp -r <broker_instance_dir> ~/
(선택 사항) 브로커의 현재 버전을 기록해 두십시오. 브로커가 중지되면 <
broker_instance_dir> /log/artemis.log
파일 끝에 아래와 유사한 행이 표시됩니다.INFO [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.18.0.redhat-00010 [0.0.0.0, nodeID=554cce00-63d9-11e8-9808-54ee759954c4]
<
;broker_instance_dir> /etc/artemis.profile
구성 파일을 편집합니다.아카이브를 추출할 때 생성된 새 디렉터리로
ARTEMIS_HOME
속성을 설정합니다. 예를 들면 다음과 같습니다.ARTEMIS_HOME='/opt/redhat/amq-broker-7.x.x-bin'
<
;broker_instance_dir> /etc/bootstrap.xml
구성 파일을 편집합니다.웹
요소에서 AMQ Management Console에 7.10에서 필요한.war
파일의 이름을 업데이트합니다.<web path="web"> <binding uri="https://localhost:8161" ... <app url="console" war="hawtio.war"/> ... </web>
+ broker xmlns
요소에서 스키마 값을 "http://activemq.org/schema"
에서 "http://activemq.apache.org/schema"
로 변경합니다.
+
<broker xmlns="http://activemq.apache.org/schema">
<
broker_instance_dir>/etc/management.xml
파일을 편집합니다.management-context xmlns
요소에서 스키마 값을"http://activemq.org/schema"
에서"http://activemq.apache.org/schema"
로 변경합니다.<management-context xmlns="http://activemq.apache.org/schema">
업그레이드된 브로커를 시작합니다.
<broker_instance_dir>/bin/artemis run
(선택 사항) 브로커가 실행 중이며 버전이 변경되었는지 확인합니다. 브로커를 시작한 후 <
broker_instance_dir> /log/artemis.log
파일을 엽니다. 아래와 유사한 두 행을 찾습니다. 브로커가 있을 때 로그에 표시되는 새 버전 번호를 기록해 둡니다.INFO [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Mes INFO [org.apache.activemq.artemis.core.server] AMQ221007: Server is now live ... sage Broker version 2.21.0.redhat-00025 [0.0.0.0, nodeID=554cce00-63d9-11e8-9808-54ee759954c4]
추가 리소스
- 브로커 인스턴스를 생성하는 방법에 대한 자세한 내용은 브로커 인스턴스 생성을 참조하십시오.
-
이제 broker 인스턴스 디렉터리 외부 위치를 포함하여 브로커 인스턴스의 구성 파일 및 데이터를 사용자 정의 디렉터리에 저장할 수 있습니다. <
broker_instance_dir> /etc/artemis.profile
파일에서 broker 인스턴스를 생성한 후 사용자 지정 디렉터리의 위치를 지정하여ARTEMIS_INSTANCE_ETC_URI
속성을 업데이트합니다. 이전에는 이러한 구성 파일과 데이터는 broker 인스턴스의 디렉토리 내의etc/
및data/
디렉터리에만 저장할 수 있었습니다.
2.9.2. Windows에서 7.9.x에서 7.10.x로 업그레이드
사전 요구 사항
- 최소한 AMQ Broker 7.11을 실행하려면 Java 버전 11이 필요합니다. 각 AMQ Broker 호스트가 Java 버전 11 이상을 실행하고 있는지 확인합니다. 지원되는 구성에 대한 자세한 내용은 Red Hat AMQ Broker 7 지원 구성을 참조하십시오.
-
AMQ Broker 7.9가 메시지 데이터를 데이터베이스에 저장하도록 구성된 경우 HECDHEER_EXPIRATION_TIME 열의 데이터 유형은 노드 관리자 데이터베이스 테이블의
타임 스탬프
입니다. AMQ Broker 7.11에서 열의 데이터 유형이number
로 변경되었습니다. AMQ Broker 7.11로 업그레이드하기 전에 노드 관리자 테이블을 삭제해야 합니다. 즉, 데이터베이스에서 제거해야 합니다. 테이블을 삭제한 후 업그레이드된 브로커를 다시 시작할 때 새 스키마를 사용하여 다시 생성됩니다. 공유 저장소 HA(고가용성) 구성에서 노드 관리자 테이블은 브로커 간에 공유됩니다. 따라서 테이블을 삭제하기 전에 테이블을 공유하는 모든 브로커가 중지되었는지 확인해야 합니다. 다음 예제에서는NODE_MANAGER_ECDHE라는 노드 관리자 테이블을 삭제합니다
.
DROP TABLE NODE_MANAGER_TABLE
절차
- Red Hat 고객 포털에서 원하는 아카이브를 다운로드합니다. AMQ Broker 아카이브 다운로드에 제공된 지침을 따르십시오.
- 파일 관리자를 사용하여 AMQ Broker를 마지막 설치 중에 생성한 폴더로 아카이브를 이동합니다.
- 아카이브의 콘텐츠를 추출합니다. .zip 파일을 마우스 오른쪽 버튼으로 클릭하고 압축 풀기 를 선택합니다.
브로커가 실행 중이면 중지하십시오.
<broker_instance_dir>\bin\artemis-service.exe stop
파일 관리자를 사용하여 브로커를 백업합니다.
-
<
broker_instance_dir> 폴더를 마우스
오른쪽 버튼으로 클릭하고 복사를 선택합니다. - 동일한 창을 마우스 오른쪽 버튼으로 클릭하고 Paste 를 선택합니다.
-
<
(선택 사항) 브로커의 현재 버전을 기록해 두십시오. 브로커가 중지되면 <
broker_instance_dir> \log\artemis.log
파일 끝에 아래와 유사한 행이 표시됩니다.INFO [org.apache.activemq.artemis.core.server] AMQ221002: Apache ActiveMQ Artemis Message Broker version 2.18.0.redhat-00010[4782d50d-47a2-11e7-a160-9801a793ea45] stopped, uptime 28 minutes
<
broker_instance_dir> \etc\artemis.profile.cmd
및 <broker_instance_dir> \bin\artemis-service.xml
구성 파일을 편집합니다. 아카이브를 추출할 때 생성된 새 디렉터리로ARTEMIS_HOME
속성을 설정합니다.ARTEMIS_HOME=
<install_dir>
<
;broker_instance_dir> \etc\artemis.profile.cmd
구성 파일을 편집합니다.JAVA_ARGS
환경 변수가 다음과 같이 로그 관리자 및 종속 파일에 대한 올바른 버전을 참조하는지 확인합니다.JAVA_ARGS=-Xbootclasspath/%ARTEMIS_HOME%\lib\jboss-logmanager-2.1.10.Final-redhat-00001.jar;%ARTEMIS_HOME%\lib\wildfly-common-1.5.2.Final-redhat-00002.jar
<
;broker_instance_dir> \bin\artemis-service.xml
구성 파일을 편집합니다. 부트스트랩 클래스 경로 시작 인수가 다음과 같이 로그 관리자 및 종속 파일의 올바른 버전을 참조하는지 확인합니다.<startargument>-Xbootclasspath/a:%ARTEMIS_HOME%\lib\jboss-logmanager-2.1.10.Final-redhat-00001.jar;%ARTEMIS_HOME%\lib\wildfly-common-1.5.2.Final-redhat-00002.jar</startargument>
<
;broker_instance_dir> \etc\bootstrap.xml
구성 파일을 편집합니다.웹
요소에서 AMQ Management Console에 7.10에서 필요한.war
파일의 이름을 업데이트합니다.<web path="web"> <binding uri="https://localhost:8161" ... <app url="console" war="hawtio.war"/> ... </web>
broker xmlns
요소에서 스키마 값을"http://activemq.org/schema"
에서"http://activemq.apache.org/schema"
로 변경합니다.<broker xmlns="http://activemq.apache.org/schema">
<
broker_instance_dir>/etc/management.xml
파일을 편집합니다.management-context xmlns
요소에서 스키마 값을"http://activemq.org/schema"
에서"http://activemq.apache.org/schema"
로 변경합니다.<management-context xmlns="http://activemq.apache.org/schema">
업그레이드된 브로커를 시작합니다.
<broker_instance_dir>\bin\artemis-service.exe start
(선택 사항) 브로커가 실행 중이며 버전이 변경되었는지 확인합니다. 브로커를 시작한 후 <
broker_instance_dir> \log\artemis.log
파일을 엽니다. 아래와 유사한 두 행을 찾습니다. 브로커가 있을 때 로그에 표시되는 새 버전 번호를 기록해 둡니다.INFO [org.apache.activemq.artemis.core.server] AMQ221007: Server is now live ... INFO [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.21.0.redhat-00025 [0.0.0.0, nodeID=554cce00-63d9-11e8-9808-54ee759954c4]
추가 리소스
- 브로커 인스턴스를 생성하는 방법에 대한 자세한 내용은 브로커 인스턴스 생성을 참조하십시오.
-
이제 broker 인스턴스 디렉터리 외부 위치를 포함하여 브로커 인스턴스의 구성 파일 및 데이터를 사용자 정의 디렉터리에 저장할 수 있습니다. <
broker_instance_dir> \etc\artemis.profile
파일에서 broker 인스턴스를 생성한 후 사용자 지정 디렉터리의 위치를 지정하여ARTEMIS_INSTANCE_ETC_URI
속성을 업데이트합니다. 이전에는 이러한 구성 파일과 데이터는 broker 인스턴스의 디렉토리 내의\etc
및\data
디렉터리에만 저장할 수 있었습니다.