zookeeper集群+kafak集群 + KafkaOffsetMonitor 监控

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper集群+kafak集群 + KafkaOffsetMonitor 监控相关的知识,希望对你有一定的参考价值。

一、zookeeper

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

zookeeper集群以奇数做集群;

zookeeper1 10.207.101.100 21811

zookeeper2 10.207.101.100 21812

zookeeper3 10.207.101.100 21813

  1、下载地址:

http://mirrors.hust.edu.cn/apache/zookeeper/

  2、安装配置 ;

# tar -xf zookeeper-3.4.9.tar.gz

# mv zookeeper-3.4.9/ zookeeper

进入到 zookeeper/conf目录,输入命令 cp zoo_sample.cfg zoo.cfg

进入到 zookeeper目录,新建子目录data和logs,

# mkdir -p /opt/{data/{21811,21812,21813},logs{21811,21812,21813}}

  3、zoo.conf 配置如下:

(单点配置 其余节点配置更改port data logs不同)

# vim zoo.cfg

tickTime=2000

initLimit=10

syscLimit=5

dataDir=/opt/server/zookeeper/data/21811

dataLogDir=/opt/server/zookeeper/logs/212812

clientPort=21811

server.1=zoo1:28881:38881

server.2=zoo2:28882:38882

server.3=zoo3:28883:38883

  4、启动:zookeeper 安装目录

bin/zkServer.sh start

  5、链接测试

bin/zkCli.sh -server 127.0.0.1:21811

bin/zkCli.sh -server 127.0.0.1:21812

bin/zkCli.sh -server 127.0.0.1:21813


二、kafka

Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。通过集群来提供实时的消费;

kafka1 10.207.101.100 90921

Kafka2 10.207.101.100 90921

kafka3 10.207.101.100 90921

prot:90921/90922/90923

  1、下载安装:

https://www.apache.org/dyn/closer.cgi?path=/kafka/0.10.1.1/kafka_2.11-0.10.1.1.tgz

# mkdir -p /opt/kafka/logs{90921,90922,90923}

  2、修改配置文件(单点配置 其余节点配置更改port data logs不同)

vim  config/server.properties

broker.id=1

listeners=PLAINTEXT://10.207.101.100:90921

log.dirs= /opt/kafka/logs/90921

zookeeper.connect=10.207.101.100:21811,10.207.101.100:21812,10.207.101.100:21813


  3、新增Kafka环境变量

cat /etc/profile

export KAFKA_HEAP_OPTS="-Xms30g -Xmx30g -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:InitiatingHeapOccupancyPercent=45"

  4、启动

nohup bin/kafka-server-start.sh config/server.properties >/dev/null 2>&1 &


三、 kafak 集群监控

  1、kafka-monitor

监测Kafka集群状态

Topic、Consumer Group列表

图形化展示topic和consumer之间的关系

图形化展示consumer的Offset、Lag等信息

  2、kafka offset monitor

KafkaOffsetMonitor:程序一个jar包的形式运行,部署较为方便。只有监控功能,使用起来也较为安全。

  3、文档示例使用kafka offset monitor 进行监控

https://github.com/quantifind/KafkaOffsetMonitor

下载解压缩执行:

执行格式:

java -cp KafkaOffsetMonitor-assembly-0.2.1.jar \

     com.quantifind.kafka.offsetapp.OffsetGetterWeb \

     --offsetStorage kafka \

     --zk zk-server1,zk-server2 \

     --port 8899 \

     --refresh 10.seconds \

     --retain 2.days


注: 

offsetStorage目前只支持kaka,zk按照host1:port1,host2:port2…的格式去写即可,port为开启web界面的端口号,refresh为刷新时间,retain为数据保留时间(单位seconds, minutes, hours, days)。


  4、添加启动shell示例:

# cat start.sh

# !/bin/sh

echo "KafkaOffsetMonitor starting"

nohup java -cp KafkaOffsetMonitor-assembly-0.3.0.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --offsetStorage kafka --zk zoo1:21811,zoo2:21812,zoo3:21813 --port 8090 --refresh 10.seconds --retain 1.days > /dev/null 2>&1 &

  5、kafka-monitor测试访问:

http://10.207.101.100:8899/#/clusterviz


本文出自 “logs” 博客,请务必保留此出处http://51log.blog.51cto.com/6076767/1918419

以上是关于zookeeper集群+kafak集群 + KafkaOffsetMonitor 监控的主要内容,如果未能解决你的问题,请参考以下文章

kafak集群python外网无法访问:kafka.errors.NoBrokersAvailable: NoBrokersAvailable

Kafka集群部署

Zookeeper 集群的安装及高可用性验证已完成!

Kafak相关资料汇总.md

Kafak相关资料汇总.md

Reactive Spring实战 -- 响应式Kafka交互