1. 程式人生 > 其它 >kafka安裝,啟動

kafka安裝,啟動

先啟動所有機器上的zookeeper,再啟動所有機器上的kafka(後臺啟動)(使用了xcall指令碼批量執行程式

開啟zookeeper

xcall /opt/zookeeper-3.4.10/bin/zkServer.sh start

開啟kakfa

xcall /opt/kafka_2.11-0.11.0.0/bin/kafka-server-start.sh -daemon/opt/kafka_2.11-0.11.0.0/config/server.properties

關閉zookeeper

xcall /opt/zookeeper-3.4.10/bin/zkServer.sh stop

關閉kafka

xcall /opt/kafka_2.11-0.11.0.0/bin/kafka-server-stop.sh

kafka需要zookeeper單機或叢集

Linux 安裝zookeeper(單機,分散式安裝)

https://kafka.apache.org/downloads

Xftp傳輸檔案 到Linux系統中的opt資料夾

Linux安裝kafka命令(Xshell)

檢視資料夾有哪些檔案

ls

進入opt資料夾

cd /opt

解壓

tar -zxvf kafka_2.11-0.11.0.0.tgz

進入解壓後的kafka資料夾

cd kafka_2.11-0.11.0.0

建立log資料夾(用於儲存暫存資料,之後需要修改server.properties)

mkdir log

進入kafka的config資料夾

cd config

修改kafka伺服器配置

vi server.properties

可以使用 /broker 定位內容

esc退出insert模式,使用:q退出,:wq儲存並退出

這裡是伺服器的id,在叢集中id必須唯一,建立多個kafka伺服器組成叢集需要修改

下面一點就是:是否能刪除訊息主題(把#去掉,設為能刪除)

修改暫存資料目錄(/opt/kafka_2.11-0.11.0.0/log)

修改為zookeeper叢集

esc鍵 :wq儲存退出

xsync分發到其他的機器中

[root@hostname1 opt]# xsync kafka_2.11-0.11.0.0 hostname 2 2

其他機器

進入解壓後的kafka資料夾

cd kafka_2.11-0.11.0.0

進入kafka的config資料夾

cd config

修改kafka伺服器配置

vi server.properties

修改其他機器中的broker.id(必須唯一)

[root@hostname2 kafka_2.11-0.11.0.0]# bin/zookeeper-server-start.sh -daemon config/server.properties

先啟動所有機器上的zookeeper,再啟動所有機器上的kafka(後臺啟動)(使用了xcall指令碼批量執行程式

xcall /opt/zookeeper-3.4.10/bin/zkServer.sh start

xcall /opt/kafka_2.11-0.11.0.0/bin/kafka-server-start.sh -daemon /opt/kafka_2.11-0.11.0.0/config/server.properties

也可以使用指令碼執行kafka

cd/usr/local/bin

建立指令碼

touch kafkastart

編輯指令碼(就是將批量開啟關閉zookeeper和kafka命令放入其中

#!/bin/bash

for i in hostname1 hostname2
do
        echo --------- $i ----------
        ssh root@$i "/opt/kafka_2.11-0.11.0.0/bin/kafka-server-start.sh -daemon /opt/kafka_2.11-0.11.0.0/config/server.properties"
done
kafkastart
#!/bin/bash

for i in hostname1 hostname2
do
        echo --------- $i ----------
        ssh root@$i "/opt/kafka_2.11-0.11.0.0/bin/kafka-server-stop.sh"
done
kafkastop
#!/bin/bash

for i in hostname1 hostname2
do
        echo --------- $i ----------
        ssh root@$i "/opt/zookeeper-3.4.10/bin/zkServer.sh start"
done
zkstart
#!/bin/bash

for i in hostname1 hostname2
do
        echo --------- $i ----------
        ssh root@$i "/opt/zookeeper-3.4.10/bin/zkServer.sh stop"
done
zkstop

新增執行許可權

chmod 777 kafkastart

chmod 777 kafkastop

chmod 777zkstart

chmod 777zkstop

執行指令碼

開啟kafka

kafkastart

關閉kafka

kafkastop

開啟zookeeper

zkstart

關閉zookeeper

zkstop