衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

想要kafka好用你就得知道這些工具

jf_78858299 ? 來源:JAVA旭陽 ? 作者:JAVA旭陽 ? 2023-05-22 16:33 ? 次閱讀

前言

工欲善其事,必先利其器。本文主要分享一下消息中間件kafka安裝部署的過程,以及我平時在工作中針對kafka用的一些客戶端工具和監(jiān)控工具。

kafka部署架構(gòu)

圖片

一個kafka集群由多個kafka broker組成,每個broker將自己的元數(shù)據(jù)信息注冊到zookeeper中,通過zookeeper關(guān)聯(lián)形成一個集群。

prettyZoo客戶端

既然kafka依賴zookeeper,我難免就需要看看zookeeper中究竟存儲了kafka的哪些數(shù)據(jù),這邊介紹一款高顏值的客戶端工具prettyZooPrettyZoo是一款基于Apache CuratorJavaFX 實現(xiàn)的 Zookeeper 圖形化管理客戶端,使用非常簡單。

下載地址: https://github.com/vran-dev/PrettyZoo

  • 連接

圖片

  • 界面化操作zookeeper

圖片

tips: kafka部署時配置文件中配置zookeeper地址的時候,可以采用如下的方式,帶上目錄,比如xxxx:2181/kafka或者xxxx:2181/kafka1,可以避免沖突。

#配置連接 Zookeeper 集群地址(在 zk 根目錄下創(chuàng)建/kafka,方便管理)
zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/ka
fka

kafka Tool客戶端

Kafka Tool是一個用于管理和使用Apache Kafka集群的GUI應(yīng)用程序。Kafka Tool提供了一個較為直觀的UI可讓用戶快速查看Kafka集群中的對象以及存儲在topic中的消息,提供了一些專門面向開發(fā)人員和管理員的功能。

下載地址: https://www.kafkatool.com/index.html

圖片

kafka監(jiān)控工具

kafka 自身并沒有集成監(jiān)控管理系統(tǒng),因此對 kafka 的監(jiān)控管理比較不便,好在有大量的第三方監(jiān)控管理系統(tǒng)來使用,這里介紹一款優(yōu)秀的監(jiān)控工具Kafka Eagle,可以用監(jiān)控 Kafka 集群的整體運行情況。

下載地址https://www.kafka-eagle.org/,部署也很簡單,根據(jù)官方文檔一步一步來即可。

注意,kafka需要開啟JMX端口,即修改kafka的啟動命令文件kafka-server-start.sh,如下圖:

圖片

圖片

圖片

kafka集群部署

一、zookeeper集群部署

  1. 上傳安裝包
  2. 移動到指定文件夾
mv zookeeper-3.4.6.tar.gz /opt/apps/
  1. 解壓
tar -zxvf zookeeper-3.4.6.tar.gz
  1. 修改配置文件
  • 進入配置文件目錄
cd /opt/apps/zookeeper-3.4.6/conf
  • 修改配置文件名稱
mv zoo_sample.cfg zoo.cfg
  • 編輯配置文件 vi zoo.cfg
## zk數(shù)據(jù)保存位置
dataDir=/opt/apps/data/zkdata
## 集群配置, hadoop1、hadoop2、hadoop3是主機名,后面是端口,沒有被占用即可
server.1=hadoop1:2888:3888 
server.2=hadoop2:2888:3888 
server.3=hadoop3:2888:3888
  1. 創(chuàng)建數(shù)據(jù)目錄
mkdir -p /opt/apps/data/zkdata
  1. 生成一個 myid 文件,內(nèi)容為它的id, 表示是哪個節(jié)點。
echo 1 > /opt/apps/data/zkdata/myid
  1. 配置環(huán)境變量
vi /etc/profile 

#ZOOKEEPER_HOME 
export ZOOKEEPER_HOME=/opt/apps/zookeeper-3.4.6 
export PATH=$PATH:$ZOOKEEPER_HOME/bin 

source /etc/profile
  1. 在其他幾個節(jié)點,即hadoop2, hadoop3上重復(fù)上面的步驟,但是myid文件的內(nèi)容有所區(qū)別,分別是對應(yīng)的id。
