CentOS7 kafka安装

时间:2022-07-22
本文章向大家介绍CentOS7 kafka安装,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
cd /opt
下载对应的kafka https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/
tar -xvf kafka_2.12-2.2.1.tgz -C /opt

修改对应的配置
#集群内id从0开始,不能重复
sed -i 's$broker.id=0$broker.id=1$g' /opt/kafka_2.12-2.2.1/config/server.properties
#替换为当前节点ip
sed -i 's$#listeners=PLAINTEXT://:9092$listeners=PLAINTEXT://192.168.6.117:9092$g' /opt/kafka_2.12-2.2.1/config/server.properties
#设置副本数量为3(默认1)
sed -i 's$num.partitions=1$num.partitions=3$g' /opt/kafka_2.12-2.2.1/config/server.properties
#设置zk
sed -i 's$zookeeper.connect=localhost:2181$zookeeper.connect=192.168.6.117:2181,192.168.6.118:2181,192.168.6.119:2181$g' /opt/kafka_2.12-2.2.1/config/server.properties
#设置超时时间
sed -i 's$zookeeper.connection.timeout.ms=6000$zookeeper.connection.timeout.ms=60000$g' /opt/kafka_2.12-2.2.1/config/server.properties


#启动kafka
./kafka-server-start.sh -daemon ../config/server.properties

#增加kafka服务并设置为开机启动
cat > /usr/lib/systemd/system/kafka.service <<"EOF"
[Unit]
Description=Kafka service
After=network.target zookeeper.service

[Service]
Type=simple
PIDFile=/var/run/kafka.pid
ExecStart=/opt/kafka_2.12-2.2.1/bin/kafka-server-start.sh ../config/server.properties
ExecStop=/opt/kafka_2.12-2.2.1/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable kafka


#定期清理日志
cat > /opt/kafka_2.12-2.2.1/bin/clean_kafka_logs.sh << "EOF"
#!/bin/bash
find /opt/kafka_2.12-2.2.1/logs/ -type f -mtime +7|xargs rm -rf
EOF

chmod +x /opt/kafka_2.12-2.2.1/bin/clean_kafka_logs.sh

执行crontab -e,加入一行
0 0 * * * /bin/bash /opt/kafka_2.12-2.2.1/bin/clean_kafka_logs.sh

调整已有topic副本数目

kafka-topics.sh --alter --zookeeper localhost:2181 --partitions 10 --topic mytopic