1. 程式人生 > >雲伺服器環境安裝與配置:kafka叢集

雲伺服器環境安裝與配置:kafka叢集

本文詳細說明kafka叢集安裝和命令列的基本使用

環境

  • zk叢集:192.168.31.201、192.168.31.202、192.168.31.203
  • Centos7 三臺

  • 對齊時鐘

  • kafka版本:kafka_2.11-1.1.0.tgz

安裝

1,傳包與解壓

去kafka官網下載即可[官網下載](http://kafka.apache.org/downloads.html)

本案例使用kafka_2.11-1.1.0.tgz 上傳到伺服器。

解壓與重新命名(包放在了/usr/local/src下)

tar -zvxf kafka_2.11-1.1.0.tgz
mv /usr/local/src/kafka_2.11-1.1.0 /usr/local/kafka

2,建立log資料夾

mkdir /usr/local/kafka/kafkalogs

3,配置kafka

注這裡更多配置請前往官方文件檢視

cd /usr/local/kafka/config
vi server.properties

配置項如下
broker.id=0      //當前機器在叢集中的唯一標識
port=9092       //kafka對外提供服務的tcp埠
host.name=192.168.31.201    //主機IP地址
log.dirs=/usr/local/kafka/kafkalogs    //log存放目錄
message.max.byte=5048576     //kafka一條訊息容納的訊息最大為多少
default.replication.factor=2   //每個分割槽預設副本數量
replica.fetch.max.bytes=5048576   
zookeeper.connect=192.168.31.201:2181, 192.168.31.202:2181, 192.)168.31.203:2181

4,分發配置好的kafka檔案

注:mini2和mini3分別是192.168.31.202,192.168.31.203的主機別名,我已加入/etc/hosts檔案中,故可這樣別名寫法

scp -r /usr/local/kafka [email protected]:/usr/local/kafka
scp -r /usr/local/kafka [email protected]:/usr/local/kafka

5,修改另兩臺檔案中的broker.id值和host.name值

把server.properties檔案中的brokerid值做修改,不能三臺機器一樣的標識

6,啟動kafka叢集

進入KAFKA_HOME(/usr/local/kafka),後臺啟動

 bin/kafka-server-start.sh  -daemon config/server.properties

測試叢集

三臺機器都使用jps命令檢查

[[email protected] kafka]# jps
1146 QuorumPeerMain
1851 Jps
1791 Kafka

命令列驗證

1 建立topic

bin/kafka-topics.sh --create --zookeeper 192.168.31.201:2181 --replication-factor 1 --partitions 1 --topic test

2 檢視topic

bin/kafka-topics.sh --list --zookeeper 192.168.31.201:2181

3 開啟發送者(生產者)併發送訊息

bin/kafka-console-producer.sh --broker-list 192.168.31.201:9092 --topic test

4 開啟消費者並接收訊息

bin/kafka-console-consumer.sh --zookeeper 192.168.31.201:2181 --topic test --from-beginning

[附錄]操作完整流程

進入到/usr/local/kafka

[[email protected] kafka]# ls
bin  config  kafkalogs  libs  LICENSE  NOTICE  site-docs
[[email protected] kafka]# bin/kafka-server-start.sh  -daemon config/server.properties
[[email protected] kafka]# jps
4765 Kafka
4835 Jps
4444 QuorumPeerMain
[[email protected] kafka]# bin/kafka-topics.sh --create --zookeeper 192.168.31.201:2181 --replication-factor 1 --partitions 1 --topic test
Created topic "test".
[[email protected] kafka]# bin/kafka-topics.sh --list --zookeeper 192.168.31.201:2181
test
[[email protected] kafka]# bin/kafka-console-producer.sh --broker-list 192.168.31.201:9092 --topic test
>hello
>world
>i an^Hm e producer
>heihei
>^C[[email protected] kafka]# 
[[email protected] kafka]# bin/kafka-console-consumer.sh --zookeeper 192.168.31.201:2181 --topic test --from-beginning
Using the ConsoleConsumer with old consumer is deprecated and will be removed in a future major release. Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper].
hello
world
i am e producer
heihei
^CProcessed a total of 4 messages
[[email protected] kafka]#