天天看點

kafka進擊之路(一) —— 入門概述簡單安裝常用指令

概述

Kafka是一種高吞吐量的分布式釋出訂閱消息系統,就是我們常說的消息隊列。

基本術語:

1. topic:kafka通過topic來管理不同消息的分類

2. producer:把消息釋出到kafka一個topic的過程。

3. consumer:從kafka訂閱釋出的消息的過程。

4. broker:kafka由一個或者多個服務組成叢集,每個服務成為一個broker。

一個釋出訂閱的kafka消息系統流程如圖:

kafka進擊之路(一) —— 入門概述簡單安裝常用指令

至此,我們對kafka有了一個基本的認知,即一個分布式消息系統,提供不同消息按照不同的topic來進行釋出和訂閱。

簡單安裝

單機安裝

下載下傳位址:http://kafka.apache.org/downloads.html

本例中我們使用0.8.2.1版本

1. 下載下傳 安裝包kafka_2.10-0.8.2.1.tgz

2. 解壓,tar –xzf kafka_2.10-0.8.2.1.tgz

3. 進到解壓目錄,cd kafka_2.10-0.8.2.1

4. 啟動服務

先不管配置,啟動服務,kafka依賴zookeeper服務,如果沒有也不用管,kafka自帶簡單的zookeeper服務

啟動zk:bin/zookeeper-server-start.sh config/zookeeper.properties &

啟動kafka:bin/kafka-server-start.sh config/server.properties &

5. 建立topic

bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test

6. 啟動發送端,發送消息:

bin/kafka-console-producer.sh –broker-list localhost:9092 –topic test

this is a message #控制台輸入資訊

this is another message #控制台輸入資訊,輸完後按Ctrl+C退出

7. 啟動消費端:

bin/kafka-console-consumer.sh –zookeeper localhost:2181 –topic test –from-beginning

即可看到發送端發送的消息。

此時表示我們的單機kafka服務成功。

叢集安裝

僞叢集安裝

安裝

僞叢集即在一台機器上起多個kafka服務執行個體,組成叢集模式

首先複制兩個server.properties

cp config/server.properties config/server-1.properties

cp config/server.properties config/server-2.properties

分别編輯這兩個檔案,修改結果如下:

config/server-1.properties:

broker.id=1

port=9093

log.dir=/tmp/kafka-logs-1

config/server-2.properties:

broker.id=2

port=9094

log.dir=/tmp/kafka-logs-2

然後分别啟動這兩個broker:

bin/kafka-server-start.sh config/server-1.properties &

bin/kafka-server-start.sh config/server-2.properties &

測試

  1. 建立一個topic:

    bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 3 –partitions 1 –topic replicated-test-topic

  2. 顯示該broker的運作情況:

    bin/kafka-topics.sh –describe –zookeeper localhost:2181 –topic replicated-test-topic

  3. 發送消息:

    bin/kafka-console-producer.sh –broker-list localhost:9092 –topic replicated-test-topic

  4. 接收消息:

    bin/kafka-console-consumer.sh –zookeeper localhost:2181 –from-beginning –topic replicated-test-topic

  5. 如果kill掉其中一個服務,發送和接收消息正常,可以自己驗證。

叢集安裝

叢集安裝同單機安裝情況相同,注意配置server.properties中:

1. broker.id要不同

2. port相同

3. zookeeper.connect一直,可以使用自己的zookeeper服務位址

常用指令

1、啟動Kafka

bin/kafka-server-start.sh config/server.properties &

2、停止Kafka

bin/kafka-server-stop.sh

3、建立topic

bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test

4、列舉所有的topic

bin/kafka-topics.sh –list –zookeeper localhost:2181

5、列舉出所有topic的詳細資訊

bin/kafka-topics.sh –describe –zookeeper localhost:2181

6、發送資訊:

bin/kafka-console-producer.sh –broker-list localhost:9092 –topic test

7、擷取資訊:

bin/kafka-console-consumer.sh –zookeeper localhost:2181 –topic test –from-beginning

官網參考:http://kafka.apache.org/documentation.html#gettingStarted