Kafka學習筆記
阿新 • • 發佈:2020-11-21
Kafka學習筆記
一、Kafka快速入門
1、安裝部署
1.1.1叢集規劃
伺服器1 | 伺服器2 | 伺服器3 |
---|---|---|
Zookeeper | Zookeeper | Zookeeper |
kafka | kafka | kafka |
1.1.2叢集部署
1)解壓安裝包
[gaocl@hadoop102 software]$ tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/module/
2)修改解壓後的檔名稱
[gaocl@hadoop102 module]$ mv kafka_2.11-0.11.0.0/ kafka
3)在/opt/module/kafka目錄下建立logs資料夾
[gaocl@hadoop102 kafka]$ mkdir logs
4)修改配置檔案
[gaocl@hadoop102 kafka]$ cd config/
[gaocl@hadoop102 config]$ vi server.properties
輸入以下內容:
#broker的全域性唯一編號,不能重複 broker.id=0 #刪除topic功能使能 delete.topic.enable=true #處理網路請求的執行緒數量 num.network.threads=3 #用來處理磁碟IO的現成數量 num.io.threads=8 #傳送套接字的緩衝區大小 socket.send.buffer.bytes=102400 #接收套接字的緩衝區大小 socket.receive.buffer.bytes=102400 #請求套接字的緩衝區大小 socket.request.max.bytes=104857600 #kafka執行日誌存放的路徑 log.dirs=/opt/module/kafka/logs #topic在當前broker上的分割槽個數 num.partitions=1 #用來恢復和清理data下資料的執行緒數量 num.recovery.threads.per.data.dir=1 #segment檔案保留的最長時間,超時將被刪除 log.retention.hours=168 #配置連線Zookeeper叢集地址 zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181
5)配置環境變數
[gaocl@hadoop102 module]$ sudo vi /etc/profile
\#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
[gaocl@hadoop102 module]$ source /etc/profile
6)分發安裝包
[gaocl@hadoop102 module]$ xsync kafka/
注意:分發之後記得配置其他機器的環境變數
分發指令碼
#!/bin/bash #1 獲取輸入引數個數,如果沒有引數,直接退出 pcount=$# if((pcount==0)); then echo no args; exit; fi #2 獲取檔名稱 p1=$1 fname=`basename $p1` echo fname=$fname #3 獲取上級目錄到絕對路徑 –P指向實際實體地址,防止軟連線 pdir=`cd -P $(dirname $p1); pwd` echo pdir=$pdir #4 獲取當前使用者名稱稱 user=`whoami` #5 迴圈 for((host=102; host<105; host++)); do echo ------------------- hadoop$host -------------- rsync -rvl $pdir/$fname $user@hadoop$host:$pdir done
7)分別在hadoop103和hadoop104上修改配置檔案/opt/module/kafka/config/server.properties中的broker.id=1、broker.id=2
注:broker.id不得重複
8)啟動叢集
依次在hadoop102、hadoop103、hadoop104節點上啟動kafka
[gaocl@hadoop102 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
[gaocl@hadoop103 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
[gaocl@hadoop104 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
9)關閉叢集
[gaocl@hadoop102 kafka]$ bin/kafka-server-stop.sh
[gaocl@hadoop103 kafka]$ bin/kafka-server-stop.sh
[gaocl@hadoop104 kafka]$ bin/kafka-server-stop.sh
10)kafka群起指令碼
for i in `cat /opt/module/hadoop-2.7.2/etc/hadoop/slaves`
do
echo "========== $i =========="
ssh $i 'source /etc/profile&&/opt/module/kafka_2.11-0.11.0.2/bin/kafka-server-start.sh -daemon /opt/module/kafka_2.11-0.11.0.2/config/server.properties'
echo $?
done