Kafka安装配置(本文为在 linux 环境下安装配置Kafka)
- 在官网下载好kafka的安装包(linux和windows环境下都是同一个)
- 将文件直接上传到linux下的/opt/software/目录下(可以通过xftp或者直接拖拽)
- 解压到/opt/module/目录下:解压命令:tar -zxvf kafka_2.13-3.1.0.tgz -C /opt/module/ 解压并安装到指定的目录下
- 可以将文件名修改为kafka(也可以不进行修改) 命令:mv kafka_2.13-3.1.0/ kafka
- 接下来就是进行配置:先进入到 config 目录下,配置server.properties
使用命令 vim server.properties进入到该配置文件
1)broker.id=0是kafka集群身份的唯一标识,切记不能重复,这里不搭建集群,所以不用修改。
2)log.dirs=/tmp/kafka-logs 是kafka里面用于存储对应数据的地方
/tmp 是 linux 下的临时目录,会被定时清除,为了防止 kafka 里的数据被删除,需要修改该路径。这里修改为 log.dirs=/opt/module/kafka/datas 方便以后的管理。
3)zookeeper.cnotallow=localhost:2128 这里用于单机部署。
4)host.name=外网ip
5)listeners=PLAINTEXT://kafka所在服务器的内网ip:9092
6)advertised.listeners=PLAINTEXT://kafka所在服务器的外网ip地址:9092
7)
- 配置环境变量
命令:sudo vim /etc/profile.d/my_env.sh,添加以下配置 - 启动kafka,启动之前必须先启动zookeeper(kafka的运行需要Java环境)
启动Kafka
- 启动 kafka 之前要先启动 zookeeper , 启动命令如下:(先进入到kafka安装目录下)
/opt/module/zookeeper-3.7.0/bin/zkServer.sh start - 启动 kafka , 命令如下:(也是先进入到kfka安装目录下)
bin/kafka-server-start.sh config/server.properties
进入kakfa目录执行启动脚本:后台模式启动(推荐使用后台启动)
bin/kafka-server-start.sh -daemon config/server.properties - 启动Kafka Broker后,在ZooKeeper终端上键入命令 jps,效果如下:
出现 QuorumPeerMain 表示 Zookeeper 已经启动,出现 Kafka 表示 Kafka已经启动。 - 停止 Kafka ,命令如下:
bin/kafka-server-stop.sh config/server.properties - 停止 Zookeeper ,命令如下:
/opt/module/zookeeper-3.7.0/bin/zkServer.sh stop - 切记:一定要先关闭 Kafka 后再关闭 Zookeeper
下面是我使用 Kafka 的时候遇到的坑:
- Kafka不能正确启动
这里可能是 server.properties 配置文件没有配置好 - 我在 SpringBoot 集成了 Kafka ,并配置好 application.properties 后,运行项目,结果项目出了问题,我查看打印的日志信息,说是error connecting … node ,我感觉可能是 server.properties 文件中某个地方没有配置好,在网上参考了别人的 server.properties 的配置后,才知道可能是 节点需要绑定的主机名称 没有设置。
下面是我在 Socket Server Settings 新增的配置
listeners=PLAINTEXT:172…(内网ip)//:9092
advertised.listeners=PLAINTEXT://59…(外网ip):9092
后面 IDEA 的控制台终于不报错了。 - 结果新的问题就来了,控制台开始一直打印 Kafka 的日志信息
解决方案是:在日志的配置文件logbackXXX.xml中增加以下配置
<logger name="org.apache.kafka.clients.consumer.internals.ConsumerCoordinator" level="OFF"/>
如有不足,还请大家指正。