kafka 安裝教學(官方版)
阿新 • • 發佈:2019-02-04
最近在學校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)檢視訊息
(6)多broker啟動方式bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginnin
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