2.kafka的shell操作
2.2生產資料
2.3消費資料
3.總結
安裝節點要求:
1.1上傳安裝包
put c:/kafka_2.11-1.1.1.tgz
1.2解壓
1.3配置環境變數
vim ~/.bash_profile
按g跳到最後一行按o向下插入,儲存退出
export path=
$path
:$kafka_home/bin
source ~/.bash_profile
1.4配置server.properties檔案vim $kafka_home/config/server.properties
修改以下三個地方即可
broker.id=1 ## 當前kafka例項的id,必須為整數,乙個集群中不可重複
log.dirs=/home/hadoop/data/kafka ## 生產到kafka中的資料儲存的目錄,目錄需要手動建立
zookeeper.connect=hadoop01:2181,hadoo02:2181,hadoop03:2181/kafka ## kafka資料在zk中的儲存目錄
1.5同步到其他機器
傳送kafka
傳送配置檔案
scp -r ~/.bash_profile hadoop02:~/.bash_profile
scp -r ~/.bash_profile hadoop03:~/.bash_profile
source ~/.bash_profile
1.6建立資料目錄
給三颱機器都建立一下資料目錄
mkdir -p /home/hadoop/data/kafka
1.7啟動kafka服務
注意:啟動kafka之前要保證zookeeper已經開啟
可以用命令檢視kafka程序是否啟動
1.8驗證
進入zookeeper的客戶端
只要kafka的服務都在zookeeper中進行了註冊,便說明kafka已經安裝啟動成功
2.1topic的curd操作
2.1.1建立topic
kafka-topics.sh --create \
--topic hadoop \
--zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181/kafka \
--partitions 3 \
--replication-factor 3
注意:指定副本因子的時候,不能大於broker例項個數,否則報錯!2.1.2檢視topic的列表
kafka-topics.sh --list \
--zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181/kafka
2.1.3檢視每乙個topic的資訊
2.1.4修改乙個topic
kafka-topics.sh --alter --topic hadoop --partitions 4 --zookeeper hadoop01:2181/kafka
注意:partition個數,只能增加,不能減少2.1.5刪除乙個topic
kafka-topics.sh --delete --topic test --zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181/kafka
刪除之後可以檢視一下列表
kafka-topics.sh --list test --zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181/kafka
可以發現topic hadoop 已經被刪除
2.2生產資料
2.3消費資料
在另一台機器上
沒資料,原因在於消費者後於生產者啟動,在消費者啟動之前生產者消費的資料變不能直接獲取,如果想要獲取消費者啟動之前生產者生產的資料,可以新增乙個引數–from-beginning
kafka消費者在消費資料的時候,都是分組別的。不同組的消費不受影響,相同組內的消費,需要注意,如果partition有3個,消費者有3個,那麼便是每乙個消費者消費其中乙個partition對應的資料;如果有2個消費者,此時乙個消費者消費其中乙個partition資料,另乙個消費者消費2個partition的資料。如果有超過3個的消費者,同一時間只能最多有3個消費者能消費得到資料。
offset是kafka的topic中的partition中的每一條訊息的標識,如何區分該條訊息在kafka對應的partition的位置,就是用該偏移量。offset的資料型別是long,8個位元組長度。offset在分區內是有序的,分區間是不一定有序。如果想要kafka中的資料全域性有序,就只能讓partition個數為1。在組內,kafka的topic的partition個數,代表了kafka的topic的並行度,同一時間最多可以有多個執行緒來消費topic的資料,所以如果要想提高kafka的topic的消費能力,應該增大partition的個數
Kafka 集群部署
kafka是乙個分布式訊息佇列,需要依賴zookeeper,請先安裝好zk集群 kafka安裝包解壓 tar xf kafka 2.10 0.9.0.1 tgz mv kafka 2.10 0.9.0.1 usr kafka cd usr kafka 配置檔案 server.properties t...
kafka集群部署
一台伺服器上可以啟動多個broker例項,或者將broker部署到多台伺服器上,以下以172.16.50.21集群為例,多台伺服器上部署broker。tar xzf kafka 2.11 1.0.0.tgz cd kafka 2.11 1.0.0kafka依賴zookeeper,如果環境中沒有zoo...
Kafka集群部署
前提 在啟動kafaka集群,呼叫 bin kafka server start.sh config server.properties 前,需要把每台機器上zookeeper服務都給啟動了。zookeeper的安裝配置看,1 kafka集群規劃 s101 s102 s103 s104 zk zk ...