安裝 kafka 需要先安裝 jdk。
一、下載
官網:http://kafka.apache.org/downloads.html
二、安裝
安裝參考:https://segmentfault.com/a/1190000012990954
1. 解壓安裝(我的安裝目錄/opt/kafka/)
# tar -zvxf kafka_2.11-2.1.0.tgz
2. 修改配置
# vim /opt/kafka/kafka_2.11-2.1.0/config/server.properties
3. 修改其中
listeners=PLAINTEXT://ip:9092
注:ip指的是本機ip地址
三、驗證
1. 使用安裝包中的腳本啟動單節點Zookeeper實例:
# cd /opt/kafka/kafka_2.11-2.1.0
# bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
2. 使用kafka-server-start.sh啟動kafka服務:
# bin/kafka-server-start.sh config/server.properties
3. 使用kafka-topics.sh 創建但分區單副本的topic test
# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
4. 使用kafka-console-producer.sh 發送消息
# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
5. 使用kafka-console-consumer.sh 接收消息並在終端打印
# bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
四、配置開機自啟(systemctl)
1. 在 /lib/systemd/system/ 目錄下創建 zookeeper服務和kafka服務 的配置文件。
# vim zookeeper.service
zookeeper.service 添加內容:
[Unit]
Description=Zookeeper service
After=network.target
[Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/java/jdk-11.0.1/bin"
User=root
Group=root
ExecStart=/opt/kafka/kafka_2.11-2.1.0/bin/zookeeper-server-start.sh /opt/kafka/kafka_2.11-2.1.0/config/zookeeper.properties
ExecStop=/opt/kafka/kafka_2.11-2.1.0/bin/zookeeper-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
# vim kafka.service
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:/opt/java/jdk-11.0.1/bin"
User=root
Group=root
ExecStart=/opt/kafka/kafka_2.11-2.1.0/bin/kafka-server-start.sh /opt/kafka/kafka_2.11-2.1.0/config/server.properties
ExecStop=/opt/kafka/kafka_2.11-2.1.0/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
注:以上兩個文件 根據自己的 jdk 和 kafka 安裝目錄相應的修改。
2. 刷新配置。
# systemctl daemon-reload
3. zookeeper、kafka服務加入開機自啟。
#systemctl enable zookeeper
#systemctl enable kafka
4. 使用systemctl啟動/關閉/重啟 zookeeper、kafka服務systemctl start/stop/restart zookeeper/kafka。
注:啟動kafka前必須先啟動zookeeper 。
# systemctl start zookeeper
# systemctl start kafka
5. 查看狀態。
# systemctl status zookeeper
# systemctl status kafka