一、kafka基礎操作
1. kafka下載
wget http://mirror.bit.edu.cn/apache/kafkahttp://mirror.bit.edu.cn/apache/kafka/2.4.0/kafka_2.13-2.4.0.tgz
2. 解壓
tar -zxvf kafka_2.13-2.4.0.tgz -C /app
3. 重命名
mv kafka_2.13-2.4.0 kafka
4. 在kafka目錄下創建 data 數據文件夾
cd /app/kafka
mkdir data
5. 修改配置文件
/app/kafka/config
vim server.properties
#第一處 60行
log.dirs=/app/kafka/data
#第一處 123行
zookeeper.connect=ly-01:2181,ly-02:2181,ly-03:2181
6. 配置kafka環境變量
(目的使用kafka命令不用進到kafka目錄執行)
sudo vi /etc/profile
#KAFKA_HOME
export KAFKA_HOME=/app/kafka
export PATH=$PATH:$KAFKA_HOME/bin
7. 刷新環境變量,使之生效
source /etc/profile
二、kafka集羣操作
2.1. 分發配置好的基礎安裝包
將配置好的kafka同步到ly-02,ly-03服務器的2個節點
scp -r kafka/ root@ly-02:/app
scp -r kafka/ root@ly-03:/app
下面有2件事情要做,
- 修改ly-02和ly-03 上kafka的配置文件中的brokerid,全局唯一補鞥重複,由於剛纔是複製的同步的因此需要同步後進行修改
- 啓動zk集羣
- 啓動kafka
思考?kafka集羣啓動有3個節點,一個一個啓動太麻煩,因此需要製作kafka啓動腳本
2.2. 登錄ly-02服務器,修改配置文件
cd /app/kafka/config/
vim server.properties
#將broker.id=0修改爲等於1
2.3. 登錄ly-03服務器,修改配置文件
cd /app/kafka/config/
vim server.properties
#將broker.id=0修改爲等於2
2.3. 啓動zk集羣
登錄ly-01服務器
#進入zk目錄,找到咱們的腳本(腳本在哪都可以)
/app/zookeeper-3.5.7
#啓動zk集羣
./zkmanage.sh start
三、kafka 基礎命令操作
3.1. kafka常用命令總覽
3.2. 單機前臺 啓動kafka和關閉kafka
bin/kafka-server-start.sh config/server.properties
bin/kafka-server-stop.sh config/server.properties
這種啓動在命令窗口中啓動,不能關閉窗口,關閉窗口kafka服務也關了,因此這種啓動方式不建議使用。
3.3. 單機後臺(也叫守護式) 啓動kafka和關閉kafka
bin/kafka-server-start.sh -daemon config/server.properties
bin/kafka-server-stop.sh -daemon config/server.properties
這種方式啓動確實滿足kafka了,但是這種方式也太麻煩了。因此需要手動只做kafka啓動關閉集羣腳本
四、kafka集羣命令腳本操作
4.1. kafka集羣 啓動腳本
#創建kk-start.sh文件
vim kk-start.sh
#複製一下內容到腳本中
#!/bin/bash
for host in ly-01 ly-02 ly-03
do
echo "${host}:$1 kafka starting....."
ssh $host "source /etc/profile;/app/kafka/bin/kafka-server-start.sh -daemon /app/kafka/config/server.properties"
done
#保存退出
#給腳本賦予可執行權限
chmod u+x kk-start.sh
#啓動kafka集羣
./kk-start.sh
#注:前提是啓動zk集羣
4.2. kafka集羣 關閉腳本
#創建kk-stop.sh文件
vim kk-stop.sh
#複製一下內容到腳本中
#!/bin/bash
for host in ly-01 ly-02 ly-03
do
echo "${host}:$1 kafka stopping....."
ssh $host "source /etc/profile;/app/kafka/bin/kafka-server-stop.sh /app/kafka/config/server.properties"
done
#保存退出
#給腳本賦予可執行權限
chmod u+x kk-stop.sh
#啓動kafka集羣
./kk-stop.sh
4.3. 集羣說明
腳本說明 | 命令 |
---|---|
域名也可以寫ip地址 | ly-01 ly-02 ly-03 |
刷新環境變量 | source /etc/profile |
具體啓動或者關閉命令說明 | 略 |