zoukankan      html  css  js  c++  java
  • Zookeeper集群 + Kafka集群 + KafkaOffsetMonitor 监控

    一、Zookeeper
    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
    ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

    zookeeper集群以奇数做集群
    zookeeper1 172.16.10.100 21811
    zookeeper2 172.16.10.100 21812
    zookeeper3 172.16.10.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 -rp 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不同)
    
    # cat zoo.cfg
    tickTime=2000
    initLimit=10
    syncLimit=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 172.16.10.100 90921
    Kafka2 172.16.10.100 90921
    kafka3 172.16.10.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不同)

    #cat config/server.properties
    
    broker.id=1
    listeners=PLAINTEXT://172.16.10.100:90921
    log.dirs= /opt/kafka/logs/90921
    zookeeper.connect=172.16.10.100:21811,172.16.10.100:21812,172.16.10.100:21813

      3、Kafka环境变量

    # cat /etc/profile
    export KAFKA_HEAP_OPTS="-Xms30g -Xmx30g -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:InitiatingHeapOccupancyPercent=45"
    (注 设置根据硬件资源和系统资源本机测试环境都是64核256G8TSSD)

      4、启动

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

    三、 kafak 集群监控
      1、kafka-monitor

    1、监测Kafka集群状态
    2、Topic、Consumer Group列表
    3、图形化展示topic和consumer之间的关系
    4、图形化展示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://172.16.10.100:8899/#/clusterviz
  • 相关阅读:
    c++中sort()及qsort()的用法总结
    POJ的层次感分类
    DFS练习-HDU1010
    Dijkstra&&Floyd
    DFS练习一---HDU 1342
    快速幂取模算法
    树的实现
    C++的队列和pair
    BFS练习-POJ.2386
    Codeforces 1139E(二分图最大匹配)
  • 原文地址:https://www.cnblogs.com/sharesdk/p/8794180.html
Copyright © 2011-2022 走看看