Gangliaを使用してHadoopクラスタを監視

6062 ワード

0環境
オペレーティングシステム:CentOS6.2
hadoopバージョン:hadoop-1.0.1
クラスタ内の3台のマシン:
192.168.137.101        namenode
192.168.137.103        datanode1
192.168.137.104        datanode2 
1ガングリアの取り付け
1.1 EPELソフトウェアウェアハウスの追加
CentOS公式ソフトウェアウェアハウスにはGangliaはありませんが、Ganglia依存は多すぎて、本人は1日かけてその依存項目rrdtoolをインストールしました.その後、ソースコードのインストールを放棄し、yumに変更しました.倉庫の追加方法参考:http://www.linuxidc.com/Linux/2012-05/61350.htm.注意が必要なのは、EPELインストールパッケージのアドレスが変更され、リンクのダウンロードアドレスが適用されなくなったので、最新のアドレスをgoogleしてください.オペレーティングシステムのバージョンに一致することにも注意してください.
1.2 Gangliaサーバ側インストール
Gangliaサーバ側は監視側の情報を収集し、アクセスインタフェースを提供し、以下のコマンドを使用してインストールします.
yum install ganglia ganglia-devel ganglia-gmetad ganglia-gmond ganglia-web ganglia-gmond-python
1.3 Gangliaクライアントのインストール
$ yum install ganglia ganglia-gmond
2ガングリアの構成
2.1モニタ側構成
$ vim /etc/ganglia/gmond.conf
clusterオプションのnameをgmetadのdata_に設定ソースで指定した名前でいいです.
$ service gmond start
2.2サーバ側
$ sudo vim /etc/ganglia/gmetad.conf
data_source "hdfs" datanode1 datanode2
data_を変更するだけsource行、「hdfs」はクラスタの名前を表し、datanode 1、datanode 2は、監視するマシンのリストです.デフォルトポート8649.
起動サービス
service gmetad start
chkconfig gmetad on

2.3 Apache

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

Alias /ganglia /usr/share/ganglia

<Location /ganglia>
Order deny,allow
# Deny from all
# Allow from 127.0.0.1
# Allow from ::1
Allow from all
# Allow from .example.com
</Location>

Apache
service httpd start
: http://serverip/ganglia。
There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Permission denied  
selinux:vi /etc/selinux/config, SELINUX=enforcing SELINUX=disable; 。

setenforce 0 selinux , , ! 。 selinux , 。

3  Hadoop metrics

hadoop-1.0.1 : hadoop-1.0.1/conf/hadoop-metrics2.properties。 Ganglia 3.1, for Ganglia 3.1 support。 ,*.servers  239.2.11.71:8649, Ganglia , 。

# for Ganglia 3.1 support
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31

*.sink.ganglia.period=10

# default for supportsparse is false
*.sink.ganglia.supportsparse=true

*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40

namenode.sink.ganglia.servers=239.2.11.71:8649

datanode.sink.ganglia.servers=239.2.11.71:8649

jobtracker.sink.ganglia.servers=239.2.11.71:8649

tasktracker.sink.ganglia.servers=239.2.11.71:8649

maptask.sink.ganglia.servers=239.2.11.71:8649

reducetask.sink.ganglia.servers=239.2.11.71:8649