Ubuntu18.04安裝部署(Zookeeper(已搭建好)+Kafka)集群(圖文詳解+簡單測驗)
文章目錄
- 前言
- 一、所需環境及所涉及壓縮包鏈接
- 二、安裝步驟
- 1. 解壓與授權
- 2. 創建日志檔案及修改組態檔
- 3. 打包壓縮配置好的Kafka,并發送到其他節點的根目錄
- 4. 在其它節點解壓、授權、修改組態檔
- 三、啟動與簡單測驗
- 1. 啟動zookeeper及kafka
- 2. 簡單測驗(生產者發送訊息,消費者接收訊息)
- (1)創建 topic
- (2)Master 節點作為消費者端,Slave1 節點作為生產者端
- (3)關閉Kafka、zookeeper集群
- (4)其它命令
- 總結
前言
撰寫本文是為了自己以后再有安裝Kafka集群時,不用漫天飛舞去找,當然也希望能幫到更多的小伙伴,哈哈哈~~~
提示:因為不同 Linux 所對應的命令及一些組態檔的修改不同,本文僅作參考~
一、所需環境及所涉及壓縮包鏈接
本文操作是在已安裝好 JDK 1.8 環境及搭建好 zookeeper 集群環境下進行
- Ubuntu 18.04
- VirtualBox-6.1.12(自選)
- JDK 1.8(建議)
- Kafka_2.11-0.10.2.0
- zookeeper-3.4.6
zookeeper 集群環境引數及配置
Master 192.168.2.210
Slave1 192.168.2.211
Slave2 192.168.2.212
clientport=2182(默認是2181)
將所需的壓縮包下載并上傳到 Linux 的根目錄的Downloads目錄下 ~/Downloads
網盤鏈接:本文所需壓縮包鏈接
提取碼:x2j9
二、安裝步驟
1. 解壓與授權
小提示:命令太長怎么辦,用 Tab 鍵吧~
把下載好的安裝包解壓到 /usr/local
命令如下(示例):
$ sudo tar -zxf kafka_2.11-0.10.1.0.tgz -C /usr/local

授予Kafka及其目錄下檔案當前用戶權限
命令如下(示例):
$ cd /usr/local
$ sudo mv kafka_2.11-0.10.1.0/ ./kafka # 重命名
# 授予Kafka目錄及其目錄下所有檔案當前用戶權限 我的是hadoop
$ sudo chown -R hadoop ./kafka

配置環境變數,我這里修改的組態檔是 ~/.bashrc 僅對當前用戶生效


2. 創建日志檔案及修改組態檔
進入到kafka目錄,創建日志檔案,記住這個路徑,組態檔要用
代碼如下(示例):
$ mkdir ./logs

進入 /usr/locl/kafka/config 目錄修改組態檔 server.properties

官方檔案的基本配置如下:
Kafka-2.1.x官方檔案

引數說明:
- broker.id :broker在該服務器的代理標識,每個節點須分配不同的 id ,如果未設定,將生成一個唯一的經紀人ID,
- log.dirs :保留日志資料的目錄
- zookeeper.connect :zookeeper 集群的地址,可以是多個,多個之間用逗號分割,例如:hostname1:port1,hostname2:port2,hostname3:port3
- 其它引數及引數值說明
因為官方檔案(Kafka_2.1版本)對于有些引數是"已棄用"狀態,但設定不會影響集群,要根據實際應用場景去設定、添加
port :broker server服務埠
hostname.name :broker的主機地址,若是設定了,那么會系結到這個地址上,一般此引數值為當前配置的服務器的 ip 地址



3. 打包壓縮配置好的Kafka,并發送到其他節點的根目錄
將配置好的Kafka打包壓縮到根目錄 ~ (絕對路徑為/home/hadoop),并用 scp 命令發送到其它節點Slave1、Slave2
命令如下,在 Master 節點:
$ tar -zcf ~/kafka.master.tar.gz ./kafka
$ scp ./kafka.master.tar.gz Slave1:/home/hadoop
$ scp ./kafka.master.tar.gz Slave2:/home/hadoop


