關閉防火牆
systemctl stop firewalld.service
systemctl disable firewalld.service
安裝JDK
yum install -y http://172.16.20.10/Oracle/JAVA/8/8u202/jdk-8u202-linux-x64.rpm
下載並解壓Kafka
cd /srv/
curl -O http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.2.1/kafka_2.12-2.2.1.tgz
tar -xzf kafka_2.12-2.2.1.tgz
ln -s kafka_2.12-2.2.1 kafka
rm -rf kafka_2.12-2.2.1.tgz
將/srv/kafka/bin目錄添加到PATH環境變量
cat > /etc/profile.d/kafka.sh << EOF
export PATH=/srv/kafka/bin:\$PATH
EOF
source /etc/profile.d/kafka.sh
安裝net-tools(netstat檢測端口需要用到,如已安裝請跳過)
啟動zookeeper(啟動比較慢,啟動后檢查2181端口)
zookeeper-server-start.sh -daemon /srv/kafka/config/zookeeper.properties
netstat -anlpt | grep 2181
啟動kafka-server(默認端口是 9092)
kafka-server-start.sh -daemon /srv/kafka/config/server.properties
netstat -anlpt | grep 9092
配置開機啟動(zookeeper啟動比較慢,導致啟動kafka-server失敗,暫時CentOS重啟后需要手動啟動zookeeper和kafka-server,后面再研究開機啟動shell)
cat >> /etc/profile.d/kafka.sh << EOF
zookeeper-server-start.sh -daemon /srv/kafka/config/zookeeper.properties
kafka-server-start.sh -daemon /srv/kafka/config/server.properties
EOF
source /etc/profile.d/kafka.sh
測試生產和消費消息
# 創建test topic
kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
# 獲取所有topic
kafka-topics.sh --list --bootstrap-server localhost:9092
# 生產消息(進入交互模式輸入消息內容,Ctrl + C 退出)
kafka-console-producer.sh --broker-list localhost:9092 --topic test
# 消費消息(進入交互模式獲取消息內容,Ctrl + C 退出)
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
參考鏈接:
http://kafka.apache.org/quickstart
https://www.cnblogs.com/mascot1/p/9940666.html