解决方法:
1.百度的一种方法,但是本人试了没有用,可能虽然报错一样,但是错误情况不一样,所以不行。
【后期新发现,如果不配置下面这两句,则其它服务器用不了kafka,telnet 10.123.123.123 9092
会显示connection refused,所以这两句还是得配的。】
https://blog.csdn.net/qq_29302609/article/details/99888082
修改配置文件为:
listeners=PLAINTEXT://10.123.123.123:9092
advertised.listeners=PLAINTEXT://222.222.222.222:9092
其中,10.123.123.123是kafka所在服务器的内网ip;
222.222.222.222是kafka所在服务器的外网ip。
----------
2.检查发现,是由于只启动了kafka,没有启动zookeeper导致java报这个错,启动后就好了。
附kafka与zookeeper启动命令:
(1)zookeeper启动命令:
sudo nohup ./bin/zookeeper-server-start.sh config/zookeeper.properties > /dev/null 2>&1 &
(2)kafka启动命令:
sudo nohup ./bin/kafka-server-start.sh config/server.properties > /dev/null 2>&1 &
文件所在路径要根据位置不同灵活修改。
----------
3.其它命令
(1)关闭kafka与zookeeper或其它进程:
sudo ps -ef | grep kafka
sudo ps -ef | grep zookeeper
找到进程号后,使用kill命令关闭。
sudo kill -9 12345
(2)chmod递归赋予文件夹及其中所有文件权限
sudo chmod -R 777 /data/
可以赋予根目录下data文件夹中所有文件777权限。