3.2. 다중 노드 Kafka 클러스터 실행
Kafka를 다중 노드 클러스터로 구성하고 실행합니다.
사전 요구 사항
- AMQ Streams는 Kafka 브로커로 사용할 모든 호스트에 설치됩니다.
- Zoo Cryostat 클러스터가 구성되어 실행 중입니다.
클러스터 실행
AMQ Streams 클러스터의 각 Kafka 브로커에 대해 다음을 수행합니다.
다음과 같이
/opt/kafka/config/server.properties
Kafka 구성 파일을 편집합니다.-
첫 번째 브로커의 경우
broker.id
필드를0
으로, 두 번째 브로커의 경우1
을 0으로 설정합니다. -
Zookeeper
.connect 옵션에서 Zoo Cryostat에 연결하기 위한
세부 정보를 구성합니다. - Kafka 리스너를 구성합니다.
커밋 로그를
logs.dir
디렉터리에 저장해야 하는 디렉터리를 설정합니다.여기에서 Kafka 브로커의 구성 예가 표시됩니다.
broker.id=0 zookeeper.connect=zoo1.my-domain.com:2181,zoo2.my-domain.com:2181,zoo3.my-domain.com:2181 listeners=REPLICATION://:9091,PLAINTEXT://:9092 listener.security.protocol.map=PLAINTEXT:PLAINTEXT,REPLICATION:PLAINTEXT inter.broker.listener.name=REPLICATION log.dirs=/var/lib/kafka
각 Kafka 브로커가 동일한 하드웨어에서 실행되는 일반적인 설치에서는
broker.id
구성 속성만 각 브로커 구성마다 다릅니다.
-
첫 번째 브로커의 경우
기본 구성 파일을 사용하여 Kafka 브로커를 시작합니다.
su - kafka /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
Kafka 브로커가 실행 중인지 확인합니다.
jcmd | grep Kafka
반환:
number kafka.Kafka /opt/kafka/config/server.properties
ncat
유틸리티를 사용하여dump
명령을 Zoo Cryostat 노드 중 하나로 전송하여 모든 노드가 Kafka 클러스터의 멤버인지 확인합니다.ncat 덤프를 사용하여 Zoo Cryostat에 등록된 모든 Kafka 브로커를 확인합니다.
echo dump | ncat zoo1.my-domain.com 2181
dump
와 같은 4자 단어 명령을 사용하려면zookeeper.properties
에서4lw.commands.whitelist=*
를 지정해야 합니다.출력에 방금 구성하고 시작한 모든 Kafka 브로커가 포함되어야 합니다.
3개의 노드가 있는 Kafka 클러스터의 ncat 명령의 출력 예
SessionTracker dump: org.apache.zookeeper.server.quorum.LearnerSessionTracker@28848ab9 ephemeral nodes dump: Sessions with Ephemerals (3): 0x20000015dd00000: /brokers/ids/1 0x10000015dc70000: /controller /brokers/ids/0 0x10000015dc70001: /brokers/ids/2