三臺虛擬機搭建kafka集群(和zookeeper集群)

如果是為了簡單的調試娘赴,安裝單機版kafka也是可以的碰声。不過生產環(huán)境肯定是需要搭建集群耍共,所以這篇博客是記錄在本地虛擬機嘗試搭建kafka的集群,為生產做準備猎塞。
環(huán)境介紹:


一试读、環(huán)境介紹
  1. 三臺VMware上的centos7:
    192.168.220.129
    192.168.220.130
    192.168.220.131
    先在第一臺上做好前期準備工作,然后克隆生成后兩臺
  2. jdk8:java -version
    我用的是系統(tǒng)自帶的:
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
二荠耽、Zookeeper集群

kafka依賴zookeeper钩骇,所以我們需要先搭建zookeeper集群。

  1. 創(chuàng)建文件夾
mkdir zookeeper
mkdir zookeeper/zkdata
mkdir zookeeper/zkdatalog
  1. 下載zookeeper
    進入文件夾:cd zookeeper
    推薦直接在阿里巴巴開源鏡像站下載
    wget https://mirrors.aliyun.com/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
  2. 解壓
    tar -zxvf zookeeper-3.4.13.tar.gz
  3. 復制一份配置文件:zoo.cfg
cd zookeeper-3.4.13/conf
cp zoo_sample.cfg zoo.cfg
  1. 編輯配置文件vim zoo.cfg
#心跳間隔
tickTime=2000
#其他服務器連接到Leader時铝量,最長能忍受的心跳間隔數:10*2000 = 20秒
initLimit=10
#發(fā)送消息時倘屹,多長忍受心跳間隔數:5*2000 = 10秒
syncLimit=5
#快照日志
dataDir=/root/myapp/zookeeper/zkdata
#事務日志
dataLogDir=/root/myapp/zookeeper/zkdatalog
#客戶端連接zookeeper服務器的端口
clientPort=2181
#可以待后續(xù)克隆完剩下兩臺后,再寫上其他兩臺的ip
server.1=192.168.220.129:2888:3888
server.2=192.168.220.130:2888:3888
server.3=192.168.220.131:2888:3888
  1. 克隆該虛擬機慢叨,你也可以把kafka的準備工作做好后纽匙,再統(tǒng)一克隆
    如果你已經有多臺機子,則可跳過該步驟
    軟件VMware中拍谐,關閉虛擬機后,右鍵點擊對應虛擬機>>管理>>克隆
    為了不必要的麻煩轩拨,記得選擇:
    克隆虛擬機
  2. 修改每臺虛擬機里的zookeeper的zoo.cfg文件中的server ip信息
    查看本機ip:ifconfig
  3. 創(chuàng)建myid文件,對應zoo.cfg里的server.1气嫁、server.2当窗、server.3
#server1
echo "1" > xxxxxxxx/zookeeper/zkdata/myid
#server2
echo "2" > xxxxxxxx/zookeeper/zkdata/myid
#server3
echo "3" > xxxxxxxx/zookeeper/zkdata/myid
  1. 啟動
  • 每一臺:./bin/zkServer.sh start
  • 查看狀態(tài):./bin/zkServer.sh status
    查看狀態(tài)
  • 如果狀態(tài)異常,可以查看當前目錄下的zookeeper.out日志文件
  1. 停止:./bin/zkServer.sh stop
三寸宵、kafka集群
  1. 創(chuàng)建文件夾mkdir kafka
  2. 下載
    與zookeeper一樣崖面,推薦到阿里巴巴開源鏡像站下載
    wget https://mirrors.aliyun.com/apache/kafka/2.1.0/kafka_2.12-2.1.0.tgz
  3. 解壓
    tar -zxvf kafka_2.12-2.1.0.tgz
  4. 修改配置文件
    vim kafka_2.12-2.1.0/config/server.properties
    主要修改如下:
