Kafka集群環(huán)境需要以下環(huán)境支持:
- Java環(huán)境(kafka新版本要求Java8)
- Zookeeper環(huán)境
Java環(huán)境搭建
按照相關(guān)教程搭建java環(huán)境
zookeeper環(huán)境搭建
- 搭建好Java環(huán)境
- 官網(wǎng)下載zookeeper tar包孵延,地址,我下載的是zookeeper-3.4.10.tar.gz
- 將下載下來(lái)的壓縮包上傳到指定服務(wù)器相關(guān)目錄(/data/bigdata),并解壓,命令:
[root@localhost bigdata]# tar -zxvf zookeeper-3.4.10.tar.gz #解壓
[root@localhost bigdata]# cd zookeeper-3.4.10
[root@localhost zookeeper-3.4.10]# mv conf/zoo_sample.cfg zoo.cfg #重命名配置文件
- 修改配置文件,主要修改以下幾個(gè)地方:
# 數(shù)據(jù)文件存放地址
dataDir=/data/bigdata/zookeeper-3.4.10/data
# log 文件存放地址
dataLogDir=/data/bigdata/zookeeper-3.4.10/log
# 端口
clientPort=2181
# 監(jiān)聽(tīng)端口
server.1=192.168.19.25:2888:3888 #192.168.19.25 server id為1
server.2=192.168.19.32:2888:3888 #192.168.19.32 server id為2
server.3=192.168.19.33:2888:3888 #192.168.19.33 server id為3
- 新建數(shù)據(jù)存放文件的data目錄(配置文件中dataDir所指向的路徑):
[root@localhost zookeeper-3.4.10]# mkdir data #新建data目錄
[root@localhost data]# vi myid #新建myid文件
[root@localhost data]# echo 1>>myid #寫入server1的id為1
- 將server1的zookeeper包拷貝到32和33
[root@localhost zookeeper-3.4.10] scp -r ../zookeeper-3.4.10 root@192.168.19.32:/data/bigdata #拷貝到32
[root@localhost zookeeper-3.4.10] scp -r ../zookeeper-3.4.10 root@192.168.19.33:/data/bigdata #拷貝到33
分別將zookeeper data目錄下的myid文件作相應(yīng)的修改(32的myid修改為2甩栈,33的myid修改為3)
- 啟動(dòng)zookeeper:
[root@localhost zookeeper-3.4.10]# bin/zkServer.sh start
分別啟動(dòng)三臺(tái)server佳遂,使用jps命令看到如下進(jìn)程
[root@localhost data]# jps
4119 QuorumPeerMain
19147 Jps
表示zookeeper啟動(dòng)完成狸页。
kafka環(huán)境部署
- 下載kafka壓縮包落恼,地址
- 上傳到對(duì)應(yīng)服務(wù)器的相關(guān)目錄箩退,比如/data/bigdata,并解壓縮
- 修改配置文件佳谦,配置文件在config/server.properties戴涝,主要修改以下位置:
# broker.id參數(shù),需保證同一集群內(nèi)參數(shù)唯一钻蔑,integer
broker.id=32
listeners=PLAINTEXT://192.168.19.32:9092
host.name=192.168.19.32
advertised.listeners=PLAINTEXT://192.168.19.32:9092
max.request.size=50000000
# kafka 數(shù)據(jù)存放目錄
log.dirs=/data/bigdata/kafka/kafka-logs
# 數(shù)據(jù)存放時(shí)間
log.retention.hours=24
# zookeeper連接地址
zookeeper.connect=192.168.19.25:2181,192.168.19.32:2181,192.168.19.33:2181
# Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=6000
# 刪除topic
delete.topic.enable=true
# 自動(dòng)創(chuàng)建topic
auto.create.topics.enable=false
# topic一次存取的最大數(shù)據(jù)量
message.max.byte=52428800
其他幾臺(tái)服務(wù)器作相應(yīng)的修改啥刻,但必須保證broker.id參數(shù)在一個(gè)kafka集群里唯一!
- kafka內(nèi)存分配
kafka對(duì)內(nèi)存的要求不是特別高咪笑,默認(rèn)1G,可以根據(jù)服務(wù)器的實(shí)際情況分配內(nèi)存大小郑什,修改位置:
[root@localhost kafka]# vi bin/kafka-server-start.sh
...
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-Xmx4G -Xms4G" ##修改內(nèi)存大小,這里修改為4G
fi
...
5.啟動(dòng)kafka蒲肋,分別在各臺(tái)服務(wù)器啟動(dòng)kafka進(jìn)程
[root@localhost kafka]# bin/kafka-server-start.sh -daemon config/server.properties #后臺(tái)啟動(dòng)kafka進(jìn)程
- 使用jps命令查看進(jìn)程:
[root@localhost kafka]# jps
20754 Jps
18422 Kafka
4119 QuorumPeerMain
表示kafka啟動(dòng)成功蘑拯!
kafka manager安裝
kafka manager用于查看kafka集群,以及針對(duì)kafka的topic進(jìn)行一些配置工作兜粘,安裝相當(dāng)簡(jiǎn)單:
- 下載安裝包申窘,地址
- 解壓該zip包并上傳至服務(wù)器相關(guān)目錄
drwxr-xr-x. 7 root root 143 Jul 2 16:54 kafka-manager
- 修改配置文件conf/application.conf添加kafka的zookeeper地址,如下:
kafka-manager.zkhosts="192.168.19.25:2181,192.168.19.32:2181,192.168.19.33:2181"
- 啟動(dòng)kafkaManager
[root@localhost kafka-manager]# nohup bin/kafka-manager &
- 訪問(wèn)http://[hostip]:9000即可