echo 2 > /opt/apps/data/zkdata/myid
echo 3 > /opt/apps/data/zkdata/myid
  1. 啟停集群
bin/zkServer.sh start zk 服務(wù)啟動 
bin/zkServer.sh status zk 查看服務(wù)狀態(tài)
bin/zkServer.sh stop zk 停止服務(wù)

二、kafka集群部署

  1. 官方下載地址:http://kafka.apache.org/downloads.html
  2. 上傳安裝包, 移動到指定文件夾
mv kafka_2.11-2.2.2.tgz /opt/apps/
  1. 解壓
tar -zxvf kafka_2.11-2.2.2.tgz
  1. 修改配置文件
  • 進入配置文件目錄
cd /opt/apps/kafka_2.11-2.2.2/config
  • 編輯配置文件vi server.properties
#為依次增長的:0、1、2、3、4,集群中唯一 id 
broker.id=0 
#數(shù)據(jù)存儲的?錄 
log.dirs=/opt/apps/data/kafkadata 
#指定 zk 集群地址,注意這里加了一個目錄 
zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181/kafka

其他的配置內(nèi)容說明如下:

#broker 的全局唯一編號,不能重復(fù),只能是數(shù)字。
broker.id=0
#處理網(wǎng)絡(luò)請求的線程數(shù)量
num.network.threads=3
#用來處理磁盤 IO 的線程數(shù)量
num.io.threads=8
#發(fā)送套接字的緩沖區(qū)大小
socket.send.buffer.bytes=102400
#接收套接字的緩沖區(qū)大小
socket.receive.buffer.bytes=102400
#請求套接字的緩沖區(qū)大小
socket.request.max.bytes=104857600
#kafka 運行日志(數(shù)據(jù))存放的路徑,路徑不需要提前創(chuàng)建,kafka 自動幫你創(chuàng)建,可以
配置多個磁盤路徑,路徑與路徑之間可以用","分隔
log.dirs=/opt/module/kafka/datas
#topic 在當(dāng)前 broker 上的分區(qū)個數(shù)
num.partitions=1
#用來恢復(fù)和清理 data 下數(shù)據(jù)的線程數(shù)量
num.recovery.threads.per.data.dir=1
# 每個 topic 創(chuàng)建時的副本數(shù),默認(rèn)時 1 個副本
offsets.topic.replication.factor=1
#segment 文件保留的最長時間,超時將被刪除
log.retention.hours=168
#每個 segment 文件的大小,默認(rèn)最大 1G
log.segment.bytes=1073741824
# 檢查過期數(shù)據(jù)的時間,默認(rèn) 5 分鐘檢查一次是否數(shù)據(jù)過期
log.retention.check.interval.ms=300000
#配置連接 Zookeeper 集群地址(在 zk 根目錄下創(chuàng)建/kafka,方便管理)
zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/ka
fka
  1. 配置環(huán)境變量
vi /etc/profile 

export KAFKA_HOME=/opt/apps/kafka_2.11-2.2.2 
export PATH=$PATH:$KAFKA_HOME/bin 

source /etc/profile
  1. 在不同的節(jié)點上重復(fù)上面的步驟,但是需要修改配置文件server.properties中的broker.id
# broker.id標(biāo)記是哪個kafka節(jié)點,不能重復(fù)
broker.id=1 
broker.id=2
  1. 啟停集群
# 啟動集群
bin/kafka-server-start.sh -daemon /opt/apps/kafka_2.11-2.2.2/config/server.properties 
# 停止集群 
bin/kafka-server-stop.sh stop

kafka命令行工具

1. 主題命令行操作

圖片

  • 查看當(dāng)前服務(wù)器中的所有 topic
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --list
  • 創(chuàng)建 first topic
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --create --partitions 1 --replication-factor 3 --topic first

選項說明:

--topic 定義 topic 名

--replication-factor 定義副本數(shù)

