好久沒有寫部落格了 有點懶 趕緊補一下
Kafka叢集 搭建
測試機 三個節點 hadoop1 hadoop2 hadoop3
這三個節點 安裝了獨立的zookeeper 且我其他hadoop hbase等中繼資料資訊都在上面 我不用Kafka自帶的 zookeeper
本次的版本是:/kafka_2.10-0.10.0.1
修改配置:
kafka_2.10-0.10.0.1/config
下面有很多檔案 需要我們關注的 除了log4j其實就三個
consumer.properties
server.properties
producer.properties
先看一下 最重要的 server.properties
我修改主要如下:
broker.id= //hadoop1 為0 Hadoop2 為1 Hadoop3為2
listeners=PLAINTEXT://192.168.90.保密:9092 // 三個節點不同ip
delete.topic.enable=true //删除主題後 實體删除(直接删掉不标記為删除)
log.dirs=/tmp/kafka-logs //這個是消息存放的路徑 消息都是放在.log結尾的檔案中 索引放在.index 檔案中 (二分查找法)
zookeeper.connect=.**:,.**:,.**: //zookeeper 叢集的位址
//其他參數 參考官網 調優時自己配置
下面 comsumer.properties
下面 producer.properties
然後 三台啟動 就可以了 具體檢視叢集狀态資訊 可以參考我上一篇部落格 kafka的可視化界面
下面說點指令:
第一個 指令 :
啟動叢集 三個節點都要執行
./kafka-server-start.sh ../config/server.properties
檢視主題
./kafka-topics.sh --list --zookeeper hadoop1:2181
結果:
__consumer_offsets
visit3
檢視主題詳情
[[email protected] bin]# ./kafka-topics.sh --describe --topic visit3 --zookeeper hadoop1:2181
//這行顯示的是 主題名 分區個數 副本數
Topic:visit3 PartitionCount: ReplicationFactor: Configs:
//下面是詳細資訊
//這一行說明 主題visit3的分區0 副本位于broker0 和broker2上 learder在broker0上面 之後再詳細說明learder和isr是啥
Topic: visit3 Partition: Leader: Replicas: , Isr: ,
Topic: visit3 Partition: Leader: Replicas: , Isr: ,
Topic: visit3 Partition: Leader: Replicas: , Isr: ,
Topic: visit3 Partition: Leader: Replicas: , Isr: ,
建立主題
建立一個test主題 4個分區 每個分區2個副本
./kafka-topics.sh --create --topic test --partitions 4 --replication-factor 2 --zookeeper hadoop1:2181
Created topic "test".
删除主題
./kafka-topics.sh --delete --topic test1 --zookeeper hadoop1:
Topic test1 is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.
//我在配置中 配置了 直接删
還有 控制台 起生産者 消費者
./kafka-console-producer.sh --topic test --broker-list hadoop1:,hadoop2:,hadoop3:
./kafka-console-consumer.sh --topic test --zookeeper hadoop1: