2017-12-28 18 views
0

문제는 제작자 스크립트를 통해 클러스터의 모든 브로커에 메시지를 보낼 수 없다는 것입니다.Vagrant의 Kafka 클러스터 (ZK, BR, BR, BR)가 연결을 설정할 수 없습니다.

설치 프로그램은 ip (192.168.10.2:2181)에서 기본 설정으로 실행되는 단일 사육사 서버입니다.

또한, (192.168.10.101:9092,192.168.10.102:9092,192.168.10.103:9092)에서 실행중인 3 개의 브로커가 있습니다.

브로커를 회전시킨 후 나는 사육사 쉘에 3 브로커가 연결되어 있음을 볼 수 있습니다.

vagrant ssh zookeeper-1 
kafka/bin/zookeeper-shell.sh 192.168.10.2:2181 
ls /brokers/ids 

출력 :

가 사육사에 192.168.10.2:2181에 오신 것을 환영에 연결! SyncConnected 유형 : 없음 경로 : 널 (null) LS/브로커/IDS [3, 2, 1] 이제

내가 복제 항목을 만들 수 있습니다

kafka/bin/kafka-topics.sh --create --zookeeper 192.168.10.2:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic 
JLine 지원이 비활성화 WATCHER :: WatchedEvent 상태입니다

는 그 후 나는 항목이 생성되었는지 확인 :

kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.10.2:2181 --topic my-replicated-topic 

출력 :

주제 : 내-복제 주제의 PartitionCount : 1 ReplicationFactor : 3 CONFIGS : 주제 : 내-복제 주제 파티션 : 0 리더 : 3 복제본 : 3,1,2 ISR : 3,1,2

내가 프로듀서를 통해 메시지를 보내 지금하려고하면 :

kafka/bin/kafka-console-producer.sh --broker-list 192.168.10.101:9092,192.168.10.102:9092,192.168.10.103:9092 --topic my-replicated-topic 

[2017년 12월 28일 13 : 53 : 30,530] WARN [프로듀서 된 ClientID = conso le-producer] 노드 -3에 연결할 수 없습니다. 브로커는 일 수 없습니다. (org.apache.kafka.clients.NetworkClient) [2017-12-28 13 : 53 : 30,536] WARN [Producer clientId = console-producer] 노드 -2에 대한 연결을 설정할 수 없습니다. 브로커를 사용할 수 없습니다. (org.apache.kafka.clients.NetworkClient) [2017-12-28 13 : 53 : 30,539] WARN [Producer clientId = console-producer] 노드 -1에 대한 연결은 이 될 수 없습니다. 브로커를 사용할 수 없습니다. 나는 브로커 상자 중 하나에서 메시지를 보내려고하면 (org.apache.kafka.clients.NetworkClient)는 같은

발생합니다. https://github.com/0xBADBAC0N/kafka-vagrant-games

나는 기본적으로 시간 동안 지금 봤 여기 사람이 어쩌면 지금 그 문제를 해결하는 방법을 희망 : 당신이 내 문제를 재현 할 수 있도록

나는 여기에 Vagrantfile + 스크립트를 업로드했습니다.나는 내가보기에는 실패한 구성 설정 일 뿐이라고 생각합니다.

+0

스택 오버플로는 프로그래밍 및 개발 관련 질문에 대한 사이트입니다. 이 질문은 프로그래밍이나 개발이 아니기 때문에 주제와는 거리가 먼 것처럼 보입니다. 도움말 센터에서 [여기에서 내가 질문 할 수있는 항목은 무엇입니까?] (http://stackoverflow.com/help/on-topic)를 참조하십시오. 아마도 [Super User] (http://superuser.com/) 나 [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/)가 더 나은 곳이 될 것입니다. – jww

+1

@jww 귀하의 제안을보고 나서 동의합니다. 카프카를 파고 들자 나는 해결책을 찾았습니다. 브로커는 자신의 주소를 알아야 할지라도 ''청취자 = PLAINTEXT : // "$ BROKER_IP": 9092 " '로 자신의 설정에서 정의해야합니다. 이 모든 문제가 해결되었습니다. :) – user3614590

답변

-1

브로커는 자신의 주소를 알아야 할지라도 ''listers = PLAINTEXT : // "$ BROKER_IP": 9092 " '로 자신의 설정에서 정의해야합니다.

+0

올바른 해결책이 아닌 경우 downvote를 설명하고 더 나은 방법을 설명하십시오. 어떤 코멘트도없이 downvote는 여기에 무의미합니다 ... – user3614590