集群搭建

分配三台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/data14 clientPort=218129 server.1=192.168.181.141:2881:388130 server.2=192.168.181.142:2881:388131 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
会提示我们登陆地址和账号密码

kafka-集群搭建相关推荐

  1. 转-Kafka【第一篇】Kafka集群搭建

    转自: https://www.cnblogs.com/luotianshuai/p/5206662.html Kafka[第一篇]Kafka集群搭建 Kafka初识 1.Kafka使用背景 在我们大 ...

  2. kafka集群搭建(消息)

    1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户的搜索关键词进行 ...

  3. zookeeper 和 kafka 集群搭建

    Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...

  4. Zookeeper+Kafka集群搭建

    Zookeeper集群搭建 Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群. 1.软件环境 (3台服务器-我的测试) 192.168.30.204 server1 ...

  5. kafka集群搭建教程(使用自带的zookeeper)

    kafka集群搭建教程(使用自带的zookeeper) 一.kafka简介 二.kafka名词解释 三.zookeeper与Kafka 四.kafka集群搭建前准备 1.下载 2.检验jdk 3.系统 ...

  6. kafka集群搭建+权限认证(SASL/SCRAM)+整合springboot

    本文介绍的的是kafka集群搭建.kafka权限认证(SASL/SCRAM).整合springboot项目. 1.创建kafka日志和zookeeper文件目录: /data/kafka/kafka- ...

  7. Kafka集群搭建及SASL/SCRAM,ACL权限控制

    Kafka集群搭建及SASL/SCRAM,ACL权限控制 环境 部署zookeeper集群及安全认证 部署kafka集群及安全认证 环境 系统版本:Centos7.4 kafka版本:kafka_2. ...

  8. Kafka集群搭建实战

    Kafka集群搭建实战 集群结构: 集群环境信息: 192.168.157.130 192.168.157.131 192.168.157.129 Zookeeper集群搭建 三台机器上均安装JDK( ...

  9. Windows下Kafka集群搭建

    一.Windows下Zookeeper集群搭建. 1.集群版本:2.8.1,3.0版本不再支持JDK8,不在需要Zookeeper. 2.Zookeeper版本:3.8.0. 3.Zookeeper三 ...

  10. 云计算大数据之 Kafka集群搭建

    云计算大数据之 Kafka集群搭建 版权声明: 本文为博主学习整理原创文章,如有不正之处请多多指教. 未经博主允许不得转载.https://blog.csdn.net/qq_42595261/arti ...

最新文章

  1. Android 用户界面---定制组件(Custom Components)
  2. Ubuntu install of ROS Melodic
  3. python excel整合_如何整合100张excel表到一张excel表
  4. crs 管理的几个演示(培训作业)
  5. c#通过app.manifest使程序 右键 以管理员身份运行
  6. 原生js实现京东商城楼梯效果
  7. VS CODE Python开发环境配置
  8. mysql fn_2019 数据库趋势报告,最受欢迎的是 MySQL
  9. 消暑圣品!这部宝马“鬼片”你看过没,第一个被无人驾驶车辆吓跑的女鬼?...
  10. VMware OSP对比VMware Tools:简化Linux驱动更新
  11. 软件测试--用例编写
  12. 项目管理实战精髓培训课
  13. google统计ga.js本地化提高网站性能
  14. Argo-DCS学习笔记
  15. jQuery仿钉钉组织架构的选择部门功能,移动端完美树形图
  16. Direct3D Devices
  17. 智能算法集成测试平台V0.1实战开发
  18. [论文简述+翻译]Just Go with the Flow: Self-Supervised Scene Flow Estimation(CVPR 2020)
  19. echarts中国地图飞线
  20. 阶乘和数c语言,【C语言训练】阶乘和数* (C++代码)

热门文章

  1. 钱文忠解读《弟子规》读后感
  2. 最新版Eclipse2020创建项目红叉问题(“Failed to init ct.sym ...\jrt-fs.jar )
  3. Android 获取手机充电状态
  4. 【不正经科普】一文读懂“区块链”
  5. 中图分类法----Q 生物科学
  6. python点云可视化工具_点云生成鸟瞰图(Python)
  7. Matrix67的情书 题解 恺撒移位密码
  8. UE4蓝图(很经典) 间隔1秒就执行一次,间隔循环执行
  9. Tp5.0对接腾讯云语音验证码
  10. ECS实例及阿里云服务器ECS功能组件的说明