Ubuntu1604安装ganglia并监控Hadoop/HBase/Spark集群

来源:互联网 发布:雅安网络电视台 编辑:程序博客网 时间:2024/04/29 14:29

ganglia的官方文档没找到,试了很多教程,终于配置成功,不过还有一点小问题没有解决

安装依赖软件apache,php,rrdtool

ganglia需要使用apache服务,rrd服务,php服务,这里安装的是最新的php7.0

sudo apt-get install rrdtool apache2 php

注意:此时是无法解析PHP网页的,因为没有安装apache php module

安装apache2 php7 module

sudo apt-get install libapache2-mod-php7.0

安装ganglia

//安装过程中会重启apache,选择yessudo apt-get install ganglia-monitor gmetad ganglia-webfrontend

ganglia组件介绍

ganglia 监控套件包括三个主要部分:gmond,gmetad,和网页接口,通常被称为ganglia-web。

gmond :是一个守护进程,他运行在每一个需要监测的节点上,收集监测统计,发送和接受在同一个组播或单播通道上的统计信息 如果他是一个发送者(mute=no)他会收集基本指标,比如系统负载(load_one),CPU利用率。如果他是一个接收者,他会聚合所有从别的主机上发来的指标,并把它们都保存在内存缓冲区中。

gmetad:也是一个守护进程,他定期检查gmonds,从那里拉取数据,并将他们的指标存储在RRD存储引擎中。他可以查询多个集群并聚合指标,他也被用于生成用户界面的web前端。

ganglia-web :安装在有gmetad运行的机器上,以便读取RRD文件。集群是主机和度量数据的逻辑分组,比如数据库服务器,网页服务器,生产,测试,QA等,他们都是完全分开的,你需要为每个集群运行单独的gmond实例。一般来说每个集群需要一个接收的gmond,每个网站需要一个gmetad。

修改配置文件/etc/ganglia/gmetad.conf和gmond.conf

  1. 配置gmetad.conf
    找到下列配置项,并修改
    data_source “hadoop-cluster” fang-acer
    gridname “Fang”
    case_sensitive_hostnames 1
    data_source 中”hadooop-cluster”为集群名称,后面跟着集群节点ip或主机名,默认host端口为8649
    data_source后多个节点使用空格分隔
    gridname为网格名称,一个网格包含多个集群
    设置对主机名大小写不敏感,如果不设置可能遇到大写的主机名出现访问错误

  2. 配置gmond.conf(每个节点配置一样)
    在配置文件中找到下列配置项,并修改
    cluster {
    name = “fang-cluster”//为gmetad.conf中设置的集群名称
    owner = “unspecified”
    latlong = “unspecified”
    url = “unspecified”
    }
    /* Feel free to specify as many udp_send_channels as you like. Gmond used to only support having a single channel */
    udp_send_channel {
    #mcast_join = 239.2.11.71
    host = fang-acer//gmetad服务的节点
    port = 8649
    ttl = 1
    }

    /* You can specify as many udp_recv_channels as you like as well. */
    udp_recv_channel {
    #mcast_join = 239.2.11.71
    port = 8649
    bind = fang-acer//gmetad服务的节点
    retry_bind = true
    }

  3. 配置apache web服务
    需要将ganglia的web配置复制到apache配置中,以便能够访问ganglia web页面
    sudo cp /etc/ganglia-webfrontend/apache.conf /etc/apache2/sites-enabled/ganglia.conf

启动ganglia

//启动gmondsudo service ganglia-monitor start//启动gmetadsudo service gmetad start//重启apachesudo service apache2 restart或者sudo /etc/init.d/ganglia-monitor startsudo /etc/init.d/gmetad startsudo /etc/init.d/apache2 restart

监控界面

ganglia启动界面

此时监控cpu,disk,memeory,network等

监控内容

监控hadoop

需要修改安装目录hadoop-2.7.2/etc/hadoop下的配置文件 hadoop-metrics2.properties
添加如下内容(每个节点配置一样):

namenode.sink.ganglia.servers=fang-acer:8649resourcemanager.sink.ganglia.servers=fang-acer:8649datanode.sink.ganglia.servers=fang-acer:8649nodemanager.sink.ganglia.servers=fang-acer:8649mrappmaster.sink.ganglia.servers=fang-acer:8649

监控内容多出dfs,yarn等内容

监控内容

监控HBase

需要修改HBase安装目录conf下的hadoop-metrics2-hbase.properties
添加如下内容(每个节点配置一样):

*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31*.sink.ganglia.period=10hbase.sink.ganglia.period=10hbase.sink.ganglia.servers=fang-acer:8649

监控内容多出master,regionsever等内容

监控内容

监控Spark

需要修改Spark安装目录下conf中的metrics.properties
添加如下内容(每个节点配置一样):

master.source.jvm.class=org.apache.spark.metrics.source.JvmSourceworker.source.jvm.class=org.apache.spark.metrics.source.JvmSourcedriver.source.jvm.class=org.apache.spark.metrics.source.JvmSourceexecutor.source.jvm.class=org.apache.spark.metrics.source.JvmSource*.sink.ganglia.class=org.apache.spark.metrics.sink.GangliaSink*.sink.ganglia.host=fang-acer*.sink.ganglia.port=8649*.sink.ganglia.period=10*.sink.ganglia.unit=seconds*.sink.ganglia.ttl=1*.sink.ganglia.mode=unicase*.sink.ganglia.name=unspecified

安装过程中遇到的问题

  1. 无法访问ganglia web服务
    有可能是apache无法解析php页面,检查apache能不能正常访问和解析php
    有可能apache找不到ganglia web应用,尝试将ganglia的文件链接到apache的默认目录下
    sudo ln -s /usr/share/ganglia-webfrontend /var/www/ganglia
    然后再
  2. 根目录空间不足,页面加载异常
    由于web监控信息默认保存在文件夹在/var/lib/ganglia/rrds中,可能撑爆根目录,可以定期清理或者转移
  3. ganglia web页面中job页面加载异常,未能发现原因
    job页面加载异常

  4. ganglia 主页面加载异常,节点数异常,可能是无法监控到节点,重启节点中的gmond服务

注:配置hadoop,hbase,spark之后需要重启服务


the end

0 0
原创粉丝点击