大数据课程D11——hadoop的Ganglia

文章作者邮箱:[email protected]              地址:广东惠州

 ▲ 本章节目的

⚪ 了解Ganglia的概念;

⚪ 掌握Ganglia的安装操作;

⚪ 掌握Ganglia的监控Flume操作;

一、概述

1. Ganglia是UC Berkeley发起的一个开源的集群监控项目,被设计用于测量数以千计的节点性能。

2. Ganglia的核心主要包含三个模块。

a. gmond(Ganglia Monitoring Daemon)是一个轻量级的服务,需要安装在每一条需要收集指标数据的主机上,使用gmond来收集系统指标数据,包含CPU,内存、磁盘、网络以及活跃的进程数量等。

b. gmetad(Ganglia Meta Daemon)用于整合所有的信息,并将这些信息以RRD格式来存储到磁盘上。

c. gweb(Ganglia Web)是Ganglia所提供的一个可视化工具,用PHP来开发的。提供了WEB页面,在Web界面中以图表的形式来显式集群的运行状态下所收集的到的不同的指标数据。

二、安装

1. 安装httpd和php服务。

yum -y install httpd php

2. 安装其他依赖。

yum -y install rrdtool perl-rrdtool rrdtool-devel

yum -y install apr-devel

3. 安装Epel。

#云主机下载地址

 wget http://bj-yzjd.ufile.cn-north-02.ucloud.cn/epel-release-7-13.noarch.rpm

rpm -ivh epel-release-7-13.noarch.rpm

4. 安装Ganglia。

yum -y install ganglia-gmetad

yum -y install ganglia-gmond

yum -y install ganglia-web

5. 编辑文件。

vim /etc/httpd/conf.d/ganglia.conf

#修改内容如下

  # Order deny,allow

  # Deny from all

  # Allow from 127.0.0.1

  # Allow from ::1

  # Allow from .example.com

  Require all granted

6. 编辑文件。

vim /etc/ganglia/gmetad.conf

#修改data_souce属性的值,例如

data_source "hadoop01" 10.10.153.69

7. 编辑文件。

vim /etc/ganglia/gmond.conf

#修改cluster中的属性

cluster {

  name = "hadoop01"

  owner = "unspecified"

  latlong = "unspecified"

  url = "unspecified"

}

#修改udp_send_channel中的属性

udp_send_channel {

  #bind_hostname = yes # Highly recommended, soon to be default.

                       # This option tells gmond to use a source address

                       # that resolves to the machine's hostname.  Without

                       # this, the metrics may appear to come from any

                       # interface and the DNS names associated with

                       # those IPs will be used to create the RRDs.

  # mcast_join = 239.2.11.71

  host=10.10.153.69

  port = 8649

  ttl = 1

}

#修改udp_recv_channel中的属性

udp_recv_channel {

  # mcast_join = 239.2.11.71

  port = 8649

  bind = 10.10.153.69

  retry_bind = true

  # Size of the UDP buffer. If you are handling lots of metrics you really

  # should bump it up to e.g. 10MB or even higher.

  # buffer = 10485760

}

8. 编辑文件。

vim /etc/selinux/config

#将SELINUX的值改为disabled

9. 重启。

reboot

10. 启动Ganglia。

systemctl start httpd

systemctl start gmetad

systemctl start gmond

11.  通过http://ip/ganglia来访问web页面。

大数据课程D11——hadoop的Ganglia_第1张图片

三、监控Flume

 1. 修改Flume的配置文件。

cd /home/software/apache-flume-1.9.0-bin/conf

cp flume-env.sh.template flume-env.sh

vim flume-env.sh

#在文件尾部添加配置

export JAVA_HOME=/home/software/jdk1.8

export JAVA_OPTS="-Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=10.10.153.69:8649 -Xms100m -Xmx200m"

#保存退出,重新生效

source flume-env.sh

2. 启动Flume:

cd ../data

../bin/flume-ng agent -n a1 -c ../conf -f basic.conf -

Dflume.root.logger=INFO,console -

Dflume.monitoring.type=ganglia -

Dflume.monitoring.hosts=10.10.153.69:8649

3. 属性:

属性

解释

ChannelCapacity

Channel的容量

ChannelFillPercentage

Channel的利用率

ChannelSize

Channel大小

EventPutAttemptCount

Source试图放入Channel的次数

EventPutSuccessCount

Source向Channel放入数据的成功次数

EventTakeAttemptCount

Channel试图向Sink发送数据的次数

EventTakeSuccessCount

Channel成功向Sink发送数据的次数

startTime

起始时间

stopTime

结束时间

你可能感兴趣的:(hadoop,大数据,分布式)