kafka启动报错:java.net.UnknownHostException|unknown-error-at-java.net.Inet6AddressImpl.lookupAllHost-很详细
作者:快盘下载 人气:前言
初步学习kafka时;稍不注意就会发生这个错误;如下图所示
究其原因;
默认情况下;需要进入Kafka解压目录;修改/config/server.properties文件中的监听地址。
默认这个监听地址是没有被放开的;另外也需要单独进入/etc/hosts;配置Ip 与kafka监听别名的映射关系。
直接上图文;更能说明问题。
特别提示;启动kafka前;请务必先启动Zookeeper的server服务;
尾部扩展;会有说明;
一、解决步骤
1、编辑/etc/hosts文件;做IP与kafka监听别名的映射
vim /etc/hosts
注意;
1、配置的这个IP是部署kafka这台虚拟机Linux系统的IP地址;可以通过命令ifconfig获得;
2、kafkahost仅仅是个别名;含义等同于上面的localhost;下面会用到。
2、编辑kafka/conf/server.properties的监听
进入kafka的解压目录;编辑里面的配置文件
vim /usr/src/kafka_2.13-3.3.1/config/server.properties
操作提示;
打开后;找到Socket Server Settings这一块代码
然后鼠标光标移动到 “#listeners=PLAINTEXT://:9092”这一行;简谱按1yy;复制这一行的意思;;然后光标移动到行尾;按回车键;然后按字母p;复制一行
并编辑为;#listeners=PLAINTEXT://kafkahost:9092
最后;按Esc 后 输入;wq ;保存并退出。
注;可以看到;在上一步骤中虚拟IP的别名kafkahost;在这里用上了;
2、进入物理机(windows宿主机);编辑host
该文件是在C盘下;windows/system32/driver/etc/hosts
用记事本打开hosts文件;尾部追加 “192.168.31.128 kafkahost”后;保存并关闭。
注;kafkahost 这个是自定义的名字;需要同虚拟中的配置是同一个名字。
目的;让物理机上的项目能够愉快的和虚拟中的kafka交互。
4、验证kafka是否启动成功
# ./bin/kafka-server-start.sh -daemon ./config/server.properties
# jps
17844 Kafka
4294 QuorumPeerMain
42026 Kafka
42266 Jps
二、关于zookeeper的延伸
首先;如果你对zk的安装、启动、部署;不太了解的话;可点击进入;总结的很详细;;
1、比较好奇;为什么要先启动zk;然后在启动kafka
简而言之;kafka的运行依赖zk服务的启动。
具体;可以进入kafka的解压目录的/conf/目录下;查看server.properties文件内容。
cd /usr/src/kafka_2.13-3.3.1/config/ && ls
vi server.properties
可以明显的看到;kafka的server.properties服务启动的配置文件中;配置的是有zk服务的相关信息的;默认连接的是localhost:2181这个服务。
显而易见;如果不事先启动zk;那么kafka也是独木难支的;;
尾言
问题解决起来并不是很难;难的是知其然;然后知其所以然。
这些小问题;都是一些小细节;然而一些教程中;主要讲述主干;忽略了部分细节;导致在学习的时候;走几步就会踏一个坑;
入坑是我快乐;入坑使我印象深刻;加油;
如果你觉得还不错;可以点赞收藏哦;^_^
加载全部内容