Sun Java System Message Queue 3.7 UR1 관리 설명서

클러스터 관리

이 절에서는 브로커 집합을 연결하여 클러스터를 형성하고 기존 클러스터에 새 브로커를 추가하고 클러스터에서 브로커를 제거하는 방법에 대해 설명합니다.

브로커 연결

일반적으로 명령줄에서 (-cluster 옵션 사용) 또는 클러스터 구성 파일에서 imq.cluster.brokerlist 등록 정보를 설정하는 두 가지 방법으로 클러스터에 브로커를 연결할 수 있습니다. 사용하는 방법에 관계없이 시작한 각 브로커는 5분마다 다른 브로커에 연결하려고 시도합니다. 이 때 마스터 브로커(구성되어 있는 경우)가 시작되면 연결에 성공한 것입니다. 클러스터의 브로커가 마스터 브로커보다 먼저 시작된 경우 일시 중지된 상태를 유지하여 클라이언트 연결을 거부합니다. 일시 중지된 브로커는 마스터 브로커가 시작되면 자동으로 다시 작동합니다.

명령줄에서 브로커 클러스터를 구성하려면 -cluster 옵션을 imqbrokerd 명령에 사용하여 클러스터 내의 전체 브로커 목록을 지정합니다. 예를 들어, 다음 명령은 새 브로커를 시작하여 host1의 기본 포트(7676), host25000 포트 및 기본 호스트(localhost)의 9876 포트에서 실행하는 브로커에 연결합니다.

imqbrokerd -cluster host1,host2:5000,:9876

대체 방법으로 imq.cluster.brokerlist 등록 정보를 사용하여 연결할 브로커 목록을 지정하는 클러스터 구성 파일을 만들 수 있습니다. 이 방법은 작업 시스템에 더 적합한 방법입니다. 그런 다음 클러스터의 각 브로커에서 이 클러스터 구성 파일을 가리키도록 자체 imq.cluster.url 등록 정보를 설정해야 합니다.

사용하는 방법에 관계없이 네트워크 루프백 IP 주소(127.0.0.1)로 확인되는 주소가 클러스터의 브로커에 지정되지 않아야 합니다. 이 주소로 구성된 브로커는 클러스터의 다른 브로커에 연결할 수 없습니다.


주 –

일부 Linux 설치 프로그램은 localhost 항목을 네트워크 루프백 주소로 자동으로 설정합니다. 그러한 시스템에서 사용자는 클러스터의 모든 브로커 주소가 제대로 지정될 수 있도록 시스템 IP 주소를 수정해야 합니다.

클러스터에 참여하는 모든 Linux 시스템의 경우 클러스터 설정 과정의 일부로 /etc/hosts 파일을 확인합니다. 시스템에서 정적 IP 주소를 사용하는 경우 /etc/hosts 파일을 편집하여 올바른 localhost 주소를 지정합니다. 주소가 DNS(Domain Name Service)에 등록되면 /etc/nsswitch.conf 파일을 편집하여 로컬 hosts 파일을 참조하기 전에 DNS 조회를 수행하도록 항목의 순서를 변경합니다. /etc/nsswitch.conf의 행은 다음과 같아야 합니다.

hosts:dns files

클러스터 내의 브로커 간에 암호화된 보안 메시지를 전달하려면 SSL 기반 전송 프로토콜을 사용하도록 cluster 연결 서비스를 구성합니다. 메시지 암호화에 설명된 것처럼 클러스터 내의 각 브로커에 대해 SSL 기반 연결 서비스를 설정합니다. 그런 다음 클러스터 구성 파일에서 또는 브로커별로 개별적으로 각 브로커의 imq.cluster.transport 등록 정보를 ssl로 설정합니다.

클러스터에 브로커 추가

클러스터에 새 브로커를 추가하는 절차는 클러스터가 클러스터 구성 파일을 사용하는지 여부에 따라 달라집니다.

