Kafka 安裝
Kafka 安裝包下載地址:https://archive.apache.org/dist/kafka/
1. Kafka 偽分布式安裝
1. 上傳并解壓 Kafka 安裝包
- 使用 FileZilla 或其他文件傳輸工具上傳 Kafka 安裝包:
kafka_2.11-0.10.0.0.tgz
- 解壓安裝包
[root@bigdata software]# tar -zxvf kafka_2.11-0.10.0.0.tgz
2. 編輯配置文件
[root@bigdata software]# mv kafka_2.11-0.10.0.0 kafka
[root@bigdata software]# cd kafka/config/
[root@bigdata config]# cp server.properties server1.properties
[root@bigdata config]# vi server1.properties
# 每臺(tái) brokerId 都不相同,此處設(shè)置1
broker.id=1
# 在 log.retention.hours=168 后新增下面三行
message.max.byte=5242880
default.replication.factor=1
replica.fetch.max.bytes=5242880
# 設(shè)置zookeeper的連接端口(按實(shí)際填寫即可,下邊zk也是偽分布的)
# 說明:直接用節(jié)點(diǎn)名:端口,需要在本機(jī) /etc/hosts 中編寫解析 172.16.15.111 bigdata
zookeeper.connect=bigdata:2181,bigdata:2182,bigdata:2183
# 日志文件的目錄,自定義即可,注意區(qū)分
log.dirs=/software/kafka/logs/worker1
3. 拷貝并修改配置文件
[root@bigdata config]# cp server1.properties server2.properties
[root@bigdata config]# cp server1.properties server3.properties
分別修改 server2.properties、server3.properties
[root@bigdata config]# vi server2.properties
broker.id=2
log.dirs=/software/kafka/logs/worker2
[root@bigdata config]# vi server3.properties
broker.id=3
log.dirs=/software/kafka/logs/worker3
4. 創(chuàng)建日志文件
[root@bigdata config]# cd ../logs
[root@bigdata logs]# mkdir worker1 worker2 worker3
5. 驗(yàn)證
[root@bigdata kafka]# ./bin/kafka-server-start.sh -daemon ./config/server1.properties
[root@bigdata kafka]# ./bin/kafka-server-start.sh -daemon ./config/server2.properties
[root@bigdata kafka]# ./bin/kafka-server-start.sh -daemon ./config/server3.properties
[root@bigdata kafka]# jps
10131 Kafka
10611 Kafka
10389 Kafka
10693 Jps
6. 創(chuàng)建 Topic
# 創(chuàng)建Topic t1
[root@bigdata kafka]# ./bin/kafka-topics.sh --create --zookeeper bigdata:2181 --replication-factor 1 --partitions 1 --topic t1
Created topic "t1".
# 查看Topic列表(list)
[root@bigdata kafka]# ./bin/kafka-topics.sh --list --zookeeper bigdata:2181
t1
# 查看指定Topic信息(describe)
[root@bigdata kafka]# ./bin/kafka-topics.sh --describe --zookeeper bigdata:2181 --topic t1
Topic:t1 PartitionCount:1 ReplicationFactor:1 Configs:
Topic: t1 Partition: 0 Leader: 1 Replicas: 1 Isr: 1
7. 測(cè)試生產(chǎn)和消費(fèi)消息
- 打開生產(chǎn)者客戶端并發(fā)送消息
[root@bigdata kafka]# ./bin/kafka-console-producer.sh --broker-list bigdata:9092 --topic t1
hello world # 輸入 hello world 后回車,即表示已發(fā)送消息
- 新打開一個(gè)終端窗口鏈接 bigdata,并啟動(dòng)客戶端接收消息
[root@bigdata kafka]# ./bin/kafka-console-consumer.sh --bootstrap-server bigdata:9092 --zookeeper bigdata:2182 --topic t1 --from-beginning
hello world
至此,Kafka 偽分布式集群安裝完成!
2. Kafka 分布式安裝
部署安裝 Kafka 與 ZooKeeper。理論上 Kafka 與 ZooKeeper 不應(yīng)該搭建到一起
1、上傳解壓重命名
tar –zxvf kafka_2.12-2.2.0.tar.gz
mv kafka_2.12-2.2.0 kafka
2、修改配置
cd /software/kafka/config/
vi server.properties
# 在log.retention.hours=168 后新增下面三項(xiàng)
message.max.byte=5242880
default.replication.factor=1
replica.fetch.max.bytes=5242880
# 設(shè)置zookeeper的連接端口
zookeeper.connect=hadoop0:2181,hadoop1:2181,hadoop2:2181
# 日志文件的目錄,設(shè)置成剛剛創(chuàng)建的logs目錄
log.dirs=/software/kafka/logs/
3、將 kafka 拷貝到集群節(jié)點(diǎn)
scp -r kafka/ root@172.16.15.101:/software/
scp -r kafka/ root@172.16.15.102:/software/
4、修改集群節(jié)點(diǎn) kafka/config/server.properties
中 broker.id 值
cd /software/kafka/config/
vi server.properties
# 每臺(tái)brokerId都不相同,Hadoop1修改broker.id=1,Hadoop2修改broker.id=2
broker.id=0
5、驗(yàn)證集群
- 啟動(dòng) Kafka(集群各節(jié)點(diǎn)全部執(zhí)行):
# 啟動(dòng)命令(Kafka目錄下):
./bin/kafka-server-start.sh -daemon ./config/server.properties
# 執(zhí)行jps會(huì)打印kafka進(jìn)程
[root@hadoop0 kafka]# jps
18295 Kafka
19086 Jps
# 或使用ps -ef | grep kafka 也可以查到
# 停止命令(Kafka目錄下):
./bin/kafka-server-stop.sh
3. Kafka監(jiān)控軟件 Kafka-manager
1. Kafka-manager 功能介紹
- 管理多個(gè) Kafka 集群
- 便捷的檢查 Kafka 集群狀態(tài)(topic,broker,備份分布情況,分區(qū)分布情況)
- 選擇要運(yùn)行的副本
- 基于當(dāng)前分區(qū)狀況進(jìn)行
- 可以選擇 topic 配置并創(chuàng)建 topic(0.8.1.1 和 0.8.2 的配置不同)
- 刪除 topic(只支持 0.8.2 以上的版本并且要在 broker 配置中設(shè)置 delete.topic.enable=true)
- Topic list 會(huì)指明哪些 topic 被刪除(0.8.2 以上版本使用)
- 為已存在的 topic 增加分區(qū)
- 為已存在的 topic 更新配置
- 在多個(gè) topic 上批量重分區(qū)
- 在多個(gè) topic 上批量重分區(qū)(可選 partition broker 位置)
2. Kafka-manager 安裝
將 kafka-manager-1.3.3.7.zip 安裝包導(dǎo)入Hadoop0:/software/
下進(jìn)行解壓:
[root@hadoop0 software]# unzip kafka-manager-1.3.3.7.zip -d .
修改配置:
[root@hadoop0 software]# cd kafka-manager-1.3.3.7/
[root@hadoop0 kafka-manager-1.3.3.7]# vim conf/application.conf
# 注釋下面一行行,添加第二行
# kafka-manager.zkhosts="localhost:2181"
kafka-manager.zkhosts="172.16.15.100:2181,172.16.15.101:2181,172.16.15.102:2181"
啟動(dòng):
# Kafka-manager目錄下:
# 方式一:按默認(rèn)方式啟動(dòng),默認(rèn)端口為9000
bin/kafka-manager
# 方式二:指定配置文件位置和啟動(dòng)端口號(hào):
# 可通過 -Dconfig.file=conf/application.conf 指定配置文件; -Dhttp.port 指定端口
nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=8080 &
[root@hadoop0 kafka-manager-1.3.3.7]# bin/kafka-manager
15:03:48,422 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
15:03:48,422 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
...
[info] play.api.Play - Application started (Prod)
[info] p.c.s.NettyServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
[info] k.m.a.KafkaManagerActor - Updating internal state...
[info] k.m.a.KafkaManagerActor - Updating internal state...
# 以下頁(yè)面的操作完成后,使用 Ctrl+C 退出
這樣就說明kafka_manager服務(wù)端口已經(jīng)監(jiān)聽啦,我們可以直接去訪問kafka-manager的web UI頁(yè)面了:
172.16.15.100:9000 # 默認(rèn)端口 9000
- 可以在當(dāng)前目錄下看到新生成了
RUNNING_PID
文件:
[root@hadoop0 kafka-manager-1.3.3.7]# ll
總用量 28
drwxr-xr-x 3 root root 18 11月 4 22:47 application.home_IS_UNDEFINED
drwxr-xr-x 2 root root 52 11月 4 22:37 bin
drwxr-xr-x 2 root root 136 11月 4 23:56 conf
drwxr-xr-x 2 root root 8192 11月 4 22:37 lib
-rw------- 1 root root 98 11月 4 23:44 nohup.out
-rw-r--r-- 1 root root 6335 6月 5 2017 README.md
-rw-r--r-- 1 root root 5 11月 5 00:02 RUNNING_PID # this one!
drwxr-xr-x 3 root root 17 11月 4 22:37 share
3. Kafka-manager 使用
1. 創(chuàng)建集群
- 點(diǎn)擊【Cluster】,選擇【Add Cluster】添加集群
- 填寫 zk 集群的各機(jī)器 ip 與端口,選擇 kafka 版本(盡量選擇版本比較低的,相對(duì)穩(wěn)定一些),下邊默認(rèn)為 1 的輸入框輸入 3(大于等于 2)即可:
-
注意:如果沒有在 Kafka 中配置過
JMX_PORT
,千萬(wàn)不要選擇第一個(gè)復(fù)選框:Enable JMX Polling
。如果選擇了該復(fù)選框,Kafka-manager 可能會(huì)無(wú)法啟動(dòng)。 -
保存之后,就可以看到詳細(xì)的信息了:
- 選擇集群列表即可看到剛才創(chuàng)建的 Kafka 集群了:
- 可以修改(modify)和禁用(disable)
2. 創(chuàng)建主題
- 頂部菜單欄選擇【Topic】,點(diǎn)擊【Create】,填寫名稱、分區(qū)、副本:
- 圖解:
說明:
- 在上圖的一個(gè) Kafka 集群中,有兩個(gè)服務(wù)器,每個(gè)服務(wù)器上都有 2 個(gè)分區(qū)。P0、P3 可能屬于同一個(gè)主題,也可能是兩個(gè)不同的主題;
- 如果設(shè)置的 Partitions 和 Replication Factor 都是 2,這種情況下該主題的分布就和上圖中 Kafka 集群顯示的相同,此時(shí),P0、P3 是同一個(gè)主題的兩個(gè)分區(qū);P1、P2 也是同一個(gè)主題的兩個(gè)分區(qū),Server1、Server2 其中一個(gè)會(huì)作為 Leader 進(jìn)行讀寫操作,另一個(gè)通過復(fù)制進(jìn)行同步;
- 如果設(shè)置的 Partitions 和 Replication Factor 都是 1,則只會(huì)根據(jù)算法在某個(gè) Server 上創(chuàng)建一個(gè)分區(qū),可以是 P0~P4 中的某一個(gè)(分區(qū)都是新建的,不是先存在 4 個(gè)然后從中取 1)
創(chuàng)建完成即可看到:
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-619466.html
- 點(diǎn)擊詳細(xì)內(nèi)容:
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-619466.html
到了這里,關(guān)于【大數(shù)據(jù)工具】Kafka偽分布式、分布式安裝和Kafka-manager工具安裝與使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!