kafka是乙個scala實現的分布式訊息中介軟體,當中涉及到的相關概念例如以下:
附加個圖說明下:
broker(集群總的節點)配置
broker.id : 唯一確定的乙個int 型別數字
log.dirs :儲存kafka資料,預設路徑 為/tmp/kafka-logs
port:comsumer連線的埠號
zookeeper.conect: zookeeper的鏈結字串,定義的格式例如以下 hostname1:port1,hostname2:port2,hostname3
num.partitions : 乙個topic能夠被分成多個paritions 管道,每乙個partiions中的message有序可是多個paritions中的順序不能保證
2.consumer 配置
group.id :string 型別 標誌consumer隸屬的consumer process 組
zookeeper.connect: hostname1:port1,hostname2:port2(/chroot/path 統一資料儲存路徑)
zookeeper 中儲存了kafka的comsumers和brokers(包含topic和partition)的基本資訊
3.producer配置
metadata.book.list :host1:port1,host2:port2
request.required.acks: 0.資料完畢就直接提交(可能在server崩潰了的時候丟失資料)
1.wait until the server acknowledges the request as successful
-1.no messages lost
producer.type : 確定messages是否同步提交 sync
serializer.class :kafka.serializer.defaultencoder message 的序列化類,預設編碼器處理型別都是byte型別
step 1: 啟動server
首先啟動zookeeper
> bin/zookeeper-server-start.sh config/zookeeper.properties接著啟動kafkaserver(遠端啟動的時候須要在後面加上乙個 & 作為後台程序,然後斷開和遠端的鏈結)
> bin/kafka-server-start.sh config/server.properties
step 2: 建立 乙個 topic
> bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
檢視topic
> bin/kafka-topics.sh --list --zookeeper localhost:2181step 3: send some messages
> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testthis is a message
this is another message
step 4: 啟動乙個client(消費者)
> bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
Kafka學習 一 Kafka背景及架構介紹
kafka是分布式發布 訂閱訊息系統。它最初由linkedin公司開發,使用scala語言編寫,之後成為apache專案的一部分。kafka是乙個分布式的,可劃分的,多訂閱者,冗餘備份的永續性的日誌服務。它主要用於處理活躍的流式資料 實時性的計算 降低系統組網複雜度。降低程式設計複雜度,各個子系統不...
Kafka學習 一 Kafka背景及架構介紹
kafka是分布式發布 訂閱訊息系統。它最初由linkedin公司開發,使用scala語言編寫,之後成為apache專案的一部分。kafka是乙個分布式的,可劃分的,多訂閱者,冗餘備份的永續性的日誌服務。它主要用於處理活躍的流式資料 實時性的計算 降低系統組網複雜度。降低程式設計複雜度,各個子系統不...
Kafka 簡單學習
簡單來說kafka就是乙個分布式的訊息系統,由scala語言編寫,初始 七千多行左右 1 producer 訊息生產者 2 consumer 訊息消費者 3 consumer group 消費者組 4 broker kafka集群的節點,起到快取的作用 5 topic 資料的不同分類,類似於關係型資...