4.2. 다중 노드 Kafka 클러스터 실행
Kafka를 다중 노드 클러스터로 구성하고 실행합니다.
사전 요구 사항
- Apache Kafka의 스트림 은 각 호스트에 설치되고 구성 파일을 사용할 수 있습니다.
- Zoo Cryostat 클러스터가 구성되어 실행 중입니다.
클러스터 실행
Apache Kafka 클러스터용 Streams의 각 Kafka 브로커에 대해 다음을 수행합니다.
다음과 같이
/opt/kafka/config/server.propertiesKafka 구성 파일을 편집합니다.-
첫 번째 브로커의 경우
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.propertiesKafka 브로커가 실행 중인지 확인합니다.
jcmd | grep Kafka반환:
process ID kafka.Kafka /opt/kafka/config/server.propertiesncat유틸리티를 사용하여dump명령을 Zoo Cryostat 노드 중 하나로 전송하여 모든 노드가 Kafka 클러스터의 멤버인지 확인합니다.ncat 덤프를 사용하여 Zoo Cryostat에 등록된 모든 Kafka 브로커를 확인합니다.
echo dump | ncat zoo1.my-domain.com 2181dump와 같은 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