Kafka 集群部署

2021-08-08 15:57:07 字數 2308 閱讀 6268

kafka是乙個分布式訊息佇列,需要依賴zookeeper,請先安裝好zk集群

kafka安裝包解壓

$ tar xf kafka_2.10-0.9.0.1

.tgz

$ mv kafka_2.10-0.9.0.1 /usr/kafka

$ cd /usr/kafka

配置檔案

server.properties

# the

id of the broker. this must be set to a unique integer for

each broker.

broker.

id=0

# zookeeper connection

string (see zookeeper docs for

details).

# this is a comma separated host:port pairs, each corresponding to a zk

# server. e.g.

"127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".

chroot

string

to the urls to specify the

# root directory

forall kafka znodes.

zookeeper.connect=node1:2181,node2:2181,node3:2181

規劃有3個節點,broker的id應該不同

node1為broker.id=0

node2為broker.id=1

node3為broker.id=2

node1上覆制kafka目錄到其他節點

$ scp -r /usr/kafka node2:/usr/$ 

scp -r /usr/kafka node3:/usr/

node2、node3上替換broker.id

$ sed -i -e '

s/broker.id=.*/broker.id=1/

' /usr/kafka/config/server.properties

$ sed -i -e '

s/broker.id=.*/broker.id=2/

' /usr/kafka/config/server.properties

可以配置環境變數,可選

export kafka_home=/usr/kafka

path=$path:$kafka_home/bin

啟動kafka

1、在3個節點啟動zookeeper

2、在3個節點啟動kafka

$ bin/kafka-server-start.sh config/server.properties
測試

建立話題,使用kafka-topics.sh

$ kafka-topics.sh --zookeeper node1:2181,node2:2181,node3:2181 --topic test --replication-factor 2 --partitions 3 --create

$ kafka-topics.sh --zookeeper node1:2181,node2:2181,node3:2181 --list

$ kafka-topics.sh --zookeeper node1:2181,node2:2181,node3:2181 --describe --topic test

建立生成者和消費者

在任意節點上開啟生成者

$ bin/kafka-console-producer.sh --broker-list node1:9092,node2:9092,node3:9092 --topic test
可以在多個節點上開啟多個消費者

$ bin/kafka-console-consumer.sh --zookeeper node1:2181,node2:2181,node3:2181 --from-beginning --topic test
--from-beginning 表示從最早開始獲取佇列的資料

消費幾條資料後,執行下面的語句,看看是否從頭開始,以及不同partition返回資料無序性

$ bin/kafka-console-consumer.sh --zookeeper node1:2181,node2:2181,node3:2181 --topic test
返回資料是無序的。

kafka集群部署

一台伺服器上可以啟動多個broker例項,或者將broker部署到多台伺服器上,以下以172.16.50.21集群為例,多台伺服器上部署broker。tar xzf kafka 2.11 1.0.0.tgz cd kafka 2.11 1.0.0kafka依賴zookeeper,如果環境中沒有zoo...

Kafka集群部署

前提 在啟動kafaka集群,呼叫 bin kafka server start.sh config server.properties 前,需要把每台機器上zookeeper服務都給啟動了。zookeeper的安裝配置看,1 kafka集群規劃 s101 s102 s103 s104 zk zk ...

kafka集群部署

前提 kafka集群依賴於zk集群,沒有zk集群環境的請先參考 假設搭建3個節點的kafka集群,下面是步驟 如果只是安裝,直接down kafka 2.12 0.11.0.0.tgz 即可。二 解壓 假設 kafka home為解壓後的根目錄,將tag包解壓到該目錄下 3臺機器上都解壓 三 修改 ...