一、kafka集羣搭建

1、集羣配置

102 103 104
zk zk zk
kfk kfk kfk

2、下載地址
http://kafka.apache.org/downloads.html

3、集羣部署

1)解壓安裝包
[root@hadoop102 software]$ tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/module/

2)修改解壓後的文件名稱
[root@hadoop102 module]$ mv kafka_2.11-0.11.0.0/ kafka

3)在/opt/module/kafka目錄下創建logs文件夾
[root@hadoop102 kafka]$ mkdir logs

4)修改配置文件
[root@hadoop102 kafka]$ cd config/
[root@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)配置環境變量
[root@hadoop102 module]$ sudo vi /etc/profile

#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin

[root@hadoop102 module]$ source /etc/profile

6)分發安裝包
[root@hadoop102 module]$ xsync kafka/
	注意:分發之後記得配置其他機器的環境變量

7)分別在hadoop103和hadoop104上修改配置文件/opt/module/kafka/config/server.properties中的broker.id=1、broker.id=2
	注:broker.id不得重複

8)啓動集羣
依次在hadoop102、hadoop103、hadoop104節點上啓動kafka
[root@hadoop102 kafka]$ bin/kafka-server-start.sh config/server.properties &
[root@hadoop103 kafka]$ bin/kafka-server-start.sh config/server.properties &
[root@hadoop104 kafka]$ bin/kafka-server-start.sh config/server.properties &

9)關閉集羣
[root@hadoop102 kafka]$ bin/kafka-server-stop.sh stop
[root@hadoop103 kafka]$ bin/kafka-server-stop.sh stop
[root@hadoop104 kafka]$ bin/kafka-server-stop.sh stop

10)集羣管理腳本

#!/bin/sh
# 判斷參數長度
if [ $# -gt 1 ]
then
echo '參數不能大於1個~~'
exit 1
fi
#參數判斷
case $1 in
"start")
        echo "-----啓動kafka集羣----"
		 #集羣操作
		for i in hadoop102 hadoop103 hadoop104
		do
		echo "--------- 啓動" $i ---------
		#進入節點,啓動腳本,將控制檯信息寫入null 黑洞中
		ssh $i "source /etc/profile;nohup /opt/module/kafka/bin/kafka-server-start.sh /opt/module/kafka/config/server.properties >/dev/null 2>&1 &"
		done
;;

"stop")
        echo "-----停止kafka集羣----"
         #集羣操作
		for i in hadoop102 hadoop103 hadoop104
		do
		echo "---------停止kafa集羣 " $i ---------
		#進入節點,操作
		ssh $i "source /etc/profile;/opt/module/kafka/bin/kafka-server-stop.sh $1"
		done
;;

"status")
        echo "-----查看kafka集羣----"
;;
*)
        echo "-----參數無法識別----"
exit 1
;;
esac

echo '------集羣操作結束------'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章