kafka集群搭建

2022-07-09 09:57:09 字數 3940 閱讀 8057

0,用vmware安裝3臺centos8虛擬機器

hostname                      ipaddress                   subnet mask                          geteway    

1、 centos-1      192.168.213.135    255.255.255.0      192.168.213.2

2、 centos-2      192.168.213.136    255.255.255.0      192.168.213.2

3、 centos-3      192.168.213.137    255.255.255.0      192.168.213.2

0.2,修改host檔案,將hostname新增到本機

進入etc目錄:cd /etc/

使用vim命令修改host:vim hosts

輸入 i 進入編輯模式

192.168.213.135 centos-1

192.168.213.136 centos-2

192.168.213.137 centos-3

esc退出編輯模式,輸入 :wq 儲存更改

1,搭建zookeeper集群

kafka是依賴於zookeeper的,單機模式下可以直接用kafka自帶zookeeper(config/zookeeper.properties)啟動,但是單機並不是kafka的價值所在,所以要搭建自己的zookeeper集群

上有篇文章寫zookeeper集群搭建的文章,寫的不錯,可供參考:

這裡我們的zookeeper配置檔案,增加的server.0、server.1、server.2分別為:

server.0=192.168.213.135:2888:3888

server.1=192.168.213.136:2888:3888

server.2=192.168.213.137:2888:3888

server.0=centos-1:2888:3888

server.1=centos-2:2888:3888

server.2=centos-3:2888:3888

另外增加日誌輸出目錄:datalogdir=/tmp/zookeeper/log

解壓命令列:tar -vxzf kafka_2.13-2.6.0.tgz

之後我們將kafka配置到環境變數裡:

進入etc目錄:cd /etc/

export kafka_home=/usr/local/kafka_2.13-2.6.0

export path=$path:$kafka_home/bin

如圖:

:wq儲存退出,然後使用source命令,使配置檔案立即生效:source profile

配置環境變數這一步不是必須的,如果不配置那麼在每次啟動kafka的時候,需要在kafka的bin目錄中執行啟動命令。  

3,修改server.properties配置檔案

進入解壓的kafka的config目錄:cd /usr/local/kafka_2.13-2.6.0/config/

vim命令修改server.properties檔案(這裡的zookeeper.properties就用不到了):vim server.properties

修改broker.id,值從1開始的正整數:broker.id=1(三颱broker都要改,依次向後排列即可)

4,啟動kafka

使用官方給出的命令,稍作修改啟動:

nohup kafka-server-start.sh /usr/local/kafka_2.13-2.6.0/config/server.properties &

因為前面設定了環境變數,所以可以在任意位置執行啟動命令,但需要將server.properties的路徑寫為絕對路徑

這裡我們將kafka作為後台啟動了,使用的命令是nohup

出現如上圖的結果,說明啟動無報錯,圖中6182是程序pid,我們還可以使用jps命令,檢視是否有pid為6182的程序:jps

有pid為6182的程序,kafka已啟動  

5,建立topic

在任意乙個broker上建立topic,使用官方命令稍作修改,如下

kafka-topics.sh --create --zookeeper centos-1,centos-2,centos-3 --topic mytopic --partitions 3 --replication-factor 3

這裡我們使用指定的zookeeper集群:centos-1,centos-2,centos-3

--topic 主題名稱,這裡是mytopic

--partitions 主題下有幾個分割槽,這裡設定了3個

--replication-factor 副本數,這裡同樣設定了3個

6,檢視topic詳情

在任意乙個broker上檢視topic,使用官方命令稍作修改,如下

7,生產者和消費者的建立

7.1 建立生產者

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

7.2 建立消費者

kafka-console-consumer.sh --topic mytopic --from-beginning --bootstrap-server localhost:9092

生產者生產訊息,消費者能夠接收到訊息

8,如果啟動失敗,可嘗試:

1,檢視防火牆是否關閉;

2,檢查broker.id是否正確設定;

3,刪除資料目錄(log)中所有檔案,重新啟動。log目錄是在server.properties中設定的:log.dirs=/tmp/kafka-logs 。如果之前沒有搭建成功,在資料目錄中會生成乙個mata.properties檔案,裡面包含了broker.id的值。在搭建完成後,當前的broker.id和mata檔案不一致,就會報錯。

kafka集群搭建

安裝zookeeper kafka自帶了zookeeper,建議還是用外部的zk集群,搭建步驟如下 準備3臺機器,假設我們叫c1 c2 c3,ip分別為ip1 ip2 ip3 將附件zookeeper 3.4.6.tar.gz分別拷貝至3臺機器 c1機器上解壓zookeeper 3.4.6.tar....

kafka 集群搭建

1 前置條件 安裝jdk zookeeper 集群搭建 wget tar xzf kafka 2.11 0.10.2.1.tgz 3 修改 config server.properties 三個地方 1 broker.id 要對上 log.dirs 下 meta.properties broker....

kafka集群搭建

1 上傳安裝包 把安裝包上傳到伺服器 put r d kafka 2.11 0.8.2.0.tgz 2 解壓縮安裝包 3 配置kafka環境變數 vim etc profile export path path kafka home bin 重新整理策略 source etc profile 4 修...