kafka集群部署

2021-10-10 13:45:03 字數 3795 閱讀 6404

官方文件:

三颱機器

hostname

ipkafka01

10.27.148.84

kafka02

10.27.148.85

kafka03

10.27.148.86

yum install -y install jdk1.8.0_101.x86_64
kafka的安裝包裡預設帶了乙個zookeeper,因為kafka資料一致性包括集群borker資訊、分割槽、消費者、生產者等一些關鍵性配置都儲存在kafka中,所以生產環境最好是有乙個單獨的zookeeper集群。這裡用三颱kafka節點同時安裝zookeeper。

mkdir -p /data/zookeeper/

cd /data/zookeeper/

wget

tar zxvf zookeeper-3.4.12.tar.gz

#複製乙份zoo_sample.cfg 並命名為zoo.cfg zookeeper啟動是讀取zoo.cfg檔案。

cp zookeeper-3.4.12/conf/zoo_sample.cfg zookeeper-3.4.12/conf/zoo.cfg

cd zookeeper-3.4.12/conf/

#vim zoo.cfg

ticktime=2000 #心跳時間間隔

initlimit=10 #初始化連線時最長能忍受多少個心跳時間間隔數,5*2000 = 10秒

synclimit=5 #最長不能超過多少個 ticktime 的時間長度

datadir=/data/zookeeper/zkdata #快照日誌的儲存路徑

datalogdir=/data/zookeeper/zkdatalog 事物日誌的儲存路徑#

clientport=2181

server.1 = 10.27.148.84:2888:3888 #第乙個埠( port )是從( follower )機器連線到主( leader )機器的埠,第二個埠是用來進行 leader 選舉的埠

server.2 = 10.27.148.85:2888:3888

server.3 = 10.27.148.86:2888:3888

#建立myid檔案 每個server的id不一樣

echo

"1"> /opt/zookeeper/zkdata/myid

#server2

echo

"2"> /opt/zookeeper/zkdata/myid

#server3

echo

"3"> /opt/zookeeper/zkdata/myid

將三颱機器的ip也加進每台機器的iptables白名單裡邊,同時zookeeper的三個埠也加進白名單

cd /data/zookeeper/zookeeper-3.4.12/bin/

./zkserver.sh start

./zkserver.sh status

mkdir -p /data/kafka/kafkalogs

cd /data/kafka

wget

tar zxvf kafka_2.11-1.1.0.tgz

cd kafka_2.11-1.1.0/config/

#vim server.properties

#每台伺服器的broker.id都不能相同

broker.id=0

port = 9092

host.name= 10.27.148.84

#在log.retention.hours=168 下面新增下面三項

message.max.byte=5242880

default.replication.factor=2

replica.fetch.max.bytes=5242880

log.dirs = /data/kafka/kafkalogs #訊息存放的目錄,這個目錄可以配置為「,」逗號分割的表示式,num.io.threads要大於這個目錄的個數

#設定zookeeper的連線埠

zookeeper.connect=10.27.148.84:2181,10.27.148.85:2181,10.27.148.86:2181

iptables -a input -p tcp --dport 9092 -j accept

iptables -a output -p tcp --sport 9092 -j accept

service iptables restart

./kafka-server-start.sh -daemon ../config/server.properties #啟動kafka

#建立乙個topic並生產和消費測試一下

./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 1 --topic test

#建立topic

./kafka-console-producer.sh --broker-list localhost:9092 --topic test

#在一台伺服器上建立乙個生產者

./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning #在一台伺服器上建立消費者

檢視topic的分割槽資訊

./kafka-topics.sh --describe --zookeeper 127.0.0.1:2181
生產一條資料

./kafka-console-producer.sh --broker-list 127.0.0.1:9092--topic testtopic
消費資料

./kafka-console-consumer.sh --bootstrap-server 10.11.128.87:9092 --topic testtopic
修改分割槽數量(分割槽數量只可以增加,不能刪除)

./kafka-topics.sh --zookeeper 127.0.0.1:2181  --alter --topic testtopic  --partitions 60
檢視消費者分組

./kafka-consumer-groups.sh --list --bootstrap-server 127.0.0.1:9092
分割槽消費情況和消費者資訊

./kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092  --describe --group test
檢視佇列堆積

./kafka-run-class.sh kafka.tools.consumeroffsetchecker --zookeeper  127.0.0.1:2181  --group  test  --topic  testtopic
建立topic

./kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic    testtopic

Kafka 集群部署

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 t...

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 ...