kafka-集群搭建

21 篇文章 1 订阅

集群搭建

在这里插入图片描述

分配三台Linux,用于安装拥有三个节点的Kafka集群。

linux141(192.168.181.141)
linux142(192.168.181.142)
linux144(192.168.181.144)
以上三台主机的/etc/hosts配置:
192.168.181.141-linux140
192.168.181.142-linux141
192.168.181.144-linux144

安装zookeeper

# 解压到/opt目录
tar -zxf zookeeper-3.4.14.tar.gz -C /opt
# 配置
cd /opt/zookeeper-3.4.14/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
# 设置
 12 dataDir=/var/data/zookeeper/data
 14 clientPort=2181
 29 server.1=192.168.181.141:2881:3881
 30 server.2=192.168.181.142:2881:3881
 31 server.3=192.168.181.144:2881:3881

  • 创建myid文件
mkdir /var/data/zookeeper/data -p
vim myid
分别写入1,2,3
  • 环境变量
    vim /etc/profile

export JAVA_HOME=/usr/local/jdk1.8.0_261
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export ZOOKEEPER_HOME=/opt/zookeeper-3.4.14
export PATH=${ZOOKEEPER_HOME}/bin:$PATH

source /etc/profile

在三台Linux上启动Zookeeper

zkServer.sh start

在这里插入图片描述

  • 在三台Linux上查看Zookeeper的状态
zkServer.sh status

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Kafka集群搭建
  • 解压
tar -zxf kafka_2.12-1.0.2.tgz -C /opt
  • 配置环境变量
    vim /etc/profile

export KAFKA_HOME=/opt/kafka_2.12-1.0.2
export PATH=${KAFKA_HOME}/bin:$PATH

在这里插入图片描述

source /etc/profile

  • 修改kafka中配置文件
vim /opt/kafka_2.12-1.0.2/config/server.properties

  • 141
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://linux141:9092
log.dir=/var/data/kafka/kafka-logs
zookeeper.connect=192.168.181.141:2181,191.168.181.142:2181,192.168.181.144:2181/myKafka
  • 142
broker.id=1
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://linux142:9092
log.dir=/var/data/kafka/kafka-logs
zookeeper.connect=192.168.181.141:2181,191.168.181.142:2181,192.168.181.144:2181/myKafka
  • 142
broker.id=2
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://linux144:9092
log.dir=/var/data/kafka/kafka-logs
zookeeper.connect=192.168.181.141:2181,191.168.181.142:2181,192.168.181.144:2181/myKafka

启动Kafka

3台机子上都运行

kafka-server-start.sh /opt/kafka_2.12-1.0.2/config/server.properties
  • 验证Kafka

  • 141
    在这里插入图片描述

  • 142
    在这里插入图片描述

  • 144
    在这里插入图片描述


zkCli.sh
# 查看每个Broker的信息
get /brokers/ids/0
get /brokers/ids/1
get /brokers/ids/2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

集群监控

3.3.1 监控度量指标
Kafka使用Yammer Metrics在服务器和Scala客户端中报告指标。Java客户端使用Kafka Metrics,
它是一个内置的度量标准注册表,可最大程度地减少拉入客户端应用程序的传递依赖项。两者都通过
JMX公开指标,并且可以配置为使用可插拔的统计报告器报告统计信息,以连接到您的监视系统。
具体的监控指标可以查看官方文档。
http://kafka.apache.org/10/documentation.html#monitoring

JMX

Kafka开启Jmx端口

vim /opt/kafka_2.12-1.0.2/bin/kafka-server-start.sh

在这里插入图片描述
所有kafka机器添加一个 JMX_PORT ,并重启kafka
验证JMX开启
首先打印9581端口占用的进程信息,然后使用进程编号对应到Kafka的进程号,搞定
ss -nelp | grep 9581
在这里插入图片描述
也可以查看Kafka启动日志,确定启动参数 -Dcom.sun.management.jmxremote.port=9581存在即可

使用JConsole链接JMX端口

  1. win/mac,找到jconsole工具并打开, 在 ${JAVA_HOEM}/bin/
    Mac电脑可以直接命令行输入 jconsole

在这里插入图片描述
在这里插入图片描述

相见官方文档:http://kafka.apache.org/10/documentation.html#monitoring
这里列出常用的

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

编程手段来获取监控指标
监控工具 Kafka Eagle

可以使用Kafka-eagle管理Kafka集群
核心模块:
面板可视化
主题管理,包含创建主题、删除主题、主题列举、主题配置、主题查询等
消费者应用:对不同消费者应用进行监控,包含Kafka API、Flink API、Spark API、Storm
API、Flume API、LogStash API等
集群管理:包含对Kafka集群和Zookeeper集群的详情展示,其内容包含Kafka启动时间、
Kafka端口号、Zookeeper Leader角色等。同时,还有多集群切换管理,Zookeeper Client操
作入口
集群监控:包含对Broker、Kafka核心指标、Zookeeper核心指标进行监控,并绘制历史趋势

告警功能:对消费者应用数据积压情况进行告警,以及对Kafka和Zookeeper监控度进行告
警。同时,支持邮件、微信、钉钉告警通知
系统管理:包含用户创建、用户角色分配、资源访问进行管理

架构:
可视化:负责展示主题列表、集群健康、消费者应用等
采集器:数据采集的来源包含Zookeeper、Kafka JMX & 内部Topic、Kafka API(Kafka 2.x以
后版本)
数据存储:目前Kafka Eagle存储采用MySQL或SQLite,数据库和表的创建均是自动完成的,
按照官方文档进行配置好,启动Kafka Eagle就会自动创建,用来存储元数据和监控数据
监控:负责见消费者应用消费情况、集群健康状态
告警:对监控到的异常进行告警通知,支持邮件、微信、钉钉等方式
权限管理:对访问用户进行权限管理,对于管理员、开发者、访问者等不同角色的用户,分配
不用的访问权限
需要Kafka节点开启JMX。


# 下载编译好的包
wget http://pkgs-linux.cvimer.com/kafka-eagle.zip
# 配置kafka-eagle
unzip kafka-eagle.zip
cd kafka-eagle/kafka-eagle-web/target
mkdir -p test
cp kafka-eagle-web-2.0.1-bin.tar.gz test/
tar xf kafka-eagle-web-2.0.1-bin.tar.gz
cd kafka-eagle-web-2.0.1

需要配置环境变量:
KE_HOME=
PATH=

conf下的配置文件:system-config.properties

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
也可以自行编译, https://github.com/smartloli/kafka-eagle
创建Eagel的存储目录: mkdir -p /hadoop/kafka-eagle

启动kafka-eagle

./bin/ke.sh start
会提示我们登陆地址和账号密码
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值