无法从端口6667上的Windows主机连接到Hortonworks沙盒(HDP 2.6)上的Kafka Broker

时间:2018-12-07 19:46:31

标签: java apache-kafka port hortonworks-sandbox

我已经在Windows 10笔记本电脑上下载了Hortonworks Sandbox(IP:192.179.144.XXX)。我在VMWare上运行了HDP沙箱。

以下是我的沙盒信息:

Created on: 19_04_2017_19_09_16 for 
Hadoop stack version:  Hadoop 2.7.3.2.6.0.3-8 
Ambari Version: 2.5.0.5-1 
Ambari Hash: 0b5e975972e7a0b265e87b2e38eefde9039ef44c 
Ambari build:  Release : 1 
Java version:  1.8.0_121 
OS Version:  CentOS release 6.9 (Final)</code>

我的目标是能够基于Windows主机从Java IntelliJ SDK连接到Kafka(HDP沙箱)。

到目前为止,为了通过Java和/或Kafka工具1.0从主机访问HDP Kafka,我已经尝试了以下方法,但未成功。

  1. 在我的VMware设置中将网络适配器更新为“仅主机”。

  2. 通过将端口号添加到“ start_sandbox.sh”文件中来打开Kafka代理,端口号6667。利用以下文章:http://tlxu.blogspot.com/2016/12/add-ports-mapping-to-hdp-25-vmware.html

    2.1 Below are the steps taken to "open" the port 6667 - 2.1.1) login to the Sandbox VM (actual docker container) 2.1.2) Disable sandbox.service: $ systemctl disable sandbox.service 2.1.3) Reboot the VM: $ init 6 2.1.4) Modify sandbox start script: $ vi /root/start_scripts/start_sandbox.sh 2.1.5) Added "-p 6667:6667 \" after "-p 2222:22 \" 2.1.6) save and exit. 2.1.7) Delete existing sandbox container: $ docker rm sandbox 2.1.8) Enable sandbox.service: systemctl enable sandbox.service 2.1.9) Reboot the VM: $ init 6 2.1.10) Verify new ports: $ docker ps | grep 6667 2.1.11) Received the following output - 0.0.0.0:6667->6667/tcp

  3. 但是,当我在笔记本电脑上打开Chrome并尝试连接到http://192.179.144.XXX:6667时,出现以下错误:

    This site can’t be reached The webpage at http://192.179.144.XXX:6667/ might be temporarily down or it may have moved permanently to a web address. ERR_UNSAFE_PORT

  4. 我还尝试使用具有以下凭据的“ Putty”在沙箱上进行“记录”和“远程登录”:root@192.179.144.XXX和端口:6667。我收到以下错误消息:
    < / p>

    Network Error: software caused connection abort

  5. 在沙箱中,我运行以下命令来检查端口是否在沙箱内打开。我不知道输出的意思。

    [root@sandbox ~]# netstat -tnlpa | grep 6667 [root@sandbox ~]#

  6. Ambari的“ Kafka Broker”部分中的Kafka属性具有以下属性:

    Kafka broker host: sandbox.hortonworks.com zookeeper.connect: sandbox.hortonworks.com:2181 listeners: PLAINTEXT://localhost:6667

    (请注意:我还尝试将“ localhost”更改为“ 0.0.0.0”,并且我的kafka-console-consumer和kafka-console-produer失败。收到“ LEADER_NOT_AVAILABLE”错误。)

  7. 在Ambari的Kafka属性中,我以管理员身份登录并将以下属性添加到“自定义Kafka-经纪人”

    advertised.port=6667 advertised.listeners=PLAINTEXT://sandbox.hortonworks.com:6667 advertised.host.name=192.179.144.XXX

我无法前进,如果有人可以提供帮助,我将不胜感激:

1.)我的港口开放吗?如果没有,我该如何打开端口?
2.)我需要对Kafka设置进行任何其他更改,以使Windows上的Java IDE可以连接到Kafka(取决于问题#1)?

1 个答案:

答案 0 :(得分:0)

Kafka不是HTTP服务。 Chrome或浏览器将无法连接。

Kafka不是SSH程序。腻子或其他将被连接。

您需要使用kafka-console-*工具从Windows验证连接


listeners: PLAINTEXT://localhost:6667

Kafka应该在沙盒外部监听以下内容

 listeners: PLAINTEXT://:6667

然后,我不了解“仅主机”或NAT设置,但是如果在VM设置中设置端口转发,则无需触摸这些设置。


advertised.host.name

不需要在Ambari中进行更改,但是如果您进行了更改,则将其设置为沙箱主机名


如果您不需要Hadoop和HDP中的所有其他内容,建议您使用HDF沙箱,或者仅使用Docker for Windows并在DockerHub上使用Kafka容器