hadoop集群监控工具--ganglia的搭建(YUM的方式)

来源:互联网 发布:mac玩lol 编辑:程序博客网 时间:2024/06/10 01:00

Ganglia架构简介:
Ganglia 是一款为HPC(高性能计算) 集群设计的可扩展性的分布式监控系统,它可以监视和显示集群中节点的各种状态信息,它由运行在各个节点上的守护进程gmond 采集 CPU、内存、磁盘利用率、I/O负载、网络流量情况等方面的数据,然后汇总到守护进程gmetad下,使用rrdtool存储数据,然后将历史数据以曲线方式通过PHP页面呈现,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。

Ganglia监控的三大组件:gmond,gmetad和ganlia-web(网页接口) 。
1:gmond:是一个守护进程,需要安装在每台主机上,负责和操作系统交互以获得需要关注的指标数据,运行在每一个需要监测的节点上,收集监测统计 。
2:gmetad:也是一个守护进程,集群数据收集节点,安装在中心节点上,使用Hadoop的NameNode作为该集群数据收集节点。主要作用就是整合所有信息。定期检查所有的gmond,拉取数据,并将他们的指标存储在RRD(Round Robin Database 存储格式,数据等于放在数据库中)存储引擎中。他可以查询多个集群并聚合指标。他也被用于生成用户界面的web前端。
3:ganglia-web:可视化工具,显示ganglia收集的主机各项指标。安装在有gmetad运行的机器上,读取RRD文件( gweb是一种PHP程序,因为需要与轮询器创建的RRD数据库交互,所以gweb通常安装在和gmetad相同的物理硬件上)。

Ganglia分为服务器端和客户端,其中gmetad是服务器端,gmond是客户端。服务器端只有一个,而被监控服务器均安装客户端;

yum方式安装Ganglia比起make install 安装Ganglia方式要简单很多,因为yum方式安装不用自己去下载编译安装各依赖包。

安装Ganglia所在集群的环境:

linux版本:

[root@cloud0 hadoop]# lsb_release -aLSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarchDistributor ID: CentOSDescription:    CentOS Linux release 7.3.1611 (Core) Release:        7.3.1611Codename:       Core

命令不能用:

[root@cloud0 hadoop]# lsb_release -abash: lsb_release: 未找到命令...

安装命令

[root@cloud0 hadoop]# yum install lsb

hadoop版本:

[root@cloud0 hadoop]# hadoop version Hadoop 2.7.2Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41Compiled by jenkins on 2016-01-26T00:08ZCompiled with protoc 2.5.0From source with checksum d0fda26633fa762bff87ec759ebe689cThis command was run using /usr/local/hadoop/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar

测试集群:有两个网卡,内网和外网,确保外网的网卡启动
网卡启动命令:ifup 网卡名
确保所有的机器都能够上网

(解释不正确的请在评论区咱们一起探讨,谢谢~)

安装场景:
服务器1 (master):安装gmond,gmetad,和web
服务器2 (slave1):仅安装gmond
服务器3 (slave2):仅安装gmond
服务器n (slaven):仅安装gmond


本次试验集群情况
集群情况


安装流程:
首先要为每台机器安装EPEL:是yum的一个软件源,里面包含了许多基本源里没有的软件,不安装会找不到包 。
方式1:
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -vih epel-release-latest-7.noarch.rpm
方式2:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
方式3
yum install epel-release

第一步:Linux开启安装EPEL YUM源

机器cloud0

[root@cloud0 hadoop]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm[root@cloud0 hadoop]# rpm  -vih epel-release-latest-7.noarch.rpm 

机器cloud2

[root@cloud2 hadoop]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm[root@cloud2 hadoop]# rpm  -vih epel-release-latest-7.noarch.rpm 

机器cloud3

[root@cloud3 hadoop]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm[root@cloud3 hadoop]# rpm  -vih epel-release-latest-7.noarch.rpm 

机器cloud4

[root@cloud4 hadoop]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm[root@cloud4 hadoop]# rpm  -vih epel-release-latest-7.noarch.rpm 

检查安装epel源是否成功:
源标识下有epel/x86_64即为成功

[root@cloud0 ~]# yum repolist 

第二步:安装Ganglia ,root权限下操作

a: 机器cloud0

[root@cloud0 ~]# yum -y install ganglia-gmetad [root@cloud0 ~]# yum -y install ganglia-web

b: 机器cloud0 、机器cloud2 、机器cloud3、机器cloud4

[root@cloud0 ~]# yum -y install ganglia-gmond [root@cloud2 ~]# yum -y install ganglia-gmond[root@cloud3 ~]# yum -y install ganglia-gmond[root@cloud4 ~]# yum -y install ganglia-gmond

第三步:配置

文件说明:
gmetad.conf 配置监控哪些机器的文件。
gmond.conf 配置受监控机器文件

a: 对机器 cloud0 上的文件操作

[root@cloud0 ~]# vim /etc/ganglia/gmetad.conf#修改# data_source "my cluster" localhost#为data_source "MyCluster_TEST" cloud0 cloud2 cloud3 cloud4
[root@cloud0 ~]# vim /etc/httpd/conf.d/ganglia.conf  7 <Location /ganglia>  8   9   Order deny,allow  10   # Deny from all 注释这一行 11   Allow from all  12    13   # Require local 14   # Require ip 10.1.2.3 15   # Require host example.org 16 </Location>

Apache的配置文件 httpd.conf
修改如下:

[root@cloud0 ~]# vim /etc/httpd/conf/httpd.conf    102 <Directory />    103     #AllowOverride none    104     #Require all denied    105     106    Options FollowSymLinks    107    AllowOverride None    108    Order deny,allow    109    allow from all    110     111 </Directory>

注: 不修改的话,用web页面查看图形化界面时,会报错:403 没有权限访问

b: 对机器cloud0 、机器cloud2 、机器cloud3、机器cloud4 上的文件操作

[root@cloud0 ~]# vi /etc/ganglia/gmond.confcluster {  name = "MyCluster_TEST"  owner = "unspecified"  latlong = "unspecified"  url = "unspecified"}

注: 此时的 name 要和 文件/etc/ganglia/gmetad.conf中配置的data_source 中相同

第四步: 启动服务并设置开机启动

a: 机器cloud0 : 启动服务 gmetad gmond apache

[root@cloud0 ~]# service gmetad start  [root@cloud0 ~]# service gmond  start  [root@cloud0 ~]# service httpd  start  

查看是否启动成功

[root@cloud0 ~]# service gmetad status...active (running) ...[root@cloud0 ~]# service gmond status...active (running)...[root@cloud0 ~]# service httpd status... active (running) ...

设置开机启动

[root@cloud0 ~]# chkconfig gmetad on[root@cloud0 ~]# chkconfig gmond on[root@cloud0 ~]# systemctl enable httpd.service  

b: 机器cloud2 、机器cloud3、机器cloud4

[root@cloud2 ~]# service gmond  start [root@cloud3 ~]# service gmond  start [root@cloud4 ~]# service gmond  start [root@cloud2 ~]# chkconfig gmond on[root@cloud3 ~]# chkconfig gmond on[root@cloud4 ~]# chkconfig gmond on

最后通过网址访问:http://service_ip/ganglia

参考的链接:
Ganglia CentOS yum安装配置
httpd服务403解决
httpd服务开机启动
环境搭建部署介绍
另一种安装方式:编译源文件,但是我没有行得通
查看linux版本
查看linux版本:lsb_release -a 命令用不了的解决方案
网卡是否启动
rpm包的安装与卸载
epel源的安装

原创粉丝点击