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. 应用 AddressSanitizer 发现程序内存错误

    作为 C/ C++ 工程师,在开发过程中会遇到各类问题,最常见便是内存使用问题,比如,越界,泄漏.过去常用的工具是 Valgrind,但使用 Valgrind 最大问题是它会极大地降低程序运行的速度, ...

  2. 计算机基础,Python - Map和Reduce

    例子1. python中实现hashable def __hash__(self): hashes = map(hash, self.components) return functools.redu ...

  3. 用纯css实现双边框效果

    1. box-shadow:0 0 0 1px #feaa9e,0 0 0 5px #fd696f 2. border:1px solid #feaa9e; outline:5px solid #fd ...

  4. Python引用某一文件的方法出现红色波浪线

    from parse import parse_url#引用parse里面的方法 结果出现波浪线并提示 This inspection detects names that should resolv ...

  5. map或者对象转换

    map或者对象转换为具有相同字段的对象 List<Example> errorCodeExcelBeanList = JSONObject.parseArray(((JSONObject) ...

  6. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 网格系统实例:堆叠的水平

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. 计划任务cron,date,时间同步ntp,chrony

    取出磁盘利用率最大值 ,写个脚本,做判断,只要快满了,就报警 计划周期性执行的任务提交给crond,到指定时间会自动运行 系统cron任务:系统维护作业  /etc/crontab 用户cron任务: ...

  8. 洛谷P1908 逆序对(线段树解法)

    题目描述 猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计.最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定 ...

  9. 【转】shell处理mysql增删改查

    这几天做一个任务,比对两个数据表中的数据,昨天用PHP写了一个版本,但考虑到有的机器没有php或者php没有编译mysql扩展,就无法使用mysql系列的函数,脚本就无效了,今天写个shell版本的, ...

  10. 使用IDEA导入一个Maven风格的SSM项目

    转自: 方法一: (我用的这种,导入的方法 File->New->Project from existing sources)(同理,important也是一样的) https://how ...