我已经在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,我已经尝试了以下方法,但未成功。
在我的VMware设置中将网络适配器更新为“仅主机”。
通过将端口号添加到“ 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
但是,当我在笔记本电脑上打开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
我还尝试使用具有以下凭据的“ Putty”在沙箱上进行“记录”和“远程登录”:root@192.179.144.XXX和端口:6667。我收到以下错误消息:
< / p>
Network Error: software caused connection abort
在沙箱中,我运行以下命令来检查端口是否在沙箱内打开。我不知道输出的意思。
[root@sandbox ~]# netstat -tnlpa | grep 6667
[root@sandbox ~]#
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”错误。)
在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)?
答案 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容器