本文最后更新于 1206 天前,其中的信息可能已经有所发展或是发生改变。
单独搭建zookeeper 教程 : https://www.2331314.xyz/385.html
下载软件
wget https://dlcdn.apache.org/kafka/3.1.0/kafka_2.13-3.1.0.tgz
解压改名
tar -zxvf kafka_2.13-3.1.0.tgz -C /usr/local/
cd /usr
mv kafka_2.13-3.1.0/ kafka
添加环境变量
vi /etc/profile
export KAFKA_HOME=/usr/local/kafka
export PATH=$PATH:$KAFKA_HOME/bin
source /etc/profile
创建Kafka的日志目录
mkdir -p /usr/local/logs/kafka
修改Kafka配置文件
cd /usr/local/kafka/config
vim server.properties
配置文件
broker.id=0 ---- 节点1为0 节点2为1 以此类推
port=9092 ---- 默认端口
listeners=PLAINTEXT://node1:9092 ----node1其他的更新修改
log.dirs=/usr/local/logs/kafka ---- 自行设置
zookeeper.connect=node1:2181,node2:2181,node3:2181 ----- 其他的zoo节点
复制kafka到node2 node3
scp -r /usr/local/kafka root@node2:/usr/local/
scp -r /usr/local/kafka root@node3:/usr/local/
复制日志目录
scp -r /usr/local/logs/kafka/ root@node3:/usr/local/logs
scp -r /usr/local/logs/kafka/ root@node2:/usr/local/logs
查看是否复制成功
[root@node1 ~]# ssh root@node2 ls /usr/local/logs/
kafka
zookeeper
[root@node1 ~]# ssh root@node3 ls /usr/local/logs/
kafka
zookeeper
修改node2、node3的broker的id
cd /usr/local/kafka/config
vim server.properties
broker.id=1 ---- node2的id修改
broker.id=2 ---- node3的id修改
运行kafka
前台运行
kafka-server-start.sh /usr/local/kafka/config/server.properties
后台运行
kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
查看端口9092
netstat -anlp | grep 9092
启动成功
常见命令
kafka-topics.sh --create --partitions 1 --replication-factor 1 --topic quickstart-events --bootstrap-server localhost:9092
创建自启动
- vim /lib/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper service
After=network.target
[Service]
Type=forking
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/jdk1.8.0_321-amd64/bin/"
User=root
Group=root
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
- vim /lib/systemd/system/kafka.service
[Unit]
Description=Apache Kafka server (broker)
After=network.target zookeeper.service
[Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/jdk1.8.0_321-amd64/bin/"
User=root
Group=root
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable zookeeper
systemctl enable kafka
systemctl start zookeeper
systemctl start kafka