Kafka架構
producer: 生產者
consumer: 消費者
broker: 類似容器,存放數據
topic: 類似標簽
1.創建文件夾
mkdir -p /usr/local/kafka/data /usr/local/kafka/logs
cd /usr/local/kafka
2.下載Flume http://kafka.apache.org/downloads
wget http://apache.mirror.iphh.net/kafka/2.5.0/kafka_2.13-2.5.0.tgz
3.解壓
tar -zvxf kafka_2.13-2.5.0.tgz
4.修改配置文件
vim /etc/profile
export KAFKA_HOME=/usr/local/kafka/kafka_2.13-2.5.0
export PATH=$KAFKA_HOME/bin:$PATH
source /etc/profile
5.修改配置
cd /usr/local/kafka/kafka_2.13-2.5.0/config
vim server.properties
broker.id=0 # broker id 這個不能重復
listeners=PLAINTEXT://:9092 # 取消注釋 默認端口是9092
host.name=0.0.0.0 # ip
log.dirs=/usr/local/kafka/logs # log文件放置路徑
zookeeper.connect=localhost:2181 # zookeeper連接信息
6.啟動kafka
kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
-daemon: 后台啟動
config/server.properties: server.properties文件路徑
kafka-server-stop.sh # 關閉kafka
jps 查看進程 jps -m: 查看比較詳細的信息
kafka
啟動報錯: kafka.common.InconsistentClusterIdException: The Cluster ID BmhgroWiQEWltKkCY_4u4Q doesn't match stored clusterId Some(3BVX0S4nTjSvbCvqUU3WGQ) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong.
在Kafka config目錄中,打開kafka config屬性文件,讓server.properties查找具有參數log.dirs =的日志路徑目錄,然后轉到日志路徑目錄並在其中找到文件meta.properties。打開文件meta.properties並更新cluster.id =或從日志路徑目錄中刪除此文件或所有日志文件,然后重新啟動kafka。(這個方法並沒有解決我的問題)
kafka-server-stop.sh $KAFKA_HOME/config/server.properties # 關閉kafka
cd /usr/local/kafka/kafka_2.13-2.5.0/logs
cat server.log | tail -n 200 # 查看kafka啟動時產生日志
7.創建一個topic
kafka-topics.sh --create --bootstrap-server 192.168.104.94:9092 --replication-factor 1 --partitions 1 --topic hello_topic
--create: 創建
--replication-factor: 副本數量
--partitions: 分區數量
--bootstrap-server: 制定消費者
kafka-topics.sh --delete --bootstrap-server 192.168.104.94:9092 --topic hello_topic # 刪除topic
8.查看所有topic
kafka-topics.sh --list --bootstrap-server 192.168.104.94:9092
9.發送消息
kafka-console-producer.sh --bootstrap-server 192.168.104.94:9092 --topic hello_topic # 生產消息
kafka-console-consumer.sh --bootstrap-server 192.168.104.94:9092 --topic hello_topic --from-beginning # 消費消息 # --from-beginning: 從頭開始消費 每次啟動都要把一起的消息在消費一遍
10.查看topic信息
kafka-topics.sh --describe --bootstrap-server 192.168.104.94:9092 --topic hello_topic # --topic hello_topic: 不帶這個就看所有的topic