kafka 叢集部署 多機多broker模式

丶小炒肉發表於2016-06-01

kafka 叢集部署 多機多broker模式

 

環境IP :

 

172.16.1.35   zookeeper   kafka

 

172.16.1.36   zookeeper   kafka

 

172.16.1.37   zookeeper   kafka

 

開放埠  2181  2888  3888   9092

 

 

編輯  server.properties  檔案  (以下為 172.16.1.35 的配置)

 

#在預設的配置上,我只修改了4個地方。broker.id = 三個主機172.16.1.35,172.16.1.36,172.16.1.37分別對應id為1,2,3

 

broker.id=1            

 

advertised.host.name=172.16.1.35   配置為連線IP 否則會獲取本地網路卡IP

 

log.dirs=/opt/local/kafka/logs

 

zookeeper.connect=172.16.1.35:2181,172.16.1.36:2181,172.16.1.37:2181

 

 

---------------------------------------------------------------------

非物理網路卡,繫結IP 需要配置為 127.0.0.1 , 否則獲取到的IP為 其他繫結IP

 

 

如:zookeeper.connect=127.0.0.1:2181,172.16.1.36:2181,172.16.1.37:2181

 

 

 

 

 

編輯  consumer.properties 檔案

 

配置  zookeeper.connect=  資訊

 

如果 kafka 與 zookeeper 在同一臺機器上,也可以不需要配置。

 

 

 

 

編輯   producer.properties  檔案

 

編輯 metadata.broker.list= 資訊

 

配置為 多 broker 。

 

如 kafka_1:9092,kafka_2:9092,kafka_3:9092

 

 

 

 

 

 

編輯  zookeeper.properties  檔案

 

initLimit=5

syncLimit=2

server.1=0.0.0.0:2888:3888

server.2=172.16.1.36:2888:3888

server.3=172.16.1.37:2888:3888

dataDir=/tmp/zookeeper

 

 

---------------------------------------------------------------------

非物理網路卡,繫結IP 需要配置為 0.0.0.0 , 否則獲取到的IP為 其他繫結IP

 

如果 

broker.id=1

-------------------------------------

server.1=0.0.0.0:2888:3888

server.2=172.16.1.36:2888:3888

server.3=172.16.1.37:2888:3888

-------------------------------------

 

broker.id=2

-------------------------------------

server.1=172.16.1.35:2888:3888

server.2=0.0.0.0:2888:3888

server.3=172.16.1.37:2888:3888

-------------------------------------

 

 

 

# initLimit:LF初始通訊時限

叢集中的follower伺服器(F)與leader伺服器(L)之間初始連線時能容忍的最多心跳數(tickTime的數量)。

 

# syncLimit:LF同步通訊時限

叢集中的follower伺服器與leader伺服器之間請求和應答之間能容忍的最多心跳數(tickTime的數量)。

 

# server.N=YYY:A:B

伺服器名稱與地址:叢集資訊(伺服器編號,伺服器地址,LF通訊埠,選舉埠)

 

 

 

#分別將1,2,3寫入三個主機的myid檔案

 

echo "1" >> /tmp/zookeeper/myid

 

 

# 分別啟動三個伺服器中的 zookeeper 和 kafka server 

 

/opt/local/kafka/bin/zookeeper-server-start.sh -daemon /opt/local/kafka/config/zookeeper.properties

 

/opt/local/kafka/bin/kafka-server-start.sh -daemon /opt/local/kafka/config/server.properties 

 

 

 

 

 

 

 

kafka 命令使用

1、建立主題(Topic)

【命令方式】:bin/kafka-topics.sh --zookeeper zk_host:port/chroot --create --topic my_topic_name --partitions 20 --replication-factor 3 --config x=y

 

 

2、檢視所有主題

【命令方式】:bin/kafka-topics.sh --list --zookeeper localhost:2181

 

 

 

3、檢視指定主題:

【命令方式】:bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic 主題名

 

 

4、修改主題:

【命令方式】:bin/kafka-topics.sh --zookeeper zk_host:port/chroot --alter --topic 主題名 --deleteConfig x

 

 

5 檢視主題分割槽

 

./kafka-topics.sh --describe --zookeeper localhost

相關文章