Centos7下kafka集群搭建

2021-09-23 10:16:46 字數 3198 閱讀 7966

1.kafka以topic來進行訊息管理,每個topic包含多個partition,每個partition對應乙個邏輯log,有多個segment組成。

2.每個segment中儲存多條訊息(見下圖),訊息id由其邏輯位置決定,即從訊息id可直接定位到訊息的儲存位置,避免id到位置的額外對映。

3.每個part在記憶體中對應乙個index,記錄每個segment中的第一條訊息偏移。

4.發布者發到某個topic的訊息會被均勻的分布到多個partition上(或根據使用者指定的路由規則進行分布),broker收到發布訊息往對應partition的最後乙個segment上新增該訊息,當某個segment上的訊息條數達到配置值或訊息發布時間超過閾值時,segment上的訊息會被flush到磁碟,只有flush到磁碟上的訊息訂閱者才能訂閱到,segment達到一定的大小後將不會再往該segment寫資料,broker會建立新的segment。

1.jdk安裝

2.zookeeper集群搭建,可以參考我的另外部落格:

注意:記得關閉防火牆

伺服器ip

名稱192.168.8.63

broker0(zk + kafka)

192.168.8.153

broker1(zk + kafka)

192.168.8.110

broker2(zk + kafka)

3臺虛擬機器均進行以下操作:

命令1:

cd /usr/local
命令2:

wget
命令3:

tar -zxvf kafka_2.11-1.0.0.tgz
命令4:

mv kafka_2.12-0.11.0.0 kafka
命令5:修改配置檔案

vi ./kafka/config/server.properties
broker0 需要修改的內容如下(192.168.8.63)

broker.id=0

listeners=plaintext:

zookeeper.connect=192.168.8.63:2181,192.168.8.153:2181,192.168.8.110:2181

broker1 需要修改的內容如下(192.168.8.153)

broker.id=1

listeners=plaintext:

zookeeper.connect=192.168.8.63:2181,192.168.8.153:2181,192.168.8.110:2181

broker2 需要修改的內容如下(192.168.8.110)

broker.id=2

listeners=plaintext:

zookeeper.connect=192.168.8.63:2181,192.168.8.153:2181,192.168.8.110:2181

命令6:

// 在系統環境中配置kafka的路徑

vi /etc/profile
// 在檔案最下方新增kafka路徑,多路徑path寫法為path=zoo

keep

erho

me/b

in:/bin:

zookee

perh

​ome

/bin

:/bin:$path

export kafka_home=/usr/local/kafka

path=$/bin:$path

export path

命令7:使修改完的環境變數生效

source /etc/profile
命令1:開啟3臺虛擬機器的zookeeper程式

/usr/local/zookeeper/bin/zkserver.sh start
命令2:開啟成功後檢視zookeeper集群的狀態

/usr/local/zookeeper/bin/zkserver.sh status
出現mode:follower或是mode:leader則代表成功

命令3:在後台開啟3臺虛擬機器的kafka程式(cd /usr/local/kafka)

./bin/kafka-server-start.sh -daemon config/server.properties
命令4:在其中一台虛擬機器(192.168.8.110)建立topic

/usr/local/kafka/bin/kafka-topics.sh –create –zookeeper 192.168.8.110:2181 –replication-factor 3 –partitions 3 –topic test
命令5:檢視建立的topic資訊

/usr/local/kafka/bin/kafka-topics.sh –describe –zookeeper 192.168.131.130:2181 –topic my-replicated-topic
命令6:在其中一台虛擬機器(192.168.8.110)發訊息(生產)

centos7搭建kafka集群

安裝環境 集群規劃 伺服器lnh01 伺服器lnh02 伺服器lnh03 zookeeper zookeeper zookeeper kafka kafka kafka 安裝步驟 上傳壓縮包到伺服器 解壓至 opt soft下 命令 tar zxvf kafka 2.12 2.4.1.tgz c o...

centos7搭建kafka集群

7.關閉防火牆 systemctl stop firewalld.service 停止firewall systemctl disable firewalld.service 禁止firewall開機啟動 firewall cmd state 檢視預設防火牆狀態 關閉後顯示notrunning,開啟...

centos7 搭建kafka集群筆記

安裝kafka cd soft tar zxvf kafka 2.11 1.0.0.tgz c usr local mv usr local kafka 2.11 1.0.0 usr local kafka 2.11 環境變數 echo export kafka home usr local kaf...