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.10.x를 실행하려면 Java 버전 11이 필요합니다. 각 AMQ Broker 호스트가 Java 버전 11 이상을 실행하고 있는지 확인합니다. 지원되는 구성에 대한 자세한 내용은 Red Hat AMQ Broker 7 지원 구성을 참조하십시오.
-
AMQ Broker 7.9가 데이터베이스의 메시지 데이터를 유지하도록 구성된 경우 HOLDER_EXPIRATION_TIME 열의 데이터 유형은 노드 관리자 데이터베이스 테이블의
타임스탬프
입니다. AMQ Broker 7.10에서 열의 데이터 유형이숫자로
변경되었습니다. AMQ Broker 7.10.x로 업그레이드하기 전에 노드 관리자 테이블을 삭제해야 합니다. 즉, 데이터베이스에서 노드 관리자 테이블을 삭제해야 합니다. 테이블을 삭제한 후 업그레이드된 브로커를 다시 시작할 때 새 스키마를 사용하여 테이블을 다시 생성합니다. 공유 저장소 HA(고가용성) 구성에서 노드 관리자 테이블이 브로커 간에 공유됩니다. 따라서 테이블을 삭제하기 전에 테이블을 공유하는 모든 브로커가 중지되었는지 확인해야 합니다. 다음 예제에서는NODE_MANAGER_
Cryostat라는 노드 관리자 테이블을 삭제합니다.
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
구성 파일을 편집합니다.웹
요소에서 7.10.x의 AMQ 관리 콘솔에 필요한.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_instance_dir> /etc/artemis.profile
파일에서 브로커 인스턴스를 생성한 후 사용자 지정 디렉터리의 위치를 지정하여ARTEMIS_INSTANCE_ETC_URI
속성을 업데이트합니다. 이전에는 이러한 구성 파일과 데이터는 브로커 인스턴스의 디렉터리 내의etc/
및data/
디렉터리에만 저장할 수 있었습니다.
2.9.2. Windows에서 7.9.x에서 7.10.x로 업그레이드
사전 요구 사항
- 최소한 AMQ Broker 7.10.x를 실행하려면 Java 버전 11이 필요합니다. 각 AMQ Broker 호스트가 Java 버전 11 이상을 실행하고 있는지 확인합니다. 지원되는 구성에 대한 자세한 내용은 Red Hat AMQ Broker 7 지원 구성을 참조하십시오.
-
AMQ Broker 7.9가 데이터베이스의 메시지 데이터를 유지하도록 구성된 경우 HOLDER_EXPIRATION_TIME 열의 데이터 유형은 노드 관리자 데이터베이스 테이블의
타임스탬프
입니다. AMQ Broker 7.10에서 열의 데이터 유형이숫자로
변경되었습니다. AMQ Broker 7.10.x로 업그레이드하기 전에 노드 관리자 테이블을 삭제해야 합니다. 즉, 데이터베이스에서 노드 관리자 테이블을 삭제해야 합니다. 테이블을 삭제한 후 업그레이드된 브로커를 다시 시작할 때 새 스키마를 사용하여 테이블을 다시 생성합니다. 공유 저장소 HA(고가용성) 구성에서 노드 관리자 테이블이 브로커 간에 공유됩니다. 따라서 테이블을 삭제하기 전에 테이블을 공유하는 모든 브로커가 중지되었는지 확인해야 합니다. 다음 예제에서는NODE_MANAGER_
Cryostat라는 노드 관리자 테이블을 삭제합니다.
DROP TABLE NODE_MANAGER_TABLE
프로세스
- Red Hat 고객 포털에서 원하는 아카이브를 다운로드합니다. AMQ Broker 아카이브 다운로드에 제공된 지침을 따르십시오.
- 파일 관리자를 사용하여 AMQ Broker 마지막 설치 중에 생성한 폴더로 아카이브를 이동합니다.
- 아카이브 내용을 추출합니다. .zip 파일을 마우스 오른쪽 버튼으로 클릭하고 Extract All 을 선택합니다.
브로커가 실행 중인 경우 중지합니다.
<broker_instance_dir>\bin\artemis-service.exe stop
파일 관리자를 사용하여 브로커를 백업합니다.
-
<
broker_instance_dir> 폴더를 마우스
오른쪽 버튼으로 클릭하고 Copy 를 선택합니다. - 동일한 창에서 마우스 오른쪽 버튼으로 클릭하고 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
구성 파일을 편집합니다. 다음과 같이 부트스트랩 클래스 경로 start 인수가 로그 관리자 및 종속 파일에 대한 올바른 버전을 참조하는지 확인합니다.<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
구성 파일을 편집합니다.웹
요소에서 7.10.x의 AMQ 관리 콘솔에 필요한.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_instance_dir> \etc\artemis.profile
파일에서 브로커 인스턴스를 생성한 후 사용자 지정 디렉터리의 위치를 지정하여ARTEMIS_INSTANCE_ETC_URI
속성을 업데이트합니다. 이전에는 이러한 구성 파일과 데이터는 브로커 인스턴스의 디렉터리 내의\etc
및\data
디렉터리에만 저장할 수 있었습니다.