zoukankan      html  css  js  c++  java
  • ubuntu下ganglia3.7.2编译安装

    一、介绍

    ganglia主要包括gmond和gmeta

    1、gmond用于收集监测数据,可以发送也可以接收在同一个组播或单播通道上的统计信息。gmond有两个角色,一个是发送者,另一个是接收者。当mute=no时,gmond是发送者,会收集本节点上的基本指标,比如系统负载(load_one)、cpu和memory利用率等,也可以发送用户通过添加C/Python模块来自定义的指标。当deaf=no是接收者,主要用来聚合所有从别的节点上发来的指标(如flume agent发来的metrics信息),并把他们都保存在内存缓冲区中。gmond节点之间通过UDP收集数据,gmetad通过TCP从gmond节点获取数据

    2、gmeta定期检查gmond,拉取gmond上的数据,并将他们的指标存储在RRD存储引擎中。

    3、除此之外还有个web组件用于显示监控图,ganglia-web(或者ganglia-webfrontend)

    二、编译先决条件
    apt-get install make gawk gcc g++ pkg-config python-libxml2 libcogl-pango-dev libxml2-dev libxslt-dev libaprutil1-dev libpcre*
    apt-get install pkg-config -y
    apt-get install pkgconf -y
    apt-get install libapr1-dev -y
    apt-get install libconfuse-dev -y
    apt-get install expat -y
    apt-get install libexpat-dev -y
    apt-get install zlib1g-dev -y
    apt-get install librrds-perl python-dev libpcre3-dev -y
    可能不全,但也差不多
    上面的依赖包都安装之后还需要confuse和rrdtool,这两个需要编译安装,所以单独说明下
    1、安装confuse
    wget http://download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz
    tar -zxvf confuse-2.7.tar.gz
    cd confuse-2.7
    ./configure CFLAGS=-fPIC --disable-nls --prefix=/home/hadoop/confuse-2.7
    make && make install #root用户执行


    2、安装rrdtool
    wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.6.0.tar.gz
    ./configure --prefix=/usr/local # 貌似安装到别的目录,需要将bin下的命令加到环境变量中,否则后面编译ganglia会报错
    make && make install #root用户执行


    三、依赖安装完毕,进入ganglia-3.7.2.tar.gz的解压目录中
    1、执行编译命令 
    ./configure --prefix=/usr/local/ganglia --with-gmetad --with-librrd=/usr/local/lib --sysconfdir=/etc/ganglia --enable-gexec --enable-status
    --prefix用于指定ganglia编译之后的目录,--with-gmetad包含gmeta组件,--with-librrd=/usr/local/lib包含rrd数据库,--sysconfdir=/etc/ganglia将gmeta
    和gmond的配置文件放在此目录。
    成功之后就可以执行
    2、安装
    make && make install

    四、还需要安装
    apt-get install ganglia-modules-linux ganglia-monitor ganglia-monitor-python ganglia-webfrontend libganglia1 libganglia1-dev
    要不然无法收集机器的基础属性,也不能正常显示图片(ganglia-webfrontend不安装无法正常显示图片)。


    五、安装ganglia-web
    下面来编译ganglia-web,其实下载的ganglia-web-3.7.2.tar.gz已经是编译好的,直接执行安装命令(make && make install)就行了。但是ganglia-web需要依赖
    apache作为服务器,则还需要安装依赖
    apt-get install apache2.2-bin apache2.2-common apache2 libapache2-mod-php5 php5
    这里也可以对ganglia-web的安装目录进行稍许的配置,配置在Makefile中

    主要改的配置选项如下:
    # Location where gweb should be installed to (excluding conf, dwoo dirs).
    # web页面文件,需要放在apache web文件夹里
    GDESTDIR = /usr/share/ganglia-webfrontend
    # Location where default apache configuration should be installed to.
    GCONFDIR = /etc/ganglia-web
    # Gweb statedir (where conf dir and Dwoo templates dir are stored)
    GWEB_STATEDIR = /var/lib/ganglia-web
    # Gmetad rootdir (parent location of rrd folder)
    GMETAD_ROOTDIR = /var/lib/ganglia

    上面的目录配置的有点散,可以对其进行修改,使其便于管理,修改如下:
    GDESTDIR = /var/lib/ganglia/web
    # Location where default apache configuration should be installed to.
    GCONFDIR = /var/lib/ganglia/etc/
    #GCONFDIR = /etc/ganglia-web
    # Gweb statedir (where conf dir and Dwoo templates dir are stored)
    GWEB_STATEDIR = /var/lib/ganglia
    # Gmetad rootdir (parent location of rrd folder)
    GMETAD_ROOTDIR = /var/lib/ganglia
    # 可改可不改,默认是www-data
    APACHE_USER = hadoop_portal
    之所以选择/var/lib/ganglia这个目录,是因为rrd在此目录中。如果你用的版本和我一样,可能会遇到个小bug,将GDESTDIR和GWEB_STATEDIR路径中的第一个/去掉


    六、部署
    修改两个配置文件就行,分别是gmond.conf和gmeta.conf,在目录/etc/ganglia(此路径是在编译ganglia时指定的)中。
    gmeta.conf中只需添加数据源和gmod节点就可以了

    # 说明:这里的 "flume" 表示的是集群的名称,与gmod中的cluster名字一样,后面的内容是这个集群中所包含的主机信息,也就是要监控的主机ip
    # 这里采用单播方式,则只有一个节点,并配上端口,如果不指定端口,默认是8649
    data_source "flume" 127.0.0.1:8666
    # 由于setuid默认是开启的,而setuid_username默认是nobody,可能会遇到权限问题,则改为启动用户hadoop
    setuid_username "hadoop"

    启动之前需要改下rrd所在目录的权限,改为启动gmeta的用户,命令chown -R hadoop:hadoop /var/lib/ganglia(如果rrds目录不存在,则新建/var/lib/ganglia/rrds目录)

    七、启动gmeta
    /usr/local/ganglia/sbin/gmetad start
    (/usr/local/ganglia/是在编译时由–prefix=指定的)
    然后通过ps -ef | grep gm查看是否有gmeta进程,如果没有就代表没有启动成功,
    可以使用gmetad --debug=4(或者gmeta debug=10 log message)进来debug启动

    gmond.conf文件修改
    globals {
    daemonize = yes
    setuid = yes
    # 与gmeta中setuid_username相同,启动gmond的用户
    user = hadoop
    debug_level = 0
    max_udp_msg_len = 1472
    # 发送者开关
    mute = no
    # 接收者开关
    deaf = no
    host_dmax = 0 /*secs */
    cleanup_threshold = 300 /*secs */
    gexec = no
    send_metadata_interval = 0
    }
    cluster {
    # gmeta中data_source中的cluster名字
    name = "flume"
    owner = "unspecified"
    latlong = "unspecified"
    url = "unspecified"
    }
    #发送者channel
    # 如果不用监视本节点基础指标则不用配置,并设置mute为yes
    udp_send_channel {
    # 多播方式
    /*mcast_join = 239.2.11.71 */
    host = 127.0.0.1
    port = 8666
    ttl = 1
    }
    # 接收者channel
    udp_recv_channel {
    /* mcast_join = 239.2.11.71 */
    port = 8666
    bind = 127.0.0.1
    }
    tcp_accept_channel {
    port = 8666
    }


    八、启动gmond
    /usr/local/ganglia/sbin/gmond start
    没有启动则用上面介绍的debug模式启动,查找错误原因

    九、启动ganglia-web
    只需要将GDESTDIR所指定的目录放到/var/www目录中就可以了。我在这建了个软连
    cd /var/www/html
    ln -s /usr/share/ganglia-webfrontend ganglia
    启动apache就可以访问了,apache启动命令
    service apache2 start

    十、查看显示结果
    输入127.0.0.1/ganglia就可以查看监控指标了

    十一、排错
    如果服务器在本地不能访问,可以使用telnet localhost 8651来验证下gmeta是否成功(gmeta默认是8651端口)。

    其他
    更改Apache的默认端口
    在debian系统下apache默认安装目录是/etc/apache2/
    更改默认端口需要修改两个配置文件,分别为/etc/apache2/ports.conf和/etc/apache2/sites-available/default
    更改内容如下:
    #ports.conf
    NameVirtualHost *:8001
    Listen 8001
    #default
    VirtualHost *:8001
    #ports.conf
    NameVirtualHost *:8001
    Listen 8001
    #default
    VirtualHost *:8001
    然后重启就ok了。可以使用命令netstat -lnp |grep apache查看配置是否生效。显示内容如下则表示生效
    tcp6 0 0 :::8001 :::* LISTEN 8647/apache2

    删除一个节点
    删掉rrd对应节点后,reload下gmetad

  • 相关阅读:
    CNN comprehension
    Gradient Descent
    Various Optimization Algorithms For Training Neural Network
    gerrit workflow
    jenkins job配置脚本化
    Jenkins pipeline jobs隐式传参
    make words counter for image with the help of paddlehub model
    make words counter for image with the help of paddlehub model
    git push and gerrit code review
    image similarity
  • 原文地址:https://www.cnblogs.com/wclwcw/p/7170899.html
Copyright © 2011-2022 走看看