補充:
kafka中可以有多個broker,我們理解時可以把broker當做乙個新華書店理解
broker中可以有多個topic,topic是邏輯分割槽及邏輯存在的主題,不儲存資料
topic中可以有多個partition(分割槽),partition是真正存放資料的地方,乙個partition是乙個強有力的序列,也就是先入先出佇列,partition由segment組成,segment實際上就是乙個目錄,由兩部分組成,一部分是.index結尾的檔案,另一部分是.log結尾的檔案(1).index是給kafka儲存的資料做搜尋索引使用的(2).log是儲存kafka資料的地方
這裡topic的partition的個數是可以設定的,如果設定成乙個就保證了topic是乙個強有序的佇列。
另外,當我們消費者在讀取資料進行消費之前,會先去zk裡獲取源資料資訊、位置偏移量,當拿到這些資料之後進行資料讀取,並根據位置偏移量進行選擇是否重新讀取整個資料還是接著執行。
位置偏移量:比如當前有1 2 3 4 5 6 7 8 9 10個資料,執行到4的時候伺服器重啟了,這時候位置偏移量就指向4這個地方,然後在進行選擇是否接著處理還是重新開始處理。
新知識:
kafka的啟動:
1.啟動命令:./bin/kafka-server-start.sh config /server.properties(注:在啟動之前需要先配置server.properties檔案修改如下)
broker.id=0
listeners=plaintext://:9092 //kafka向外界提供的埠號也是預設的埠號
log.dirs=/tmp/kafka-logs //指定kafka資料儲存的目錄
num.partitions=3 //指定partition的個數
zookeeper.connect=192.168.30.10:2181 //配置連線zk
host.name=192.168.30.10 //指定誰要訪問kafka
advertised.host.name=192.168.30.10
# timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=6000 //連線超時時間
檢視當前kafka中有哪些topic 命令
./bin/kafka-topics.sh --list --zookeeper hnode1 2181
檢視具體的topic資訊命令如下:
./bin/kafka-topics.sh --describe --zookeeper hnode1 2181 --topic topic3
建立topic命令:
./bin/kafka-topics.sh --create --zookeeper hnode1:2181 --topic topic5 --partitions 1 --replication-factor 1
建立生產者 命令如下:
./bin/kafka-console-producer.sh --topic topic5 --broker-list hnode1:9092
建立消費者 命令如下:
./bin/kafka-console-consumer.sh --zookeeper hnode1:2181 --topic topic5
kafka啟動命令 Kafka入門
kafka是乙個高效能分布式訊息系統,今天就簡單介紹下基礎入門吧。tar xzf kafka 2.12 2.2.0.tgz cd kafka 2.12 2.2.0二 啟動伺服器kafka使用zookeeper,所以我們要先啟動zookeeper,可以使用安裝檔案裡面的啟動命令啟動乙個單節點的zook...
kafka啟動命令
啟動 bin kafka server start.sh daemon config server.properties 建立主題 kafka topics.sh zookeeper s202 2181 topic calllog create replication factor 3 partit...
安裝啟動kafka
vim kafka config server.properties 確保唯一 broker.id 0 允許刪除主題 delete.topic.enable true 指定資料檔案所在目錄 log.dirs var local kafka logs zookeeper 的連線位址 zookeeper...