--partitions 定義分區(qū)數(shù)

  • 查看 first 主題的詳情
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --describe --topic first
  • 修改分區(qū)數(shù)(注意: 分區(qū)數(shù)只能增加,不能減少
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --alter --topic first --partitions 3
  • 刪除 topic
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --delete --topic first

2. 生產(chǎn)者命令行操作

  • 查看操作生產(chǎn)者命令參數(shù)kafka-console-producer.sh

圖片

  • 發(fā)送消息
bin/kafka-console-producer.sh --bootstrap-server hadoop102:9092 --topic first
>hello world
>xuyang hello

3. 消費者命令行操作

  • 查看操作消費者命令參數(shù)kafka-console-consumer.sh

圖片

圖片

  • 消費消息
bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic first
  • 把主題中所有的數(shù)據(jù)都讀取出來(包括歷史數(shù)據(jù))。
bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --from-beginning --topic first

總結(jié)

本文分享了平時我在工作使用kafka以及zookeeper常用的一些工具,同時分享了kafka集群的部署,值得一提的是kafka部署配置zookeeper地址的時候,我們可以添加一個路徑,比如hadoop:2181/kafka這種方式,那么kafka的元數(shù)據(jù)信息都會放到/kafka這個目錄下,以防混淆。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 配置
    +關(guān)注

    關(guān)注

    1

    文章

    189

    瀏覽量

    18458
  • kafka
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    5244
收藏 人收藏

    評論

    相關(guān)推薦

    緩存有大key?你得知道的一些手段

    是掃描出來的大key,此處只放置了有效關(guān)鍵信息。 ?? ? 圖1 大key介紹: 想要解決大key,首先我們得知道什么定義為大key。 什么是大KEY: 大key 并不是指 key 的值很大,而是
    的頭像 發(fā)表于 06-19 09:38 ?832次閱讀
    緩存有大key?你<b class='flag-5'>得知道</b>的一些手段

    好用工具欄翻譯軟件

    這是一款很好用工具欄,提示欄,英譯漢軟件,鼠標(biāo)放到想要翻譯的地方釋放就可以翻譯成中文,簡潔方便,可以很好地解決PCB Layout中出現(xiàn)的英文提示欄看不懂的問題。
    發(fā)表于 05-30 08:23

    基于發(fā)布與訂閱的消息系統(tǒng)Kafka

    Kafka權(quán)威指南》——初識 Kafka
    發(fā)表于 03-05 13:46

    Kafka基礎(chǔ)入門文檔

    kafka系統(tǒng)入門教程(原理、配置、集群搭建、Java應(yīng)用、Kafka-manager)
    發(fā)表于 03-12 07:22

    Kafka幾個比較重要的配置參數(shù)

    Kafka在彈性、容錯性以及高吞吐量方面有著很大的優(yōu)勢。想要達到生產(chǎn)環(huán)境最優(yōu),發(fā)揮這些特性,需要我們進行一系列的配置。Kafka提供了非常多的配置屬性,對于初學(xué)者而言,很容易陷入困惑。
    發(fā)表于 11-04 08:10

    Kafka集群環(huán)境的搭建

    1、環(huán)境版本版本:kafka2.11,zookeeper3.4注意:這里zookeeper3.4也是基于集群模式部署。2、解壓重命名tar -zxvf
    發(fā)表于 01-05 17:55

    Kafka和消息隊列的關(guān)系

    與消息隊列系統(tǒng)不同的就是它能夠支持pub/sub,可以在許多服務(wù)器上進行擴展,并重新播放消息。 平時你可能不太關(guān)注這些問題,但是當(dāng)你想要采用響應(yīng)式編程風(fēng)格而不是命令式編程風(fēng)格時,上述這些就是你需要進行關(guān)注的了。 命令式編程和響應(yīng)
    發(fā)表于 09-28 17:15 ?0次下載
    <b class='flag-5'>Kafka</b>和消息隊列的關(guān)系

    安全工程師的這些事你得知道

    從領(lǐng)證,到注冊,再到執(zhí)業(yè)!來自靈魂的質(zhì)問三連擊,考過了注冊安全工程師,這些事兒你得知道
    的頭像 發(fā)表于 10-10 16:58 ?3227次閱讀

    2020年最火十大物聯(lián)網(wǎng)應(yīng)用你知道有哪些嗎

    電子發(fā)燒友網(wǎng)站提供《2020年最火十大物聯(lián)網(wǎng)應(yīng)用你知道有哪些嗎.pdf》資料免費下載
    發(fā)表于 11-26 00:28 ?32次下載
    2020年最火十大物聯(lián)網(wǎng)應(yīng)<b class='flag-5'>用你</b><b class='flag-5'>知道</b>有哪些嗎

    Kafka的概念及Kafka的宕機

    問題要從一次Kafka的宕機開始說起。 筆者所在的是一家金融科技公司,但公司內(nèi)部并沒有采用在金融支付領(lǐng)域更為流行的 RabbitMQ ,而是采用了設(shè)計之初就為日志處理而生的 Kafka ,所以我一直
    的頭像 發(fā)表于 08-27 11:21 ?2160次閱讀
    <b class='flag-5'>Kafka</b>的概念及<b class='flag-5'>Kafka</b>的宕機

    監(jiān)控Kafka集群的常用的方法和工具介紹

    Control等工具連接到Kafka Broker的JMX端口,并監(jiān)控各種關(guān)鍵指標(biāo),如吞吐量、延遲、磁盤使用率、網(wǎng)絡(luò)連接數(shù)等。
    發(fā)表于 08-30 10:05 ?2179次閱讀
    監(jiān)控<b class='flag-5'>Kafka</b>集群的常用的方法和<b class='flag-5'>工具</b>介紹

    pcb菲林是什么?這5個作用你知道

    pcb菲林是什么?這5個作用你知道
    的頭像 發(fā)表于 11-22 11:14 ?8745次閱讀

    好用的串口工具

    好用的串口工具
    發(fā)表于 08-15 10:35 ?1次下載

    芯片開發(fā)必備工具——好用的文件比對工具有哪些?

    芯片開發(fā)必備工具——好用的文件比對工具有哪些?
    的頭像 發(fā)表于 11-01 08:11 ?330次閱讀
    芯片開發(fā)必備<b class='flag-5'>工具</b>——<b class='flag-5'>好用</b>的文件比對<b class='flag-5'>工具</b>有哪些?

    超詳細“零”基礎(chǔ)kafka入門篇

    響應(yīng)數(shù)據(jù)流的實時流應(yīng)用程序 要了解Kafka如何做這些事情,讓我們深入探討Kafka的能力。 (3)首先是幾個概念:
    的頭像 發(fā)表于 12-18 09:50 ?949次閱讀
    超詳細“零”基礎(chǔ)<b class='flag-5'>kafka</b>入門篇
    百家乐官网单机游戏免费| 皇冠百家乐的玩法技巧和规则| 做生意什么花招财| 百家乐官网手论坛48491| 百家乐官网凯时赌场娱乐网规则| 百家乐官网注册18元体验金| 二代百家乐官网破解| 百家乐官网赌博故事| 百家乐官网斗地主下载| 圣保罗百家乐官网的玩法技巧和规则 | 百家乐开线| 真人百家乐国际第一品牌| 百家乐骗局视频| 大发888官网 df888ylcxz46| 皇冠足球比分网| 百家乐官网太阳城球讯网| 百家乐官网怎样投注好| 新2百家乐官网现金网百家乐官网现金网| 菲利宾百家乐官网现场| 尊龙百家乐官网娱乐城| 广州百家乐赌博机| 威尼斯人娱乐城总部| 澳门立博| 澳门百家乐官网娱乐城送体验金 | 新世百家乐的玩法技巧和规则 | 皇冠百家乐官网客户端皇冠| 温州百家乐官网的玩法技巧和规则| 百家乐赌法博彩正网| 威尼斯人娱乐网网址| 大发888娱乐平台 游戏| 万州区| 百家乐官网真人娱乐平台| 哪家百家乐官网优惠最好且信誉不错 | 网上的百家乐是假的吗| 大发888代理充值| 平利县| 真人百家乐官网赌场娱乐网规则| 摩纳哥百家乐娱乐城| 顶级赌场 官方直营网络赌场| 美国百家乐官网怎么玩| 罗盘24山图|