Procedure클러스터 구성 파일을 사용하여 클러스터에 새 브로커를 추가하는 방법

  1. 클러스터 구성 파일의 imq.cluster.brokerlist 등록 정보에 새 브로커를 추가합니다.

  2. 클러스터의 브로커에 대해 다음 명령을 실행합니다.


    imqcmd reload cls

    이 명령은 각 브로커가 클러스터 구성을 다시 로드하게 하여 클러스터에 있는 브로커의 모든 영구 정보를 최신 상태로 유지합니다. 클러스터의 모든 브로커에 대해 이 명령을 실행할 필요는 없습니다. 한 브로커에 대해 명령을 실행하면 모든 브로커에서 클러스터 구성이 다시 로드됩니다.

  3. (선택 사항) 클러스터 구성 파일을 가리키도록 브로커의 config.properties 파일에서 imq.cluster.url 등록 정보 값을 설정합니다.

  4. 새 브로커를 시작합니다.

    클러스터에 브로커 추가를 수행하지 않은 경우 imqbrokerd 명령줄에서 -D 옵션을 사용하여 imq.cluster.url 값을 설정합니다.

클러스터 구성 파일을 사용하지 않고 클러스터에 새 브로커를 추가하는 방법

config.properties 파일을 편집하거나 imqbrokerd 명령줄에서 -D 옵션을 사용하여 다음 등록 정보 값을 설정합니다.

클러스터에서 브로커 제거

클러스터에서 브로커를 제거하는 데 사용하는 방법은 처음에 클러스터를 만들 때 명령줄을 사용했는지 중앙 클러스터 구성 파일을 사용했는지에 따라 달라집니다.

명령줄을 사용하여 브로커 제거

명령줄에서 imqbrokerd 명령을 사용하여 클러스터에 브로커를 연결한 경우 명령줄에서 새 클러스터 구성원 집합을 지정하여 각 브로커를 중지한 다음 다시 시작해야 합니다. 절차는 다음과 같습니다.

Procedure명령줄을 사용하여 클러스터에서 브로커를 제거하는 방법

  1. imqcmd 명령을 사용하여 클러스터에서 각 브로커를 중지합니다.

  2. imqbrokerd 명령의 -cluster 옵션을 사용하여 남아 있는 브로커만 지정하여 클러스터에서 해당 브로커를 다시 시작합니다.

    예를 들어, 처음에 다음 명령을 사용하여 A, B, C 브로커 각각을 시작하여 세 개의 브로커로 구성된 클러스터를 만들었다고 가정합니다.


    imqbrokerd -cluster A,B,
    C
    

    클러스터에서 A 브로커를 제거하려면 다음 명령을 사용하여 BC 브로커를 다시 시작합니다.


    imqbrokerd -cluster B,C
    

클러스터 구성 파일을 사용하여 브로커 제거

처음에 중앙 클러스터 구성 파일의 imq.cluster.brokerlist 등록 정보를 사용하여 구성원 브로커를 지정해 클러스터를 만든 경우 브로커 중 하나를 제거하기 위해 브로커를 중지할 필요가 없습니다. 대신 구성 파일을 편집하여 제거할 브로커를 제외시키고 나머지 클러스터 구성원이 클러스터 구성을 다시 로드하게 한 다음 제외된 브로커가 해당 클러스터 구성 파일을 더 이상 가리키지 않도록 다시 구성하기만 하면 됩니다. 절차는 다음과 같습니다.

Procedure클러스터 구성 파일을 사용하여 클러스터에서 브로커를 제거하는 방법

  1. 클러스터 구성 파일을 편집하여 imq.cluster.brokerlist 등록 정보에 지정된 목록에서 제외된 브로커를 제거합니다.

  2. 클러스터에 남아 있는 각 브로커에 대해 다음 명령을 실행합니다.


    imqcmd reload cls

    이렇게 하면 브로커가 클러스터 구성을 다시 로드합니다.

  3. 클러스터에서 제거할 브로커를 중지합니다.

  4. 해당 브로커의 config.properties 파일을 편집하여 imq.cluster.url 등록 정보에 대한 값을 제거하거나 다른 값을 지정합니다.