kafka、zookeeper集群安装配置

kafka安装配置需要依赖jdk和zookeeper,版本为了保证稳定性,采用以下各个版本(之前装zookeeper最新版,启动服务时老是失败,后来换回老版本就没问题了,另外kafka从目前的最新版本3.5.5开始,在官网上有两个tar.gz文件,要下载bin名称的包,但是我下了还不行,直接换回老版本就解决了)

    jdk-1.8 zookeeper-3.4.12 kafka_2.11-2.4.1

zookeeper和kafka下载地址分别为:、,另外jdk在官网下载需登录,其下载和环境变量的配置可以参考这篇文章操作,这里不再赘述。 注意: 由于kafka内部也集成了zookeeper服务,但是里面的配置文件和你单独下载的zookeeper的配置文件名字不一样,一个叫zookeeper.properties,一个叫zoo_sample.cfg(一般会人为改成zoo.cfg),建议使用单独下载的。 集群我用3台虚拟机模拟了,zookeeper要有半数以下的宕机都不会影响整体运行(即 故障:正常=2:2 这集群不能处,故障:正常=1:2 这集群能处),所以一般都设为奇数个节点数,正常将各种安装包放入3台虚拟机的/usr/local文件夹下解压准备后续配置,如下图:

zookeeper集群安装配置

进入zookeeper-3.4.12目录下的conf目录更改配置文件名字:

[root@localhost conf]# pwd
/usr/local/zookeeper-3.4.12/conf
[root@localhost conf]# mv zoo_sample.cfg zoo.cfg

vim更改zoo.cfg文件内容,或者用xftp直接记事本修改zoo.cfg为如下内容:

tickTime=2000

initLimit=10

syncLimit=5

#目录需自己创建
dataDir=/data/zookeeper
dataLogDir=/data/zookeeperLog

clientPort=2181

#3台虚拟机ip,另外server.后面的数字必须唯一,且在dataDir设置的目录下需要创建一个myid的文件里面写一个数字和server.后面的数字一致。
server.1=192.168.244.131:3881:4881
server.2=192.168.244.132:3881:4881
server.3=192.168.244.133:3881:4881

注意: zookeeper不会自动创建文件夹,所以配置文件里面的dataDir、dataLogDir的路径目录都得手动创建。然后server.数字的数字必须唯一,且在dataDir设置的目录下需要手动创建一个myid的文件里面就写一个数字和server.数字的数字一致。

3台虚拟机重复同样的操作(或者复制过去)。

进入zookeeper的bin目录运行服务,BUT 在这之前请关闭防火墙!或者开放端口

#查看防火墙:
systemctl status firewalld.service

#关闭防火墙:
systemctl stop firewalld.service

#bin目录下运行zookeeper服务:
./zkServer.sh start

#查看服务状态:
./zkServer.sh status

3台服务都起起来后,查看服务状态,如果显示如下图片,则为正常启动:(mode:leader或者follower)

kafka集群安装配置

解压后进入config目录修改server.properties文件如下:

#3台虚拟机的broker.id需要各不相同
broker.id=1
#自动添加主题
auto.create.topics.enable=true

#还有个支持物理删除的你们自己查查,一般用逻辑删除

num.network.threads=3

num.io.threads=8

socket.send.buffer.bytes=102400


socket.receive.buffer.bytes=102400


socket.request.max.bytes=104857600

#目录需要手动创建
log.dirs=/data/kafkaLog

#我设了3个分区
num.partitions=3

num.recovery.threads.per.data.dir=1

offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

log.retention.hours=168

log.segment.bytes=1073741824

log.retention.check.interval.ms=300000

#这里就是上面zookeeper集群设置的的3个ip:端口
zookeeper.connect=192.168.244.131:2181,192.168.244.132:2181,192.168.244.133:2181

zookeeper.connection.timeout.ms=6000

group.initial.rebalance.delay.ms=0

然后进入bin目录以daemon方式启动kafka,这样就不回阻塞终端:

./kafka-server-start.sh -daemon ../config/server.properties

终端输入jps查看java进程: 成功!

zooInspector可视化zookeeper

,windows电脑上操作就行。 解压:

进入build目录: 进入shell输入java -jar .zookeeper-dev-ZooInspector.jar: 回车出现界面,点击左上角按钮: 输入3台zookeeper中的任意一台的ip:端口就行: 等一会儿: 出现以下界面,可以查看之前创建的kafka的3个broker.id: 成功!

经验分享 程序员 微信小程序 职场和发展