4. 在其它節點解壓、授權、修改組態檔
進入Slave1、Slave2節點的根目錄,解壓接收過來Kafka壓縮包到 /usr/local,并授權
命令如下(示例):
$ sudo tar -zxf ./kafka.master.tar.gz -C /usr/local
$ sudo chown -R hadoop ./kafka

修改組態檔 server.properties (與Mater節點類似,修改id 即可)

別忘了修改另外兩個節點的環境變陣列態檔,并且讓組態檔生效哦~
三、啟動與簡單測驗
1. 啟動zookeeper及kafka
在啟動Kafka前,先啟動zookeeper服務,各個節點都必須啟動
Zookeeper啟動命令如下(每個節點都必須啟動):
# 進入到 Zookeeper 目錄,并啟動
$ ./bin/zkServer.sh start
# 查看啟動的行程及 Zookeeper 啟動狀態(如已測驗過zookeeper集群,可省略此步)
$ jps
$./bin/zkServer.sh status



Kafka啟動命令如下(每個節點都必須啟動):
# 進入到Kafka目錄
$ ./bin/kafka-server-start.sh config/server.properties
啟動成功后會看到一些當時在組態檔里設定的的引數值,并且在最后,游標會一直閃動


最后每個節點另開一個終端,另開一個終端,另開一個終端,可以 用 jps查看行程,出現以下三個行程說明 Kafka 啟動成功

2. 簡單測驗(生產者發送訊息,消費者接收訊息)
利用新開的終端,進行以下操作
創建、查看、洗掉 topic ,任意一個節點都可以操作
(1)創建 topic
命令如下 (創建一個名為 test 的 topic):
# 進入到Kafka目錄
# 此處 Master:2182 中:
Master 表示 topic 是在 Master 節點下創建
2182 是配置 zookeeper 時修改的,默認為2181
$ bin/kafka-topics.sh --zookeeper Master:2182 --create --replication-factor 3 --partitions 1 --topic test

(2)Master 節點作為消費者端,Slave1 節點作為生產者端
命令如下 :
# 先啟消費者服務端,此命令會把 test 主題中以往所有的資料都讀取出來
# 啟動后會有游標閃動,等待生產者發送訊息并接收顯示
$ ./bin/kafka-console-consumer.sh --bootstrap-server Master:9092 --from-beginning --topic test
# 再啟動生產者服務端,啟動后會有游標閃動,等待用戶輸入
$ ./bin/kafka-console-producer.sh --broker-list Master:9092 --topic first



測驗到這里,表明Kafka集群已完成搭建并進行簡單測驗,即生產者發送訊息,消費者接收等基本功能了
(3)關閉Kafka、zookeeper集群
命令如下 (每個節點都得執行):
# 關閉 Kafka 集群
$ ./bin/kafka-server-stop.sh stop
# 關閉 zookeeper 集群
$ ./bin/zkServer.sh stop

(4)其它命令
查看當前服務器中的所有 topic :
# 進入到Kafka目錄
$ ./bin/kafka-topics.sh --zookeeper Master:2182 --list

查看某個 topic 的詳情 :
# 進入到Kafka目錄
$ ./bin/kafka-topics.sh --zookeeper Master:2182 --describe --topic first

洗掉 topic :
# 需要server.properties中設定delete.topic.enable=true否則只是標記洗掉或者直接重啟,
$ ./bin/kafka-topics.sh --zookeeper Master:2182 --delete --topic first

總結
集群搭建本身不難,需要的是細心、細心、再細心,
很多東西只有自己親歷親為才會印象深刻,撰寫本文一是因為自己平時也有截圖一些效果圖習慣,可惜的是有些安裝、啟動及測驗程序中一些遇到的問題沒能及時截圖保存,不然也可以一起探討,一起避免踩坑;二是寫博客的想法也很久了,遲遲沒有行動,記得自己注冊博客都有一年多了,哈哈哈~,行吧,先這樣,
本文僅供參考,歡迎各位大佬、小伙伴們提提建議,指點指點~ 感謝~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/145884.html
標籤:java
上一篇:螞蟻回應渠道之爭;微軟更新致大規模服務中斷;OpenSSH 8.4 發布 | 極客頭條
下一篇:縱橫美國思維導圖學習
