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: 成功!