三、部署kafka+zookeeper集群
kafka需要jdk环境,参考第二章的elasticsearch集群的jdk安装,也可以自行安装,我这边都在相同的3台机器,所以就不用在安装jdk了
1、下载安装包并解压
kafka用的是2.3.0,zookeeper用的是3.6.0
wget https://www.dogfei.cn/pkgs/kafka_2.12-2.3.0.tgz wget https://www.dogfei.cn/pkgs/apache-zookeeper-3.6.0-bin.tar.gz tar zxvf kafka_2.12-2.3.0.tgz -C /usr/local/ tar zxvf apache-zookeeper-3.6.0-bin.tar.gz -C /usr/local/
chown tomcat:tomcat -R /usr/local/apache-zookeeper-3.6.0-bin
chown tomcat:tomcat -R /usr/local/kafka_2.12-2.3.0
2、部署zookeeper集群
创建目录,修改配置文件
加入systemd
# cat /usr/lib/systemd/system/zookeeper.service [Unit] Description=zookeeper.service After=network.target [Service] Type=forking Environment=ZOO_LOG_DIR=/data0/zookeeper/logs ExecStart=/usr/local/apache-zookeeper-3.6.0-bin/bin/zkServer.sh start ExecStop=/usr/local/apache-zookeeper-3.6.0-bin/bin/zkServer.sh stop Restart=always [Install] WantedBy=multi-user.target
启动服务并开机自启
systemctl daemon-reload
systemctl start zookeeper
systemctl enable zookeeper
2、部署kafka集群
#mkdir /data0/kafka/{data,logs} -p
#chown tomcat:tomcat -R /data0/kafka/{data,logs}
#cat /usr/local/kafka_2.12-2.3.0/config/server.properties | grep -v -E "^#|^$"
broker.id=1 #broker.id不能相同,可以按循序写1,2,3,4,5..... listeners=PLAINTEXT://192.168.1.10:9092 #这里写本机ip num.network.threads=3 num.io.threads=8 socket.send.buffer.bytes=1048576 socket.receive.buffer.bytes=1048576 socket.request.max.bytes=104857600 log.dirs=/data0/kafka/data num.partitions=8 num.recovery.threads.per.data.dir=1 offsets.topic.replication.factor=1 transaction.state.log.replication.factor=1 transaction.state.log.min.isr=1 message.max.bytes=20971520 log.retention.hours=1 log.retention.bytes=1073741824 log.segment.bytes=536870912 log.retention.check.interval.ms=300000 zookeeper.connect=192.168.1.10:2181,192.168.1.11:2181,192.168.1.12:2181 zookeeper.connection.timeout.ms=1000000 zookeeper.sync.time.ms=2000 group.initial.rebalance.delay.ms=0 log.cleaner.enable=true delete.topic.enable=true
加入systemd
# cat /usr/lib/systemd/system/kafka.service [Unit] Description=Kafka After=zookeeper.service [Service] Type=simple Environment=LOG_DIR=/data0/kafka/logs WorkingDirectory=/usr/local/kafka_2.12-2.3.0 ExecStart=/usr/local/kafka_2.12-2.3.0/bin/kafka-server-start.sh /usr/local/kafka_2.12-2.3.0/config/server.properties ExecStop=/usr/local/kafka_2.12-2.3.0/bin/kafka-server-stop.sh Restart=always
User=tomcat
Group=tomcat [Install] WantedBy=multi-user.target
启动服务并开机自启
systemctl daemon-reload
systemctl start kafka
systemctl enable kafka
到此,kafka+zookeeper集群就部署完成了。