kafka集群:
kafka-1:192.168.19.202
kafka-2:192.168.19.203
1、部署zookeeper集群
以下步驟集群每個(gè)節(jié)點(diǎn)都要做挽铁,特別的步驟再做說(shuō)明伟桅。
添加hosts
[root@kafka-1 ~]# vim /etc/hosts
192.168.19.202 kafka-1
192.168.19.203 kafka-2
安裝jdk,安裝zookeeper叽掘,添加環(huán)境變量參考kafka安裝
編輯配置文件zoo.cfg
[root@kafka-1 ~]# vim /usr/zookeeper-3.4.8/conf/zoo.cfg
server.1=192.168.19.202:2888:3888
server.2=192.168.19.203:2888:3888
[root@kafka-1 ~]# vim /usr/zookeeper-3.4.8/conf/zoo.cfg
dataDir=/data/zookeeper/data
[root@kafka-1 ~]# mkdir -p /data/zookeeper/data
[root@kafka-1 ~]# cd /data/zookeeper/data/
[root@kafka-1 data]# ls
[root@kafka-1 data]# echo 1 > myid
[root@kafka-1 data]# ls
myid
[root@kafka-1 data]# cat myid
1
[root@kafka-2 ~]# cd /data/zookeeper/data/
[root@kafka-2 data]# echo 2 > myid
[root@kafka-2 data]# ls
myid
[root@kafka-2 data]# cat myid
2
myid的數(shù)值與zoo.cfg里“server.1”的數(shù)字對(duì)應(yīng)
服務(wù)啟動(dòng)
[root@kafka-1 bin]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.4.8/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
查看狀態(tài)
[root@kafka-1 bin]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: leader
[root@kafka-2 bin]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.4.8/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
查看狀態(tài)
[root@kafka-1 bin]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: follower
安裝kafka--參考kafka安裝
kafka配置楣铁,編輯配置文件server.properties
[root@kafka-1 config]# vim server.properties
broker.id=1(正整數(shù),唯一)
host.name=192.168.19.202(可有可無(wú))
log.retention.hours=168
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880
zookeeper.connect=192.168.19.202:2181,192.168.19.203:2181(指定zookeeper集群)
[root@kafka-2 config]# vim server.properties
broker.id=2
host.name=192.168.19.203
log.retention.hours=168
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880
zookeeper.connect=192.168.19.202:2181,192.168.19.203:2181
kafka開(kāi)啟
[root@kafka-1 kafka_2.11-0.11.0.1]# ./bin/kafka-server-start.sh config/server.properties &
[1] 2614
[root@kafka-2 kafka_2.11-0.11.0.1]# ./bin/kafka-server-start.sh config/server.properties &
[1] 2625
[root@kafka-1 kafka_2.11-0.11.0.1]# jps
2526 QuorumPeerMain
3780 Jps
3485 Kafka
[root@kafka-2 kafka_2.11-0.11.0.1]# jps
3765 Jps
3478 Kafka
2532 QuorumPeerMain
創(chuàng)建topic
[root@kafka-1 kafka_2.11-0.11.0.1]# ./bin/kafka-topics.sh --create --zookeeper 192.168.19.202:2181,192.168.19.203:2181 --replication-factor 2 --partitions 1 --topic xia
Created topic "xia".
查看已創(chuàng)建的topic
[root@kafka-1 kafka_2.11-0.11.0.1]# ./bin/kafka-topics.sh --list --zookeeper 192.168.19.202:2181,192.168.19.203:2181
xia
發(fā)送消息(192.168.19.202)
[root@kafka-1 kafka_2.11-0.11.0.1]# ./bin/kafka-console-producer.sh --broker-list 192.168.19.202:9092 --topic xia
>this is a test too
接收消息(192.168.19.203)
[root@kafka-2 kafka_2.11-0.11.0.1]# ./bin/kafka-console-consumer.sh --zookeeper 192.168.19.202:2181,192.168.19.203:2181 --topic xia --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].
this is a test too
this is a test too