首先了解一下kafka的基本概念
.
1. Broker
Kafka集群包含一個或多個服務器,這種服務器被稱為broker
2. Topic
每條發布到Kafka集群的消息都有一個類別,這個類別被稱為Topic。(物理上不同Topic的消息分開存儲,邏輯上一個Topic的消息雖然保存於一個或多個broker上但用戶只需指定消息的Topic即可生產或消費數據而不必關心數據存於何處)
3. Partition
Partition是物理上的概念,每個Topic包含一個或多個Partition.
4. Producer
負責發布消息到Kafka broker
5. Consumer
消息消費者,向Kafka broker讀取消息的客戶端。
6. Consumer Group
每個Consumer屬於一個特定的Consumer Group(可為每個Consumer指定group name,若不指定group name則屬於默認的group)
接下來在Ubuntu系統環境下測試簡單的實例
# 進入kafka所在的目錄
cd /usr/local/kafka
bin/zookeeper-server-start.sh config/zookeeper.properties
命令執行后不會返回Shell命令輸入狀態,zookeeper就會按照默認的配置文件啟動服務,請千萬不要關閉當前終端.啟動新的終端,輸入如下命令
cd /usr/local/kafka
bin/kafka-server-start.sh config/server.properties
kafka服務端就啟動了,請千萬不要關閉當前終端。啟動另外一個終端,輸入如下命令:
cd /usr/local/kafka
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic dblab01
topic是發布消息發布的category,以單節點的配置創建了一個叫dblab01的topic.可以用list列出所有創建的topics,來查看剛才創建的主題是否存在
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic dblab01
bin/kafka-topics.sh --list --zookeeper localhost:2181
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic dblab01
並嘗試輸入如下信息:
hello hadoop
hello xmu
hadoop world
然后再次開啟新的終端或者直接按CTRL+C退出。然后使用consumer來接收數據,輸入如下命令
cd /usr/local/kafka
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic dblab01 --from-beginning
便可以看到剛才產生的三條信息。說明kafka安裝成功。