Ganglia监控Hadoop集群的安装部署

详情请参见 http://boendev.iteye.com/blog/1750615

一、 安装环境

  • CentOS6.5x86_64
  • 安装gmetad的机器:10.2.6.250 (服务端)
  • 安装gmond的机器:10.2.6.250,10.2.6.246,10.2.6.248,10.2.6.249
  • 浏览监控web页面的机器:10.2.6.250
  • Ganglia 监控套件包括三个主要部分 gmond ,gmetad,和网页接口,通常被称为ganglia-web。
    gmond 是一个守护进程,他运行在每一个需要监测的节点上,收集监测统计,发送和接受在同一个组播或单播通道上的统计信息。
  • gmetad 也是一个守护进程,他定期检查gmonds ,从那里拉取数据,并将他们的指标存储在RRD存储引擎中。它可以查询多个集群并聚合指标。RRD也被用于生成用户界面的web前端。
  • ganglia-web 顾名思义,他应该安装在有gmetad运行的机器上,以便读取RRD文件。

二、 介绍

一般来说一个集群的每台机器上都需要安装gmond,只要负责展示web界面的机器安装了gmetad即可。

1.ganglia规划

 主机名        ip
              规划                        安装

hadoop1 
10.2.6.250    服务端   ganglia-gmond、ganglia-gmetad、ganglia-web

hadoop2   10.2.6.246
   客户端   
        ganglia-gmond

hadoop3   10.2.6.248
   客户端      
     ganglia-gmond

hadoop4 
 10.2.6.249    客户端     
      ganglia-gmond

安装前确保iptables关闭.

2.安装前的准备工作

2.1加载yum源,在每一台机器上面执行下面两个命令

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

yum  -y  install  httpd-devel  automake  autoconf  libtool  ncurses-devel  libxslt  groff  pcre-devel  pkgconfig

3.主节点服务安装配置

3.1主节点的服务安装(hadoop1上面的安装配置)安装ganglia-gmetad 和 ganglia-web

  1. #yum search ganglia     ------------------查看ganglia在epel的安装包,复制进行安装
  2. #yum -y install ganglia-web.x86_64 ganglia-gmond.x86_64
  3. #yum -y install ganglia-gmetad.x86_64 ----------------------(如果上一步执行了这步不用执行,web包会自动下载该依赖)
  4. #rpm -qa |grep ganglia          --------------------查看安装情况
  5. # rpm -ql ganglia-gmetad.x86_64       ------------- 复制上面命令执行结果的安装名,可查看安装路径

 

3.1.1配置gmetad

Shell代码  

  1. # vi /etc/ganglia/gmetad.conf
  2. data_source
    "my cluster" 10.2.6.250:8649  ---- Hadoop为cluster名称,后面是需要监控的主机名
3.1.2修改apache设置

Shell代码  

  1. # vi /etc/httpd/conf.d/ganglia.conf
  2. 文件内容Deny from all 为 allow from all
  3. 修改后配置如下
  4. <Location
    /ganglia>
  5. Order deny,allow
  6. Allow from all
  7. Allow from 127.0.0.1
  8. Allow from ::1
  9. # Allow from .example.com
  10. </Location>
3.1.3设置启动

Shell代码  

  1. # chkconfig --add gmetad
  2. # chkconfig --add gmond
  3. # chkconfig --add httpd
3.1.4打开端口/关闭防火墙

# /etc/init.d/iptables
stop -------------------关闭防火墙,用于测试时,线上最好用打开端口方式

3.1.5关闭SELinux

1 永久方法 – 需要重启服务器

修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

2 临时方法 – 设置系统参数

使用命令setenforce 0

附:

setenforce 1 设置SELinux 成为enforcing模式

setenforce 0 设置SELinux 成为permissive模式

4.监控节点的安装(每个监控节点,hadoop2,hadoop3,

hadoop4都要安装)

4.1安装ganglia-gmond

Shell代码  

  1. #yum search ganglia
  2. #yum install ganglia-gmond.x86_64

4.2配置gmond

Shell代码  

  1. #vi /etc/ganglia/gmond.conf
  2. cluster
    {
  3. name = "my cluster" 
      ------ cluster名称,是你在gmetad.conf里配置的data_source名称
  4. owner = "root"
  5. latlong = "unspecified"
  6. url = "unspecified"
  7. }
  8. udp_send_channel
    {
  9. #
    mcast_join = 239.2.11.71  ----- 组播
  10. host=10.2.6.250    -------------- 单播 gmeta主机的ip/主机名或者主机ip地址
  11. port
    = 8649
  12. ttl =
    1
  13. }
  14. udp_recv_channel {
  15. #mcast_join = 239.2.11.71
  16. port
    = 8649
  17. bind =
    10.2.6.246
  18. }

4.3配置启动

chkconfig
 --add  gmond

chkconfig
 --list  gmond

此时,如果正确安装,会出现gmond    
      0:off   1:off   2:off   3:off   4:off
  5:off   6:off

4.4配置hosts

# vi /etc/hosts

10.2.6.250 hadoop1

10.2.6.246 hadoop2

10.2.6.248 hadoop3

10.2.6.249 hadoop4

全部安装完毕后

在主机上

# service gmetad start

# service gmond start

# service httpd start

# service gmetad status 
  -------------------验证是否启动成功

# service gmond status   -------------------验证是否启动成功

在监控节点上 

# service gmond start

# service gmond status   -------------------验证是否启动成功

访问http://10.2.6.250/ganglia

常见问题

Forbidden错误时,因为对apache有一个设置

修改 /etc/httpd/conf.d/ganglia.conf文件内容Deny from all 为 allow from all

There was an error collecting ganglia data
(127.0.0.1:8652):fsockopen error: Permission denied
解决方法

