学习技术,提升自己
安装kafka
1.官网找到压缩包,下载并上传到虚拟机内(没钱买不起服务器)
2.执行解压缩命令
tar -zxvf kafka_2.11-2.1.0.tgz
3.进入到kafka_2.11-2.1.0/config目录里,执行图片中的命令,将zookeeper.properties中的信息筛选出来并将筛选出来的数据给一个新建的文件zk.properties
cat zookeeper.properties | grep -v '#' >> zk.properties
4.由于kafka里自带zookeeper,所以vi zk.properties这个文件,修改dataDir,将来zookeeper的信息都记录在这个文件夹下dataDir=/usr/local/test2/zk/
(具体文件夹视自己来定)
5.携带新建的配置启动zookeeper,要在该/home/hadoop/opt/kafka_2.11-1.1.0目录下启动
./bin/zookeeper-server-start.sh config/zk.properties
6.新打开一个连接窗口,运行命令jps,可以看到zookeeper已经起来了
这个东西就是zookeeper的进程
7.启动broker(kafka)
进入该目录/home/hadoop/opt/kafka_2.11-1.1.0/config,和上面一样,将一个文件的数据重定向到另一个新目录,将带有#注释的代码去掉
----------------------------以下内容作废-----------------------------------------------------------------------------------
cat server.properties | grep -v '#' >>kafka1.properties
---------------------------到这里作废----------------------------------------------------------------------------------------
修改配置文件
加入
advertised.host.name=IP地址
然后启动kafka,要在bin目录下,和上面一样
./bin/kafka-server-start.sh config/server.properties
启动了后,再次打开一个新的连接窗口,jps一下,就会发现启动了一个名叫Kafka的进程,说明我们已经启动成功了
查看kafka中的topic数
./bin/kafka-topics.sh --list --zookeeper localhost:2181
到这里,kafka已经可以启动了,但是其中会遇到不少问题,接下来我列出我遇到的
1. java.net.UnknownHostException: MiWiFi-R3-srv: MiWiFi-R3-srv: unknown error
这个问题是在启动kafka时遇到的
这个 MiWiFi-R3-srv 是虚拟机的名字,不知道为啥没有识别IP,识别了名字,很烦哦
解决方法:
vim /etc/hosts
添加 192.168.1.89 MiWiFi-R3-srv 192.168.1.89 这句话,也就是将你虚拟机的IP填入
保存退出,启动kafka,即可(原理不知道,待以后知道再填上)
2. Initiating connection to node 0 at MiWiFi-R3-srv:9092. Error connecting to node 0 at MiWiFi-R3-srv:9092: java.io.IOException: Can't resolve address: MiWiFi-R3-srv:9092
如图所示,这个错误是在项目启动连接kafka时报的,此时项目需要调整日志等级为debug才能看到
这个问题原因我也不清楚
解决方法还是
vim /etc/hosts
添加虚拟机IP
192.168.1.89 192.168.1.89
之后再启动项目
可以看到成功了,关于springboot 连接kafka可以自行百度,这里不再多说,如有疑问,可以提出
3.又发现个问题,切换网络后,centeros的主机名会改变导致连不上kafka
需要vim /etc/sysconfig/network
然后将HOSTNAME这个参数固定死,之后
hostname MiWiFi-R3-srv
使名称生效,然后重启centeros,发现改过来了