zoukankan      html  css  js  c++  java
  • Ganglia安装

     一、rrdtool安装

    1.1 安装依赖包

    由于rrdtool依赖的包比较多,而且包之间也存在依赖,故使用yum安装由于服务器无法联网,故使用iso文件创建本地yum源,方法见下:

    (1)创建iso存放目录和挂载目录

    mkdir /mnt/iso 
    mkdir /mnt/cdrom
    

    (2)将iso镜像文件上传到/mnt/iso文件夹下

    (3)将/mnt/iso/下的iso文件挂载到/mnt/cdrom目录

    mount -o loop /mnt/iso/XXXXX.iso /mnt/cdrom
    

    注:挂载完之后对其操作会提示设备繁忙,此时需要umount解开挂载才行

    查看是否挂载成功: df -h

    用来查看系统中所有挂载的,mount也可以

    (4)如果/etc/yum.repos/下面有其它的*.repo文件,先创建个文件夹,将这些*.repo先转移到文件夹中,自己写一个.repo的文件

    mkdir /etc/yum.repos.d/bak 
    mv *.repo /etc/yum.repos.d/bak 
    

    然后创建自己的.repo文件vi myself.repo

    [base]
    name=RedHat
    baseurl=file:///mnt/cdrom
    enabled=1
    gpgckeck=0
    gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release,file:///mnt/cdrom/RPM-GPG-KEY-redhat-beta
    

    安装命令见下:

    yum -y install cairo cairo-devel pango pango-devel libxml2 libxml2-devel glib2 glib2-devel
    

    1.2 源码安装rrdtool

     从rrdtool的官网 (http://oss.oetiker.ch/rrdtool/) 下载rrdtool的源码包,解压,编译,安装

    tar -zxvf rrdtool-1.4.8.tar.gz 
    cd rrdtool-1.4.8/
    ./configure -prefix=/usr/local/rrdtool 
    make && make install 
    

     在命令行运行rrdtool -v,测试安装是否成功

    二、Apache安装

    2.1 依赖包安装

    (1)源码安装apr(也可通过yum安装)

    tar -zxvf apr-1.5.0.tar.gz
    cd apr-1.5.0
    ./configure && make && make install
    

     (2)源码安装 apr-util(也可通过yum安装)

    tar -zxvf apr-util-1.5.3.tar.gz
    cd apr-util-1.5.3
    ./configure --with-apr=/usr/local/apr && make && make install
    

    (3)源码安装 libconfuse

    tar -zxvf confuse-2.7.tar.gz
    cd confuse-2.7
    ./configure CFLAGS=-fPIC --disable-nls && make && make install
    

    (4)源码安装 pcre

    tar -zxvf pcre-8.34.tar.gz
    cd pcre-8.34
    ./configure && make && make install
    

    安装pcre时, 可能提示说没有c++ 编译器,可通过yum -y install gcc-c++ 进行安装

    2.2 源码安装apache

    从官网( http://www.apache.org/ )下载apache源码包,进行解压,编译,安装

    ./configure --prefix=/app/ApacheInstall/httpd-2.4.7/ --sysconfdir=/app/apache-config --enable-shared=max --enable-so --enable-rewrite --enable-ssl --with-apr=/usr/local/apr
    make && make install
    

    修改配置文件/app/apache-config/httpd.conf

    Listen 18001 //默认为80, 只有root用户能够启动,将其改为1024之后的数字,可以由hadoop用户启动
    ServerName GBD-VM01 
    <FilesMatch \.php$> 
    SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.ph(p[2-6]?|tml)$">
    SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
    </FilesMatch>
    

    创建/app/ApacheInstall/httpd-2.4.7/到/app/apache的链接

    修改组属

    chown -R hadoop:hadoop /app/ApacheInstall /app/apache /app/apache-config
    

    在浏览器中输入 http://ip(安装机器ip) 进行测试,出现It works!字样,说明安装成功

    可将/app/ApacheInstall/httpd-2.4.7/bin/apachetcl拷贝到/usr/sbin目录下,方便进行apache的启动和关闭

    apachetcl -k start|restart|stop
    

    三、php安装

    从官网( http://www.php.net/ )下载安装源码包,解压,编译,安装

    tar -zxvf php-5.5.7.tar.gz
    cd php-5.5.7
    ./configure --with-apxs2=/app/apache/bin/apxs ##will install the mod_php for apache
    make && make install
    

    起初使用yum安装了php,但是在apache中却无法解析php文件,多番找原因,无果,之后使用源码进行编译安装

    php配置

    cp php.ini-production /usr/local/lib/php.ini; 
    vi2 php.ini session.save_path = "/usr/local/lib/php/session" date.timezone = "PRC";
    mkdir /usr/local/lib/php/session;
    chmod 755 /usr/local/lib/php;
    chown -R hadoop:hadoop /usr/local/lib/php/session
    

    四、Ganglia安装

    4.1 Gmetad源码安装

    从官网( http://ganglia.info/ )下载Ganglia源码包,解压,编译,安装

    make && make install
    

    安装过程中可能出现以下错误

    Checking for apr
    Added -I/usr/local/apr//include to CFLAGS
    Added -L/usr/local/apr//lib64 to LDFLAGS
    checking for apr_socket_send in -lapr-1... no
    libapr not found
    

    经检查,apr已安装,只是路径有偏差,故使用mv /usr/local/apr/lib /usr/local/apr/lib64,暂时解决问题

    libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -I. -I../include/ -D_LARGEFILE64_SOURCE -DSFLOW -DSYSCONFDIR="/app/ganglia-config" -g -O2 -I/usr/local/rrdtool//include -I/usr/local/apr//include -fno-strict-aliasing -Wall -D_REENTRANT -MT ganglia.lo -MD -MP -MF .deps/ganglia.Tpo -c ganglia.c -fPIC -DPIC -o .libs/ganglia.o
    ganglia.c:8:19: 错误:expat.h:没有那个文件或目录
    

    经检查,expat.h文件存在,只是路径有偏差,故使用cp /usr/local/apr/include/apr-1/* /usr/local/apr/include 暂时解决问题

    修改/app/ganglia-config/gmetad.conf中的配置项

    data_source "hadoop-core DEV" 192.168.1.101:8649 192.168.1.102:8649 192.168.1.103:8649 192.168.1.104:8649
    setuid_username "hadoop"
    rrd_rootdir "/app/ganglia/rrds"
    

    创建/app/GangliaInstall/ganglia-3.6.0/到/app/ganglia的链接

    ln -s /app/GangliaInstall/ganglia-3.6.0/ /app/ganglia
    

    修改组属

    chown -R hadoop:hadoop /app/GangliaInstall/ /app/ganglia /app/ganglia-config
    

    可将/app/ganglia/sbin/gmetad拷贝到/usr/bin,便于使用

    可用gmetad -d 5 进行运行测试

    启动gmetad:gmetad

    在启动过程中可能出现找不到连接库的问题,可通过ldd $(which /usr/bin/gmetad) 检查依赖包是否都能找到,若有找不到的依赖包,可使用find / -name 依赖包名 命令查找依赖包,并将其链接到/lib64/目录下

    4.2 Gmond源码安装

    从官网下载Ganglia源码包,解压,编译,安装

    ./configure --prefix=/app/GangliaInstall/ganglia-3.6.0/ --with-librrd=/usr/local/rrdtool/ --with-libexpat=yes --with-libconfuse=yes --with-python=yes --with-libpcre=yes --with-libapr=/usr/local/apr/ --enable-gexec --enable-status --sysconfdir=/app/ganglia-config/
    make && make install
    

    修改/app/ganglia-config/gmetad.conf中的配置项

    globals {
    daemonize = yes
    setuid = yes
    user = hadoop
    ……
    }
    cluster {
    name = "hadoop-core DEV"
    owner = "hadoop"
    latlong = "unspecified"
    url = "unspecified"
    }
    

    创建/app/GangliaInstall/ganglia-3.6.0/到/app/ganglia的链接

    ln -s /app/GangliaInstall/ganglia-3.6.0/ /app/ganglia
    

    修改组属

    chown -R hadoop:hadoop /app/GangliaInstall/ /app/ganglia /app/ganglia-config
    

    可将/app/ganglia/sbin/gmond拷贝到/usr/bin,便于使用

    可用gmond -d 5 进行运行测试

    启动gmond:gmond

    在启动了gmond之后,发现并没有rrd文件生成,之后使用gmond -d 5进行测试,测试过程中可能会出现以下错误:Error creating multicast server mcast_join=239.2.11.71 port=8649 mcast_if=NULL family='inet4'. Will try again...,系统不支持多播,需要将多播ip地址加入路由表,使用route add -host 239.2.11.71 dev eth0命令即可,将该命令加入/etc/rc.d/rc.local文件中,一劳永逸

    4.3 Ganglia Web 安装

    从官网下载Ganglia-web包,解压

    tar -zxvf ganglia-web-3.5.11.tar.gz
    mkdir /app/apache/htdocs/ganglia
    cp -r ganglia-web-3.5.11/* /app/apache/htdocs/ganglia/
    

    修改配置conf.php

    cp conf-default.php conf.php
    vi conf.php
    $conf['gweb_confdir'] = "/app/apache/htdocs/ganglia";
    $conf['gmetad_root'] = "/app/ganglia";
    $conf['rrdtool'] = "/usr/bin/rrdtool";
    $conf['case_sensitive_hostnames'] = false; // 如果主机名中有大写字符,一定要将其选项设置为false,否则在页面中会显示No match metrics delected or rrds not readable,因为ganglia在保存rrd文件时,主机名的目录都是小写的
    

    重启apache

    apachetcl -k restart
    

    在浏览器中输入 http://192.168.1.101:18001/ganglia进行查看

    五、hadoop集群配置

    修改配置文件/app/hadoop-config/hadoop-metrics2.properties

    *.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
    namenode.sink.ganglia.servers=ip:8649
    datanode.sink.ganglia.servers=ip:8649
    jobtracker.sink.ganglia.servers=ip:8649
    tasktracker.sink.ganglia.servers=ip:8649
    maptask.sink.ganglia.servers=ip:8649
    reducetask.sink.ganglia.servers=ip:8649
    

    重启hadoop

  • 相关阅读:
    springboot +mybatis 使用PageHelper实现分页,并带条件模糊查询
    jQuery设置点击选中样式,onmouseover和onmouseout事件
    Ajax跨域设置
    Java获取文章的上一篇/下一篇
    Python str / bytes / unicode 区别详解
    Python bytes 和 string 相互转换
    Python bytearray/bytes/string区别
    Python eval 与 exec 函数区别
    Python eval 与 exec 函数
    Python set list dict tuple 区别和相互转换
  • 原文地址:https://www.cnblogs.com/Cherise/p/4350581.html
Copyright © 2011-2022 走看看