kafka入門實戰

2021-09-02 18:17:35 字數 3881 閱讀 9904

kafka和其他的mq的最大的區別就是構建實時資料管道和stream資料流,和可以分布式,好容錯性的儲存訊息

1.安裝jdk,略

3.解壓

tar -xzf kafka_2.11-2.1.0.tgz

cd kafka_2.11-2.1.0

4.啟動zookeeper

因為kafka的啟動依賴於zookeeper,如果不想安裝,使用內建的,可以

啟動內建的zookeeper

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

5.啟動kafka

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

6.建立乙個topic

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

檢視已經建立的topic

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

7.建立乙個傳送者

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

就會進行命令列,模式,可以輸入hello,world.....等訊息

8.建立乙個消費者

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

進入命令列,接受到從傳送者發過來的訊息.  --from-beginning  是引數,表示接受所有傳送者發出的訊息.

到此,單broker的安裝就此結束了.

下面開始多broker的安裝,當然了,我們依然使用單機,已經kafka是scala寫的,你們要是按照上面的來一遍就知道,啟動很慢的了,而且,我的機器也不是很好,湊合用吧.

其實多broker就是多個server.properties  檔案.

1.複製3個配置檔案出來:

cpconfig/server.properties config/server-1.properties

cpconfig/server.properties config/server-2.properties

cpconfig/server.properties config/server-3.properties

2.修改配置檔案

broker.id  只能是個int型別的數字,可以從0 開始,而且各個broker要求不同.

listeners就是監聽的埠號

log.dirs日誌檔案所在

server-1.properties:

broker.id=1

listeners=plaintext://:9093

log.dirs=/root/data/kafka-logs-1

server-2.properties:

broker.id=2

listeners=plaintext://:9094

log.dirs=/root/data/kafka-logs-2

server-3.properties:

broker.id=3

listeners=plaintext://:9095

log.dirs=/root/data/kafka-logs-3

3.啟動kafka

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

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

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

這次我們使用後台來啟動

4.建立乙個topic

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

檢視topic的資訊:

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

5.建立發布者:

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

6.建立訂閱者:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic my-replicated-topic

就可以使用發布者和訂閱者之間進行訊息的傳遞了.

7.關閉乙個broker

使用jps -m  命令來檢視當前的kafka的幾台broker執行的pid,使用 kill -9   pid進行查殺乙個,然後再進行訊息的傳送測試.

這裡kafka的入門就完成了.就是這麼的簡單,當然,你可以不適用內建的zookeeper,你可以自己安裝,啟動zookeeper.都可以的.

Kafka實戰 入門

經過乙個多月的時間觀察,業務上在整合kafka後,各方面還算穩定,這裡打算抽時間給大家分享一下kafka在實際場景中的一些使用心得。本篇部落格打算先給大家入個門,讓大家對kafka有個初步的了解,知道kafka是做什麼的,下面是本篇部落格的目錄內容 下面開始今天的部落格分享內容。kafka它本質上是...

Kafka實戰 入門

經過乙個多月的時間觀察,業務上在整合kafka後,各方面還算穩定,這裡打算抽時間給大家分享一下kafka在實際場景中的一些使用心得。本篇部落格打算先給大家入個門,讓大家對kafka有個初步的了解,知道kafka是做什麼的,下面是本篇部落格的目錄內容 下面開始今天的部落格分享內容。kafka它本質上是...

Kafka實戰 入門

經過乙個多月的時間觀察,業務上在整合kafka後,各方面還算穩定,這裡打算抽時間給大家分享一下kafka在實際場景中的一些使用心得。本篇部落格打算先給大家入個門,讓大家對kafka有個初步的了解,知道kafka是做什麼的,下面是本篇部落格的目錄內容 下面開始今天的部落格分享內容。kafka它本質上是...