[HADOOP] 밖에서 카프카를 연결하는 문제
HADOOP밖에서 카프카를 연결하는 문제
나는 kafka 서버에 hortonwork Sandbox를 사용하고 있습니다. Java 코드로 Eclipse에서 kafka를 연결하려고합니다. 이 구성을 사용하여 메시지를 보내려면 제작자에 연결하십시오.
metadata.broker.list=sandbox.hortonworks.com:45000
serializer.class=kafka.serializer.DefaultEncoder
zk.connect=sandbox.hortonworks.com:2181
request.required.acks=0
producer.type=sync
sandbox.hortonworks.com은 내가 연결하는 샌드 박스 이름입니다.
kafka server.properties에서이 구성을 변경했습니다.
host.name=sandbox.hortonworks.com
advertised.host.name=System IP(on which my eclipse is running)
advertised.port=45000
항구 포워딩도 했어.
이클립스에서 kafka 서버에 연결할 수 있지만 메시지를 보내는 동안 예외가 발생했습니다. 예외 "3 회 시도 후 메시지를 보내지 못했습니다."
해결법
-
==============================
1.먼저 여기에 설명 된대로 Hortonworks Sandbox VM에 대한 호스트 전용 네트워크를 구성했는지 확인하십시오.
먼저 여기에 설명 된대로 Hortonworks Sandbox VM에 대한 호스트 전용 네트워크를 구성했는지 확인하십시오.
http://hortonworks.com/community/forums/topic/use-host-only-networking-for-the-virtual-machine/
이 작업을 수행 한 후 샌드 박스 VM에 IP (예 : 192.168.56.101)가 있어야하며 SSH와 같은 호스트를 통해 연결할 수 있어야합니다.
$ ssh root@192.168.56.101
그런 다음 Ambari를 http://192.168.56.101:8080/에서 열고 Kafka 구성을
listeners=PLAINTEXT://0.0.0.0:6667 advertised.listeners=PLAINTEXT://192.168.56.101:6667
후자의 속성은 "Custom kafka-broker"섹션에 추가해야합니다 (http://hortonworks.com/community/forums/topic/ambari-alerts-how-to-change-kafka-port/ 참조).
그런 다음 Ambari를 통해 카프카를 시작 / 재시작하십시오. 이제 Hortonworks Sandbox VM 외부에서 Kafka에 액세스 할 수 있습니다. 예를 들어 샌드 박스 VM을 사용하여 샌드 박스 VM 외부에서이를 테스트 할 수 있습니다. Kafka 배포판의 Kafka 콘솔 제작자
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test $ bin/kafka-console-producer.sh --topic test --broker-list 192.168.56.101:6667
-
==============================
2.설정 tweeking 거의 일주일 후, 나는 결국 그것을 얻을. asmaier의 대답과 유사하지만 나와 같은 클라우드 서버를 사용하는 경우 : Azure Sandbox-hdp, 원격 소비자 / 제작자를 통해 pub / sub를 시도합니다.
설정 tweeking 거의 일주일 후, 나는 결국 그것을 얻을. asmaier의 대답과 유사하지만 나와 같은 클라우드 서버를 사용하는 경우 : Azure Sandbox-hdp, 원격 소비자 / 제작자를 통해 pub / sub를 시도합니다.
첫 번째 SSH를 하늘빛으로 Ambari 웹 UI 로컬 호스트 : 8080, add
listeners=PLAINTEXT://0.0.0.0:6667 advertised.listeners=PLAINTEXT://127.0.0.1:6667
터미널 루트에서 hortonwroks 명령 페이지 샌드 박스와 같은 고정 포트 포워딩 설정
vi start_scripts/start_sandbox.sh
목록에 포트 6667 추가
첫 번째 SSH를 하늘빛 플러스 터널링 6667에 넣으십시오.
다음 cmd를 작성 : 또는 귀하의 실행은 자신의 자바 / C #을 스크립트
kafka\bin\windows>kafka-console-producer --broker-list localhost:9092 --topic test
지금 당장 귀찮게하는 것은 kafka가 실제 공개 IP / Azure에 직접 메시지를 푸시 할 수있는 방법을 찾지 못하는 것입니다. 중개인을 통한 데이터 트래픽은 내부적으로 부두 내부에서만 작동 할 수 있습니다.
from https://stackoverflow.com/questions/29161313/issue-in-connecting-kafka-from-outside by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] MapReduce를 사용한 순열 (0) | 2019.07.14 |
---|---|
[HADOOP] 기상 데이터의 큰 데이터 세트를 저장하고 쿼리하는 더 나은 방법은 무엇입니까? (0) | 2019.07.14 |
[HADOOP] 사육사 오류에 대한 Hbase 연결 (0) | 2019.07.14 |
[HADOOP] spark-submit (클러스터 모드) 할 HDFS에있는 typesafe 구성 파일을 추가하는 방법은 무엇입니까? (0) | 2019.07.14 |
[HADOOP] 역순 정렬 감속기 키 (0) | 2019.07.14 |