1 永久方法 – 需要重启服务器

修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

2 临时方法 – 设置系统参数

使用命令setenforce 0

附:

setenforce 1 设置SELinux 成为enforcing模式

setenforce 0 设置SELinux 成为permissive模式

There was an error collecting ganglia data
(127.0.0.1:8652):fsockopen error: Connection refused
解决办法

卸载yum remove ganglia-web
ganglia-gmetad

重新安装yum install ganglia-web
   ----- ganglia-web本身有引用gmetad

重启即可

http://redhatdebian.blog.51cto.com/1197273/828992

第2节 storm路由器项目开发:8 - 9、集群监控软件ganglia的安装和使用的更多相关文章

  1. 第2节 storm路由器项目开发:1 - 7、网络路由器项目

    网安需求: 1:IFTTT:随着物联网的兴起,if this then that .如果出现这种情况,那么及时反映做出对应的操作. 判断手机号黑白名单,mac地址黑白名单.如果是碰到手机号或者mac地 ...

  2. 项目中使用Quartz集群分享--转载

    项目中使用Quartz集群分享--转载 在公司分享了Quartz,发布出来,希望大家讨论补充. CRM使用Quartz集群分享  一:CRM对定时任务的依赖与问题  二:什么是quartz,如何使用, ...

  3. 解决项目迁移至Kubernetes集群中的代理问题

    解决项目迁移至Kubernetes集群中的代理问题 随着Kubernetes技术的日益成熟,越来越多的企业选择用Kubernetes集群来管理项目.新项目还好,可以选择合适的集群规模从零开始构建项目: ...

  4. Zookeeper Monitor集群监控开发

    随着线上越来越多的系统依赖Zookeeper集群.以至于Zookeeper集群的执行状况越来越重要.可是眼下还没有什么好用的Zookeeper集群监控系统(淘宝开源了一个Zookeeper监控系统,可 ...

  5. hadoop+yarn+hbase+storm+kafka+spark+zookeeper)高可用集群详细配置

    配置 hadoop+yarn+hbase+storm+kafka+spark+zookeeper 高可用集群,同时安装相关组建:JDK,MySQL,Hive,Flume 文章目录 环境介绍 节点介绍 ...

  6. 面试连环炮系列(二):你们的项目Redis做了集群部署吗

    你们的项目Redis做了集群部署吗? 我们有大量数据需要缓存,而单实例的容量毕竟是有限的,于是做了Redis集群部署. 采取的方案是什么,Codis还是Redis Cluster,为什么要选择这个方案 ...

  7. 开发的服务集群部署方案,以etcd为基础(java)

    当前有很多服务集群部署,但是对于我们自己开发的服务系统怎么样能够解决部署问题,对大家很麻烦和笨重. 首先,我想说对于我们国内,小公司小系统比较多.大型系统毕竟少数,向阿里云看齐的不多.其实所谓的需要集 ...

  8. 一步到位分布式开发Zookeeper实现集群管理

    说到分布式开发Zookeeper是必须了解和掌握的,分布式消息服务kafka .hbase 到hadoop等分布式大数据处理都会用到Zookeeper,所以在此将Zookeeper作为基础来讲解. Z ...

  9. 大数据入门第十六天——流式计算之storm详解(三)集群相关进阶

    一.集群提交任务流程分析 1.集群提交操作 参考:https://www.jianshu.com/p/6783f1ec2da0 2.任务分配与启动流程 参考:https://www.cnblogs.c ...

随机推荐

  1. __call__ ,,__str__魔法函数

    class Test(object): def __init__(self): self.name = "汪 汪" self.girl = "liu cc" # ...

  2. Windows server 2012 R2 服务器用户自动锁定

    开启共享文件夹后,发现经常会自动锁定导致,共享用户无法正常访问共享文件夹(原因不明) 解决办法,打开本地安全策略 把账户锁定阈值改为0

  3. python之requests库使用

    requests库 虽然Python的标准库中 urllib模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests宣传是 “HTTP for Human ...

  4. 用myeclipse快速搭建hibernate实现数据库访问

    前言 hibernate使用的大致过程为引入jar包.配置主配置文件.配置映射文件.编写实体类.编写dao.但是每一步都需要知道的内容都相对不少,造成困难.如果使用myeclipse提供的支持将非常容 ...

  5. 吴裕雄 python 神经网络——TensorFlow 花瓣分类与迁移学习(4)

    # -*- coding: utf-8 -*- import glob import os.path import numpy as np import tensorflow as tf from t ...

  6. Passive Client Feature

    Q. How is the passive client feature used on Wireless LAN Controllers? A. Passive clients are wirele ...

  7. 「AT4741 [ABC132D] Blue and Red Balls」

    题目大意 给出一个长度为 \(N\) 的01串,其中有 \(K\) 个 \(1\),其他都是 \(0\),需要求出当着 \(K\) 个 \(1\) 分成 \(1\) 到 \(K\) 段每一个的方案数. ...

  8. 《程序之美系列(套装共6册)》[美]斯宾耐立思 等 (作者) epub+mobi+azw3

    <架构之美>内容包括:facebook的架构如何建立在以数据为中心的应用生态系统之上.xen的创新架构对操作系统未来的影响.kde项目的社群过程如何让软件的架构从粗略的草图成为漂亮的系统. ...

  9. connection String加密

    aspnet_regiis -pe "connectionStrings" -app "/HG" -prov "ChrisProvider" ...

  10. 04在eclipse当中使用gitee

    一.使用Bash连接GitHub时作了哪些事情 1.生成公钥 2.在GitHub上配置SSHKEY  3.创建关联 4.关联远程仓库 5.向远程仓库推送数据 6.拉取数据 二.把项目分享到gitee ...