1. 程式人生 > >kafka 安裝教學(官方版)

kafka 安裝教學(官方版)

最近在學校kafka,學習kafka第一步,讓咱們先把kafka安裝起來吧!

使用環境:ubuntu系統

kafka下載地址:http://kafka.apache.org/downloads

一、解壓下載的安裝包(我下載了kafka_2.11-1.1.0.tgz)

解壓下載的安裝包

tar -xzf kafka_2.11-1.1.0.tgz 


ok,到這你就已經完成了安裝了!對,是的完成安裝了!無需其他配置!下面接著介紹如何啟動、如何在單機上部署叢集!

二、kafka常用命令(命令都是在解壓目錄中執行)

進入解壓後的目錄


(1)啟動kafka(先啟動zookeeper)

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

(2)建立topic

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

(3)檢視topic

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

(4)傳送訊息

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

(5)檢視訊息

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginnin
(6)多broker啟動方式

a.複製配置檔案

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

b.修改配置檔案

使用vim 編輯server-1.properties、server-2.properties,修改broker.id、listeners、log.dir屬性。(相同的話啟動會報錯)

config/server-1.properties:

    broker.id=1
    listeners=PLAINTEXT://:9093
    log.dir=/tmp/kafka-logs-1

config/server-2.properties:

    broker.id=2
    listeners=PLAINTEXT://:9094
    log.dir=/tmp/kafka-logs-2

c.啟動叢集

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

d.建立備份為3的topic(每個broker都有備份,如果有個broker無法工作了,系統還能正常工作)

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

e.檢視topic

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

Topic:my-replicated-topic   PartitionCount:1    ReplicationFactor:3 Configs:
Topic: my-replicated-topic  Partition: 0    Leader: 1   Replicas: 1,2,0 Isr: 1,2,0

(7)使用檔案匯入訊息

a.建立匯入檔案(訊息內容為foo\bar),該檔案請在解壓目錄下建立

 echo -e "foo\nbar" > test.txt

b.使用預設配置進行匯入

bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties config/connect-file-sink.properties

c.檢視匯入和到處的檔案

more test.sink.txt
foo
bar

d.檢視kafka中的訊息

> bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic connect-test --from-beginning
{"schema":{"type":"string","optional":false},"payload":"foo"}

e.connectors會繼續處理text.txt文字中的內容,向文字重新向內容。可以繼續觀察test.sink.txt和控制檯的輸出

 echo Another line>> test.txt