linux部署kafka伪集群
我这边安装的是kafka_2.10-0.10.2.2.tar.gz, zookeeper-3.4.5.tar.gz
1.安装zookeeper
下载连接
官网地址:https://zookeeper.apache.org/releases.html
先上传linux并解压
tar -zxvf zookeeper-3.4.5.tar.gz
进入对应zookeeper配置目录并重命名zoo_sample.cfg为zoo.cfg
[root@hecs-406672 /]# cd /opt/zookeeper-3.4.5/conf/ [root@hecs-406672 conf]# ls configuration.xsl log4j.properties zoo_sample.cfg [root@hecs-406672 conf]# mv zoo_sample.cfg zoo.cfg
这里贴出zoo.cfg配置
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper-3.4.5/data
dataLogDir=/opt/zookeeper-3.4.5/logs
clientPort=2181
切换到bin并启动zookeeper
[root@hecs-406672 bin]# ./zkServer.sh start JMX enabled by default Using config: /opt/zookeeper-3.4.5/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
在启动之前别忘了在zoo.cfg中dataDir和dataLogDir的目录需要自己创建
查验服务
[root@hecs-406672 bin]# netstat -tunlp | grep 2181 tcp6 0 0 :::2181 :::* LISTEN 16445/java [root@hecs-406672 bin]#
kafka部署
1.部署配置
先将kafka的包上传到至linux对应目录并解压
#tgz跟tar.gz是一样的压缩包
tar -zxvf kafka_2.10-0.10.2.2.tgz
进入kafka的config目录并配置相关参数
[root@hecs-406672 /]# cd /opt/kafka_2.10-0.10.2.2/config/
[root@hecs-406672 config]# vim server.properties
server.properties的配置
#本地连接的服务地址 listeners=PLAINTEXT://0.0.0.0:9092
#broker对外提供的服务入口地址(这里一定要放出来并写上自己服务器的外网ip, 不然本地连接kafka的工具或springboot集成调式会报连接不上)
advertised.listeners=PLAINTEXT://127.0.0.1:9092 #连接zookeeper服务,如果zookeeper与kafka不是部署在同一服务器上需要修改 zookeeper.connect=localhost:2181 #这里是kafka存储日志的地方 log.dirs=/opt/kafka_2.10-0.10.2.2/kafka-logs #下面这些都是server.properties默认的一些配置 broker.id=0 num.network.threads=3 num.io.threads=8 socket.send.buffer.bytes=102400 socket.receive.buffer.bytes=102400 socket.request.max.bytes=104857600 num.partitions=1 num.recovery.threads.per.data.dir=1 log.retention.hours=168 log.segment.bytes=1073741824 log.retention.check.interval.ms=300000 zookeeper.connection.timeout.ms=6000
切换到bin启动kafka
#通过启动命令+读取配置的方式启动
[root@hecs-406672 bin]# ./kafka-server-start.sh ../config/server.properties
#后台启动方式
nohup bin/kafka-server-start.sh config/server.properties &
查看服务状态
[root@hecs-406672 kafka_2.10-0.10.2.2]# netstat -tunlp | grep 9092
tcp6 0 0 :::9092 :::* LISTEN 17061/java
再分享一下linux查看kafka的一些命令
#查看kafka主题(127.0.0.1可替换成你自己服务器的ip) ./kafka-topics.sh --list --zookeeper 127.0.0.1:2181 #查看kafka主题详情(topic-test可替换成自己的kafka主题) ./kafka-topics.sh --zookeeper 127.0.0.1:2181 --topic topic-test --describe #消费kafka某主题的消息,可测试自己接收到的消息 ./kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --from-beginning --topic topic-test
kafka伪集群搭建
kafka伪集群搭建说白了就是多复制几个server.properties进行修改进行启动(前提, 几个kafka服务要绑定对应的zookeeper或zookeeper集群, 不然构不成kafka集群)
里面需要注意的点就是broker.id不一样, port , log地址需要修改, 如果部署在不同服务器上就配置各自的ip, 反正大体思路是差不多的
server2.properties的配置
#本地连接的服务地址
listeners=PLAINTEXT://0.0.0.0:9093
#broker对外提供的服务入口地址(这里一定要放出来并写上自己服务器的外网ip, 不然本地连接kafka的工具或springboot集成调式会报连接不上)
advertised.listeners=PLAINTEXT://127.0.0.1:9093
#连接zookeeper服务,如果zookeeper与kafka不是部署在同一服务器上需要修改
zookeeper.connect=localhost:2181
#这里是kafka存储日志的地方
log.dirs=/opt/kafka_2.10-0.10.2.2/kafka-logs2
#下面这些都是server.properties默认的一些配置
broker.id=1
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connection.timeout.ms=6000
然后切换到bin目录进行启动
nohup bin/kafka-server-start.sh config/server2.properties &
端口已经启动
[root@hecs-406672 kafka_2.10-0.10.2.2]# netstat -tunlp | grep 9093 tcp6 0 0 :::9093 :::* LISTEN 81514/java [root@hecs-406672 kafka_2.10-0.10.2.2]#
验证kafka集群是否成功
1. kafka可视化工具查看
2.查看zookeeper注册集群数
切换到zookeeper目录下执行
[root@hecs-406672 bin]# pwd
/opt/zookeeper-3.4.5/bin
[root@hecs-406672 bin]# ./zkCli.sh
#执行完上面命令进入zookeeper
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0]
查看zookeeper
[zk: localhost:2181(CONNECTED) 0] ls / [cluster, controller_epoch, controller, brokers, zookeeper, admin, isr_change_notification, consumers, config]
#查看集群数 [zk: localhost:2181(CONNECTED) 1] ls /brokers/ids
#出现0,1代表创建的kafka集群已经注册成功 [0, 1] [zk: localhost:2181(CONNECTED) 2]
3. 创建topic验证
[root@hecs-406672 kafka_2.10-0.10.2.2]# bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 2 --partitions 2 --topic test Created topic "test". [root@hecs-406672 kafka_2.10-0.10.2.2]#
查看创建的主题
bin/kafka-topics.sh --list --zookeeper 127.0.0.1:2181
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)