前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ganglia安装及监控hadoop

ganglia安装及监控hadoop

原创
作者头像
wudeshuai
修改2021-05-20 17:56:26
7010
修改2021-05-20 17:56:26
举报

1 Ganglia安装

1.1 中心节点的安装

yum -y install httpd-devel automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig pcre 我是直接运行的这个,没有用下面命令那些安装

  • epel包的安装:yum install -y epel-release(解决不能yum安装某些安装包的问题)
  • gmetad的安装:yum install -y ganglia-gmetad ganglia-devel
  • gmond的安装:yum install -y ganglia-gmond
  • rrdtool的安装:yum install -y rrdtool
  • httpd服务器的安装:yum install -y httpd
  • ganglia-web及php安装:yum install -y ganglia-web php

1.2 被监测节点的安装

  • epel包的安装:yum install -y epel-release(解决不能yum安装某些安装包的问题)
  • gmond的安装:yum install -y gmond(提示找不到,感觉应该换成上面那个yum install -y ganglia-gmond)

2 Ganglia配置

2.1 中心节点(HadoopNameNode)的配置

2.1.1 安装目录说明

  • ganglia配置文件目录:/etc/ganglia
  • rrd数据库存放目录:/var/lib/ganglia/rrds
  • httpd主站点目录:/var/www/html
  • ganglia-web安装目录:/usr/share/ganglia
  • ganglia-web配置目录:/etc/httpd/conf.d/ganglia.conf

2.1.2 相关配置文件修改

将ganglia-web安装目录链接到httpd主站点目录

# 将ganglia-web的站点目录连接到httpd主站点目录$ ln -s /usr/share/ganglia /var/www/html

修改httpd主站点目录下ganglia站点目录的访问权限

# 将ganglia站点目录访问权限改为apache:apache,否则会报错$ chown -R apache:apache /var/www/html/ganglia$ chmod -R 755 /var/www/html/ganglia

修改rrd数据库存放目录访问权限

# 将rrd数据库存放目录访问权限改为nobody:nobody,否则会报错$ chown -R nobody:nobody /var/lib/ganglia/rrds

修改ganglia-web的访问权限:修改/etc/httpd/conf.d/ganglia.conf

Alias /ganglia /usr/share/ganglia

<Location /ganglia>

Require all granted

#Require ip 10.1.2.3

#Require host example.org

</Location>

修改dwoo下面的权限

chmod 777 /var/lib/ganglia/dwoo/compiled

chmod 777 /var/lib/ganglia/dwoo/ cache

配置/etc/ganglia/gmetad.conf

data_source "hadoop cluster" 192.168.26.139:8649 (注意是所有节点都加上,如master:8649 slave0x:8649)

setuid_username nobody

配置/etc/ganglia/gmond.conf

cluster {

name = "hadoop cluster"

...

}

udp_send_channel {

# the host who gather this cluster's monitoring data and send these data to gmetad node

#注释掉多播模式的,以下出现这个都要注释掉

#mcast_join = 239.2.11.71

#添加单播模式的

host = 192.168.26.139

port = 8649

}

udp_recv_channel {

port = 8649

}

tcp_accept_channel {

port = 8649

}

2.2 Hadoop cluster被监测节点的配置

配置/etc/ganglia/gmond.conf

cluster {

name = "hadoop cluster"

...

}

udp_send_channel {

# the host who gather this cluster's monitoring data and send these data to gmetad node

host = 192.168.26.139

port = 8649

}

udp_recv_channel {

port = 8649

}

tcp_accept_channel {

port = 8649

}

3 Ganglia启动

3.1 中心节点的启动

# start httpd, gmetad, gmond

$ systemctl start httpd.service

$ systemctl start gmetad.service

$ systemctl start gmond.service

$ systemctl enable httpd.service

$ systemctl enable gmetad.service

$ systemctl enable gmond.service

3.2 被监测节点的启动

# start gmond

$ systemctl start gmond.service

$ systemctl enable gmond.service

3.3 访问网页

浏览器访问 {namenode的ip}/ganglia 即可

效果如图

4 可能会遇到的相关错误

· 以调试模式启动gmetad:gmetad-d 9

· 查看gmetad收集到的XML文件:telnet 192.168.52.105 8649(如果提示没有telnet命令

yum install telnet-server 安装 telnet服务

yum install telnet.* 安装 telnet客户端

4.1 如果出现错误:There was an error collecting ganglia data (127.0.0.1:8652):fsockopen error: Permission denied

  • 可能原因1:SELINUX配置问题
    • 关闭selinux,vi /etc/selinux/config,把SELINUX=enforcing改成SELINUX=disable;该方法需要重启机器。
    • 可以使用命令setenforce 0来关闭selinux而不需要重启,刷新页面,即可访问;不过此法只是权宜之计,如果想永久修改selinux设置,还是要使用第一种方法
  • 可能原因2:rrds目录的访问权限未正确配置
    • 给/var/lib/ganglia/rrds目录赋予nobody:nobody的可访问权限

4.2 如果出现错误:/ganglia无法访问,但同时,httpd server可以正常访问,则说明是/ganglia站点的访问权限或相关目录的权限配置有问题

  • 可能原因1:/etc/httpd/conf.d/ganglia.conf配置文件未修改正确
    • 注释掉其他内容,添加“Allow from all”
  • 可能原因2:/var/www/html/ganglia目录没有赋予正确的访问权限
    • chown -R apache:apache /var/www/html/ganglia
    • chmod -R 755 /var/www/html/ganglia

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档