linux中kafka的常用命令
kafka是一種高吞吐量的分布式發布-訂閱 訊息系統,專為超高吞吐量的實時日誌採集、實時資料同步、實時資料計算等場景來設計。kafka是訊息中介軟體的一種,目前主流的訊息中介軟體有apache的activemq,linkedln開發的kafka(現已捐贈給apache),阿里的rocketmq。
優點:
缺點:對任意訊息佇列只能分區內有序而不能全域性有序
應用場景:
broker:kafka集群中的伺服器
topic:維護乙個主題中的訊息,可視為訊息分類
producer:向kafka主題發布(生產)訊息
consumer:訂閱(消費)主題並處理訊息
注:
注:資料可靠性保證:
①follower故障:follower故障會被臨時提出isr,待follower恢復後,follower會讀取本地磁碟記錄的上次hw,並將log檔案高於hw的部分擷取掉,從hw開始向leader同步,等follower的leo大於等於該partition的hw,重新加入isr。
②leader故障:從isr選出乙個新的leader,其餘follower會先將各自的log檔案高於hw的部分截掉,從新的leader同步資料,保證資料一致性。
沒有配置環境變數需切換至kafka安裝的根目錄,在相應命令前加上/bin
啟動kafka
①:前台啟動(會獨佔一視窗)
kafka-server-start.sh ./config/server.properties
②:後台啟動(加上daemon關鍵字)
kafka-server-start.sh -daemon ./config/server.properties
建立topic:
可以設定分割槽數與副本數,副本數不等大於brokers
kafka-topics.sh --create --zookeeper 192.168.206.129:2181 --topic testdemo --partitions 3 --replication-factor 1
建立生產者,產生資料:
kafka-console-producer.sh --topic testdemo --broker-list 192.168.206.129:9092
建立消費者,重頭開始取資料:
kafka-console-consumer.sh --bootstrap-server 192.168.206.129:9092 --topic testdemo --from-beginning
刪除topic:
這裡的ip位址不用改
kafka-topics.sh --zookeeper 127.0.0.1:2181 --delete --topic testdemo
檢視當前kafka中的所有topic列表 :
kafka-topics.sh --zookeeper 192.168.206.129:2181 --list
檢視某乙個topic詳情:
kafka-topics.sh --zookeeper 192.168.206.129:2181 --describe --topic testdemo
檢視某乙個topic訊息佇列數量:
kafka-run-class.sh kafka.tools.getoffsetshell --broker-list 192.168.206.129:9092 --topic testdemo -time -1 --offsets 1
spring核心原理簡述
最近閱讀了一下spring的核心 徹底弄懂了ioc和aop的實現原理,下面簡單的用自己的話總結歸納一下 web專案啟動時候,無論是使用tomcat 還是spring boot內嵌tomcat啟動,首先都會呼叫乙個servlet,spring使用的servlet是dispatcherservlet 2...
kafka核心原理總結
新霸哥發現在新的技術發展時代,訊息中介軟體也越來越受重視,很多的企業在招聘的過程中著重強調能夠熟練使用訊息中介軟體,所有做為乙個軟體開發愛好者,新霸哥在此提醒廣大的軟體開發朋友有時間多學習。kafka已經被很多的中小公司使用,訊息傳送接受,有用過的朋友可能就很清楚了,kafka是乙個支援分割槽的 分...
kafka核心原理總結
新霸哥發現在新的技術發展時代,訊息中介軟體也越來越受重視,很多的企業在招聘的過程中著重強調能夠熟練使用訊息中介軟體,所有做為乙個軟體開發愛好者,新霸哥在此提醒廣大的軟體開發朋友有時間多學習。kafka已經被很多的中小公司使用,訊息傳送接受,有用過的朋友可能就很清楚了,kafka是乙個支援分割槽的 分...