本文爲linux centOS 7環境的安裝與部署
1、安裝zookeeper
從官網鏡像中下載 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
通過以下命令,解壓安裝包
tar -zxvf zookeeper-3.5.6-bin.tar.gz -C /opt/source
2、目錄結構:
- bin目錄
zk的可執行腳本目錄,包括zk服務進程,zk客戶端,等腳本。其中,.sh是Linux環境下的腳本,.cmd是Windows環境下的腳本。 - conf目錄
配置文件目錄。zoo_sample.cfg爲樣例配置文件,需要修改爲自己的名稱,一般爲zoo.cfg。log4j.properties爲日誌配置文件。 - lib
zk依賴的包。 - contrib目錄
一些用於操作zk的工具包。 - recipes目錄
zk某些用法的代碼示例
3、添加zoo.cfg文件,文件基本信息
複製zoo_sample.cfg ,否則運行會報錯 ,需要zoo.cfg文件
cp zoo_sample.cfg zoo.cfg
配置文件信息
- initLimit
ZooKeeper集羣模式下包含多個zk進程,其中一個進程爲leader,餘下的進程爲follower。
當follower最初與leader建立連接時,它們之間會傳輸相當多的數據,尤其是follower的數據落後leader很多。initLimit配置follower與leader之間建立連接後進行同步的最長時間。 - syncLimit
配置follower和leader之間發送消息,請求和應答的最大時間長度。 - tickTime
tickTime則是上述兩個超時配置的基本單位,例如對於initLimit,其配置值爲5,說明其超時時間爲 2000ms * 5 = 10秒。 - dataDir
其配置的含義跟單機模式下的含義類似,不同的是集羣模式下還有一個myid文件。myid文件的內容只有一行,且內容只能爲1 - 255之間的數字,這個數字亦即上面介紹server.id中的id,表示zk進程的id。
4、運行命令
進入bin目錄
- sh zkServer.sh start 啓動
- sh zkServer.sh status 查看狀態
- sh zkServer.sh stop 關閉
- sh zkCli.sh 進入客戶端
- sh zkCli.sh -server 192.168.11.1 連接其他服務器
5.安裝kafka
1.下載kafka
2.解壓到/opt/source
tar -zxvf kafka_2.11-1.0.0.tgz -C /opt/Source
3.修改kafka_2.11-2.3.0/config/server.properties ip改爲127.0.0.1
4.啓動zookeeper
sh zkServer.sh start
5.啓動kafka
bin/kafka-server-start.sh config/server.properties
6.創建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
7.查看topic
bin/kafka-topics.sh --list --zookeeper localhost:2181
8.啓動producer發送消息
> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
This is a message
This is another message
9.啓動consumer接收消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning