Kafka叢集配置及UI監控
阿新 • • 發佈:2019-01-09
- 配置:5臺機器 系統版本CentOS release 6.5
- host1,host2,host3搭建zookeeper叢集
- host1,host2,host3,host4,host5搭建kafka叢集
- zookeeper使用kafka中自帶的
一、環境配置
kafka下載,解壓,設定軟連結
目錄 /usr/lib/
wget http://apache.fayea.com/kafka/0.10.0.0/kafka_2.11-0.10.0.0.tgz
tar -zxf kafka_2.11-0.10.0.0.tgz
ln -s kafka_2.11-0.10.0.0 kafka
1.配置zookeeper
目錄 /usr/lib/kafka
vim config/zookeeper.properties
修改
dataDir=/data/zookeeper/ #zookeeper元資訊路徑
#maxClientCnxns=0
新增
tickTime=2000
initLimit=5
syncLimit=2
server.1=host1:2888:3888
server.2=host2:2888:3888
server.3=host3:2888:3888
在dataDir目錄中新增標示
echo 1 >/data/zookeeper/myid //1對應server.1
2.配置kafka
vim config/server.properties
broker.id=0(每臺不一樣)
port=9092
host.name=host1
advertised.host.name=host1
log.dirs=/data/kafka-logs
num.partitions=5
log.retention.hours=168 #topic預設儲存一週
3.修改consumer 和 producer
vim /consumer.properties
zookeeper.connect=host1:2181,host2:2181,host3:2181
vim /producer.properties
bootstrap.servers=host1:9092,host2:9092,host3:9092,host4:9092,host5:9092
先建立好所需路徑
mkdir /data/zookeeper
midir /data/kafka-logs
接下來將host1中配置好的kafka複製到其它機器中,需要配置scp
二.配置機器scp
ssh-keygen -t rsa
三次回車
將生成的/root/.ssh/id_rsa.pub中的內容,貼上到其他機器的/root/.ssh/authorized_keys中
*注意複製貼上時檢查中間是否藏了回車
其他機器 vim /etc/hosts.allow 新增
sshd :host1 :allow
之後在host1中,可以進行scp檔案傳輸
scp -r kafka_2.11-0.10.0.0 host2:/usr/lib/
登入其他機器,修改server.properties
broker.id=1
host.name=host2
advertised.host.name=host3
建立myid
echo 2 >/data/zookeeper/myid
三.啟動
zookeeper
目錄:/usr/lib/kafka
bin/zookeeper-server-start.sh config/zookeeper.properties &
分別在三臺機器上啟動,啟動前兩臺時因連不上其他機器,可能報錯,等三臺機器都啟動zookeeper後錯誤消失
kafka
目錄:/usr/lib/kafka
JMX_PORT=9991 bin/kafka-server-start.sh config/server.properties &
JMX_PORT=9992 bin/kafka-server-start.sh config/server.properties &
JMX_PORT=9993 bin/kafka-server-start.sh config/server.properties &
JMX_PORT=9994 bin/kafka-server-start.sh config/server.properties &
JMX_PORT=9995 bin/kafka-server-start.sh config/server.properties &
分別在五臺機器上啟動,命令前帶引數JMX_PORT,五個不可重複
四、UI環境搭建:
1.Kafka Manager
*下載,編譯及執行 需要java8或以上
git clone https://github.com/yahoo/kafka-manager
cd kafka-manager
./sbt clean dist
cd kafka-manager/target/universal
unzip kafka-manager-1.3.0.8.zip
cd kafka-manager-1.3.0.8
bin/kafka-manager
訪問:host1:9000
2.Kafka Monitor
下載:
執行:
java -Xms1024M -Xmx1024M -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=1024m -cp KafkaOffsetMonitor-assembly-0.2.1.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk host1:2181,host2:2181,host3:2181 --port 8086 --refresh 10.seconds --retain 7.days > mobile-logs/stdout.log 2> mobile-logs/stderr.log &
訪問:host1:8086
五、測試:
目錄:/usr/lib/kafka
建立Topic
在Kafka Manager中,點選Topic->create
設定Topic名稱,分割槽數,備份數,這裡設為2備份,5分割槽
生產者
任意一臺機器上
bin/kafka-console-producer.sh --broker-list host1:9092,host2:9092,host3:9092,host4:9092,host5:9092 --topic test
消費者
任意一臺機器上
bin/kafka-console-consumer.sh --zookeeper host1:2181 --from-beginning --topic test