#分別是1/2/3!L萦啊N自薄!<坠鳌<蚴丁!8忻汀F呷拧!陪白!
broker.id=3
#對應ip
listeners=PLAINTEXT://192.168.220.131:9092
#對應ip
advertised.listeners=PLAINTEXT://192.168.220.131:9092
#zookeeper集群地址
zookeeper.connect=192.168.220.129:2181,192.168.220.130:2181,192.168.220.131:2181
  1. 啟動
    ./bin/kafka-server-start.sh -daemon ./config/server.properties
  • 控制臺查看日志
    ./bin/kafka-console-consumer.sh --bootstrap-server 192.168.220.129:9092 --topic kafka-topic
  • 如果正常的話颈走,則應該不會有任何輸出信息
    如果不正常,可查看詳細日志文件:
    tail -fn 100 logs/server.log
  1. 停止
    ./bin/kafka-server-stop.sh
    OK咱士!
四立由、Kafka Topic分區(qū)
  • 在后續(xù)實踐中才了解到分區(qū)的事情轧钓,簡而言之,為了讓不同的消息往不同的kafka server發(fā)送消息锐膜,實現負載均衡
  • 我們在創(chuàng)建Topic時毕箍,需要指定分區(qū)數
    ./bin/kafka-topics.sh --create --zookeeper zookeeper_ip1:2181,zookeeper_ip2:2181,zookeeper_ip3:2181 --replication-factor 3 --partitions 3 --topic your_topic
    建議分區(qū)數為server個數的整數倍
  • 或者修改分區(qū)
    ./bin/kafka-topics.sh --alter --zookeeper 10.12.4.38:2181,10.12.4.39:2181,10.12.4.40:2181 --topic kafka-new-topic --partitions 3
  • client在發(fā)送消息時,指定往某個分區(qū)發(fā)送
  • 查看指定分區(qū)的日志道盏,例如分區(qū):2
    ./bin/kafka-console-consumer.sh --bootstrap-server 192.168.220.129:9092 --topic your_topic --partition 2
五而柑、其它常用命令
  • 查看所有topic
    bin/kafka-topics.sh --zookeeper node01:2181 --list
  • 查看某個topic信息
    bin/kafka-topics.sh --zookeeper node01:2181 --describe --topic your_topic
  • 控制臺發(fā)送消息
    bin/kafka-console-producer.sh --broker-list {kafka-ip1}:9092 --topic your_topic
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市荷逞,隨后出現的幾起案子牺堰,更是在濱河造成了極大的恐慌,老刑警劉巖颅围,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異恨搓,居然都是意外死亡院促,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進店門斧抱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來常拓,“玉大人,你說我怎么就攤上這事辉浦∨В” “怎么了?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵掂恕,是天一觀的道長弛槐。 經常有香客問我,道長乎串,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任鸯两,我火速辦了婚禮钧唐,結果婚禮上蕉斜,老公的妹妹穿的比我還像新娘缀棍。我一直安慰自己爬范,他們只是感情好,可當我...
    茶點故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布青瀑。 她就那樣靜靜地躺著斥难,像睡著了一般帘饶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上镀裤,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天缴饭,我揣著相機與錄音,去河邊找鬼担猛。 笑死丢氢,一個胖子當著我的面吹牛,可吹牛的內容都是我干的疚察。 我是一名探鬼主播,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼衅枫!你這毒婦竟也來了?” 一聲冷哼從身側響起步咪,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤益楼,失蹤者是張志新(化名)和其女友劉穎点晴,沒想到半個月后粒督,有當地人在樹林里發(fā)現了一具尸體禽翼,經...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年锐墙,在試婚紗的時候發(fā)現自己被綠了溪北。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片夺脾。...
    茶點故事閱讀 38,687評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡劳翰,死狀恐怖馒疹,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情生均,我是刑警寧澤腥刹,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布,位于F島的核電站佩脊,受9級特大地震影響垫卤,放射性物質發(fā)生泄漏。R本人自食惡果不足惜歇盼,卻給世界環(huán)境...
    茶點故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一评抚、第九天 我趴在偏房一處隱蔽的房頂上張望伯复。 院中可真熱鬧邢笙,春花似錦、人聲如沸鸣剪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽厌均。三九已至告唆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間模她,已是汗流浹背懂牧。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工僧凤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人躯保。 一個月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓途事,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鲁森。 傳聞我的和親對象是個殘疾皇子振惰,可洞房花燭夜當晚...
    茶點故事閱讀 43,576評論 2 349

推薦閱讀更多精彩內容