1. 程式人生 > >kafka+zookeeper偽叢集搭建

kafka+zookeeper偽叢集搭建

(一.zookeeper偽叢集搭建)1.建立3個zoo.cfg(zoo1.cfg,zoo2.cfg,zoo3.cfg)zoo1.cfg 設定:# 資料資料夾dataDir=/usr/local/zookeeper/data/data1# 日誌資料夾dataLogDir=/usr/local/zookeeper/logs/logs1clientPort=2181server.1=192.168.94.132:2887:3887server.2=192.168.94.132:2888:3888server.3=192.168.94.132:2889:3889zoo2.cfg 設定:# 資料資料夾dataDir=/usr/local/zookeeper/data/data2
# 日誌資料夾dataLogDir=/usr/local/zookeeper/logs/logs2clientPort=2182server.1=192.168.94.132:2887:3887server.2=192.168.94.132:2888:3888server.3=192.168.94.132:2889:3889zoo3.cfg 設定:# 資料資料夾dataDir=/usr/local/zookeeper/data/data3# 日誌資料夾dataLogDir=/usr/local/zookeeper/logs/logs2clientPort=2183server.1=192.168.94.132:2887:3887
server.2=192.168.94.132:2888:3888server.3=192.168.94.132:2889:38892.建立3個myid在usr/local/zookeeper/data/datax下闖進myid檔案作為識別符號,對應server.x數字3.啟動偽叢集服務    bin/zkServer.sh start conf/zoo1.cfgbin/zkServer.sh start conf/zoo2.cfgbin/zkServer.sh start conf/zoo3.cfg4.檢視偽叢集服務每個zookeeper狀態[[email protected] zookeeper-3.4.11]# bin/zkServer.sh status conf/zoo1.cfg
ZooKeeper JMX enabled by defaultUsing config: conf/zoo1.cfgMode: follower[[email protected] zookeeper-3.4.11]# bin/zkServer.sh status conf/zoo2.cfgZooKeeper JMX enabled by defaultUsing config: conf/zoo2.cfgMode: leader[[email protected] zookeeper-3.4.11]# bin/zkServer.sh status conf/zoo3.cfgZooKeeper JMX enabled by defaultUsing config: conf/zoo3.cfgMode: follower(二.kafka偽叢集搭建)1. 將配置檔案拷貝多份[root@master zookeeper-3.4.11]$cp config/server.properties config/server-1.properties[root@master zookeeper-3.4.11]$cp config/server.properties config/server-2.properties[root@master zookeeper-3.4.11]$cp config/server.properties config/server-3.properties2.修改每個server-x.propertiesserver-1.properties 設定:broker.id=1port=9092host.name=192.168.94.132log.dirs=/usr/local/kafka/kafka-logs-1message.max.byte=5242880default.replication.factor=2replica.fetch.max.bytes=5242880zookeeper.connect=192.168.94.132:2181,192.168.94.132:2182,192.168.94.132:2183# 可刪除topicdelete.topic.enable=trueserver-2.properties 設定:broker.id=2port=9093host.name=192.168.94.132log.dirs=/usr/local/kafka/kafka-logs-2message.max.byte=5242880default.replication.factor=2replica.fetch.max.bytes=5242880zookeeper.connect=192.168.94.132:2181,192.168.94.132:2182,192.168.94.132:2183# 可刪除topicdelete.topic.enable=trueserver-3.properties 設定:broker.id=3port=9093host.name=192.168.94.132log.dirs=/usr/local/kafka/kafka-logs-3message.max.byte=5242880default.replication.factor=2replica.fetch.max.bytes=5242880zookeeper.connect=192.168.94.132:2181,192.168.94.132:2182,192.168.94.132:2183# 可刪除topicdelete.topic.enable=true每個kafka的broker.id不一樣,作為唯一識別符號

(三)啟動叢集測試

注:啟動時:先啟動 zookeeper,後啟動 kafka;關閉時:先關閉 kafka,後關閉zookeeper1. 分別在每個節點上啟動zookeeper[root@master zookeeper-3.4.11]$ bin/zkServer.sh start conf/zoo1.cfg[root@worker1 zookeeper-3.4.11]$ bin/zkServer.sh start conf/zoo2.cfg[root@worker2 zookeeper-3.4.11]$ bin/zkServer.sh start conf/zoo3.cfg2.驗證zookeeper叢集# 在master節點上[root@master zookeeper-3.4.11]$ bin/zkServer.sh status conf/zoo1.cfg# 在worker1節點上[root@worker1 zookeeper-3.4.11]$ bin/zkServer.sh status conf/zoo2.cfg# 在worker2節點上[root@worker2 zookeeper-3.4.11]$ bin/zkServer.sh status conf/zoo3.cfg顯示結果為:有一個是leader,剩下的都是follower3.啟動kafka叢集後臺啟動方式:[root@master kafka_2.12-1.1.0]$ bin/kafka-server-start.sh -daemon config/server-1.properties[root@master kafka_2.12-1.1.0]$ bin/kafka-server-start.sh config/server.properties config/server-1.properties[root@worker1 kafka_2.12-1.1.0]$ bin/kafka-server-start.sh config/server.properties config/server-1.properties[root@worker2 kafka_2.12-1.1.0]$ bin/kafka-server-start.sh config/server.properties config/server-1.properties4.測試kafka叢集4.1 建立 topic 和 顯示 topic 資訊# 建立topicbin/kafka-topics.sh --create --zookeeper 192.168.94.132:2181,192.168.94.132:2182,192.168.94.132:2183 --replication-factor 3 --partitions 3 --topic test# 顯示topic資訊bin/kafka-topics.sh --describe --zookeeper 192.168.94.132:2181,192.168.94.132:2182,192.168.94.132:2183 --topic test# 列出topicbin/kafka-topics.sh --list --zookeeper 192.168.94.132:2181,192.168.94.132:2182,192.168.94.132:21834.2 建立 producerbin/kafka-console-producer.sh --broker-list master:9092 -topic test4.3 建立 consumer# 測試消費 也可分別做測試bin/kafka-console-consumer.sh --zookeeper 192.168.94.132:2181,192.168.94.132:2182,192.168.94.132:2183 -topic test --from-beginning然後在 producer 裡輸入訊息,consumer 中就會顯示出同樣的內容,表示消費成功4.3刪除節點bin/kafka-topics.sh --delete --zookeeper 192.168.94.132:2181,192.168.94.132:2182,192.168.94.132:2183 --topic test(四)關閉叢集服務# 刪除topicbin/kafka-topics.sh --delete --zookeeper 192.168.94.132:2181,192.168.94.132:2182,192.168.94.132:2183 --topic test# 關閉kafka[root@worker2 kafka_2.12-1.1.0]$ bin/kafka-server-stop.sh conf/server-1.properties[root@worker2 kafka_2.12-1.1.0]$ bin/kafka-server-stop.sh conf/server-2.properties[root@worker2 kafka_2.12-1.1.0]$ bin/kafka-server-stop.sh conf/server-3.properties# 關閉zookeeper[root@master zookeeper-3.4.11]$ bin/zkServer.sh stop conf/zoo1.cfg[root@worker1 zookeeper-3.4.11]$ bin/zkServer.shstop conf/zoo2.cfg[root@worker2 zookeeper-3.4.11]$ bin/zkServer.shstop conf/zoo3.cfg