kafka启动报错:java.net.UnknownHostException|unknown error at java.net.Inet6AddressImpl.lookupAllHost 很详细

前言

初步学习kafka时,稍不注意就会发生这个错误,如下图所示

kafka启动报错:java.net.UnknownHostException|unknown error at java.net.Inet6AddressImpl.lookupAllHost 很详细_第1张图片

究其原因:

默认情况下,需要进入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

 kafka启动报错:java.net.UnknownHostException|unknown error at java.net.Inet6AddressImpl.lookupAllHost 很详细_第2张图片

操作提示:

打开后,找到Socket Server Settings这一块代码
然后鼠标光标移动到#listeners=PLAINTEXT://:9092”这一行,键盘按1yy(复制这一行的意思),然后光标移动到行尾,按回车键,然后按字母p,复制一行
并编辑为:#listeners=PLAINTEXT://kafkahost:9092
最后,按Esc 后 输入:wq ,保存并退出。

注:可以看到,在上一步骤中虚拟IP的别名kafkahost,在这里用上了!

3、进入物理机(windows宿主机),编辑host

该文件是在C盘下:windows/system32/driver/etc/hosts

kafka启动报错:java.net.UnknownHostException|unknown error at java.net.Inet6AddressImpl.lookupAllHost 很详细_第3张图片

用记事本打开hosts文件,尾部追加 “192.168.31.128 kafkahost”后,保存并关闭。

注:kafkahost 这个是自定义的名字,需要同虚拟中的配置是同一个名字(IP是通过ifconfig获得的)。

kafka启动报错:java.net.UnknownHostException|unknown error at java.net.Inet6AddressImpl.lookupAllHost 很详细_第4张图片

目的:让物理机上的项目能够愉快的和虚拟中的kafka交互。

4、验证kafka是否启动成功

#  ./bin/kafka-server-start.sh -daemon ./config/server.properties 
# jps
17844 Kafka
4294 QuorumPeerMain
42026 Kafka
42266 Jps

kafka启动报错:java.net.UnknownHostException|unknown error at java.net.Inet6AddressImpl.lookupAllHost 很详细_第5张图片

PS:查看kafka是否正常启动的三种方式,感兴趣的话,点击进入。

二、关于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启动报错:java.net.UnknownHostException|unknown error at java.net.Inet6AddressImpl.lookupAllHost 很详细_第6张图片

可以明显的看到,kafka的server.properties服务启动的配置文件中,配置的是有zk服务的相关信息的,默认连接的是localhost:2181这个服务。

显而易见,如果不事先启动zk,那么kafka也是独木难支的!! 

尾言

问题解决起来并不是很难,难的是知其然,然后知其所以然。

这些小问题,都是一些小细节,然而一些教程中,主要讲述主干,忽略了部分细节,导致在学习的时候,走几步就会踏一个坑!

入坑是我快乐,入坑使我印象深刻,加油!如果你觉得还不错,可以点赞收藏哦,^_^ 

附注

1、Kafka锦集查看kafka是否成功启动的三种方式

你可能感兴趣的:(#,Kafka,kafka,java,分布式)