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

 

posted @ 2022-12-09 20:02  马革皮  阅读(135)  评论(0编辑  收藏  举报