搭建kafka及zookeeper集群


要搭建一個kafka集群,但是kafka又是基於zookeeper的,所以需要先搭建一個zookeeper集群

環境:centos 7(虛擬機)

jdk :1.8(官網下載)

zookeeper:3.4.9(官網下載即可)

接下來:

1. 解壓 tar --zxvf zookeeper-3.4.9.tar.gz

2. 重命名 mv zookeeper-3.4.9 zookeeper

3. 創建文件夾

cd zookeeper

mkdir logs

mkdir data

4. 進入conf文件夾下,復制配置文件zoo_sample.cfg,並將新文件夾命令為zoo.cfg

5. 修改zoo.cfg的內容:vi zoo.cfg

clientPort=2181
dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/logs

server.1=192.168.56.72:2881:3881
server.2=192.168.56.73:2881:3881
server.3=192.168.56.74:2881:3881

其中的data和logs文件夾就是之前創建的

 6. 創建myid文件,就是在data目錄下創建即可

值是面server后面的數字,我的三台虛擬機的myid文件的值分別是1,2,3,和上面的配置對應上了

 這樣配置就可以了。

驗證一下效果:

分別啟動一下zookeeper,進入bin目錄 ./zkServer.sh start

通過jps查看:

看到QuorumPeerMain就代表成功了,也可以執行./zkServer.sh status

zookeeper已經安裝完畢接下來進行kafka的安裝:

我用的kafak是 https://archive.apache.org/dist/kafka/0.8.1/kafka_2.9.2-0.8.1.tgz 

1.解壓:tar -zxvf kafka_2.9.2-0.8.1.tgz 並命名為kafka

2.創建logs文件夾,后面配置會用到

3.修改config文件下的server.properties文件

broker.id=0 //這個值建議與zookeeper里面的myid保持一致

host.name = 192.168.56.72 //本機ip,不要配置為localhost

log.dir= /opt/kafka/logs  //剛才創建的logs文件夾

zookeeper.connect = 192.168.56.72:2181,192.168.56.73:2181,192.168.56.74:2181

message.max.byte=5048576     //kafka一條消息容納的消息最大為多少

default.replication.factor=2   //每個分區默認副本數量

replica.fetch.max.bytes=5048576

4.配置完成后啟動kafka

bin/kafak-server-start.sh ./config/server.properties (如需后台啟動,加上參數-daemon)

另外如果報錯,需要加入slf4j-nop-1.7.6.jar(放置在kafak/lib下面)

附鏈接:http://www.slf4j.org/dist/slf4j-1.7.6.zip

如果還報錯,嘗試關閉防火牆,由於用的是centos 7:

systemctl stop firewalld.service

systemctl disable firewalld.service

驗證結果:

創建topic

./kafak-topics.sh --create zookeeper 192.168.56.72:2181 --replication-factor 1 --partition --topic check

查看topic列表

./kafka-topics.sh --lst --zookeeper 192.168.56.72:21281

生產者發送消息

./kafak-console-producer.sh --broker-list 192.168.56.72:9092 --topic check

消費者消費消息

./kafka-console-consumer.sh --zookeeper 192.168.56.72:2181 --topic check --from-beginning

實例截圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM