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디렉터리에만 저장할 수 있었습니다.