1. 程式人生 > >zookeeper+kafka配置

zookeeper+kafka配置

唯一性 機器 設置 解析 心跳 內容 數據 art oca

ZooKeeper
安裝
#將ZooKeeper解壓到/usr/local中
tar –zxvf zookeeper-3.4.6.tar.gz –C /usr/local
cd /usr/local
#重命名
sudo mv zookeeper-3.4.6 zookeeper
cd zookeeper/conf
sudo cp zoo_sample.cfg zoo.cfg
配置
1.在zoo.cfg中追加下面內容:
#server.n=ip:portA:portB
#n是server標識號(1~255)
#ip是serverip地址
#portA是與leader進行信息交換的端口
#portB是在leader宕機後,進行leader選舉所用的端口
server.1=200.31.157.116:20881:30881
server.2=200.31.157.116:20882:30882
server.3=200.31.157.117:20881:30881
註:
配置文件信息解析:
tickTime:毫秒級的基本時間單位,其它時間如心跳/超時等都為該單位時間的整數倍。
initLimit:tickTime的倍數,表示leader選舉結束後,followers與leader同步須要的時間,leader的數據許多或followers比較多時,該值應適當大一些。


syncLimit:tickTime的倍數,表示follower和observer與leader交互時的最大等待時間,是在與leader同步完成之後,正常請求轉發或ping等消息交互時的超時時間。
clientPort:監聽客戶端連接的服務port,若一臺服務器上安裝多個ZooKeeper server,則須要設置不同的port號。


dataDir:內存數據庫快照地址。事務日誌地址(除非由dataLogDir另行指定)。


2.在$dataDir下新建文件myid。並寫入server標識號
#/tmp/zookeeper為dataDir
cd /tmp/zookeeper/
sudo vim myid
#在myid中加入server標識號


啟動停止


#進入$ZOOKEEPER_HOME,執行zkServer.sh
#啟動
sudo bin/zkServer.sh start &
#停止
sudo bin/zkServer.sh stop
#查看狀態
sudo bin/zkServer.sh status


Kafka
安裝

tar –zxvf kafka_2.10-0.8.2.1.tgz –C /usr/local/
cd /usr/local
#重命名
sudo mv kafka_2.10-0.8.2.1 kafka

cd kafka/conf


配置
在配置文件server.properties改動例如以下內容:
#broker.id是broker的標識。具有唯一性
broker.id=0
#port號默覺得9092
port=9092
#host.name位kafka所在機器的ip
host.name=200.31.157.116
#設置zookeeper,可連接多個zookeeperserver
zookeeper.connect=200.31.157.116:2182,200.31.157.116:2183,200.31.157.117:2182


啟動停止

#進入$KAFKA_HOME
#啟動
sudo bin/kafka-server-start.sh config/server.properties &
#停止

bin/kafka-server-stop.sh


生產/消費消息
#創建topic
bin/kafka-topics.sh --create --zookeeper 200.31.157.116:2182 --replication-factor 1 --partitions 1 --topic test
#生產消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
#消費消息
bin/kafka-console-consumer.sh –zookeeper 200.31.157.116:2182,200.31.157.116:2183,200.31.157.117:2182 --topic test --from-beginning

zookeeper+kafka配置