Ganglia安裝
一.安裝節點
Gmetad及web節點:bihdp05(主節點)Gmond節點:bihdp05 bihdp06 bihdp07 bihdp08 |
二. 主機節點檢查:
rpm -q gcc glibc glibc-common rrdtool rrdtool-devel apr apr-devel expat expat-devel pcre pcre-devel dejavu-lgc-sans-mono-fonts dejavu-sans-mono-fonts |
該指令會列出這些依賴軟體的安裝資訊,如果未安裝,則需要安裝,指令如下
yuminstall xxx
三.安裝包(全部):
tar –xzvf confuse-2.7.tar.gz cd ./confuse-2.7 ./configure CFLAGS=-fPIC –disable-nls make make install |
安裝rrdtool
tar –xzvf rrdtool-1.4.9.tar.gz cd ./ rrdtool-1.4.9 ./configure --prefix=/usr/local/rrdtool make make install |
安裝cairo-devel和pango-devel包 pcre-devel
yum installcairo-devel pango-devel pcre-devel
四.安裝(主節點)
安裝apache(主節點)
tar –xzvf |
當安裝完成後,通路http://ip (我的ip為10.215.80.54,通路的就是http://10.215.80.54),測試是否正常工作,該指令通路的是/usr/local/apache2/htdocs/index.html,如果正常,則可正常通路到該頁面,否則會出通路錯誤資訊。
安裝php(主節點)
tar –xavf php-5.4.10.tar.gz cd php-5..4.10 ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=mysqlnd make make test make install |
安裝完成後,要測試apache是否對php支援。
建立 /usr/local/apache2/htdocs/index.php
編輯并添加如下内如到檔案
/ index.php中添加的内容///
<?
Phpinfo()
?>
/ 儲存退出///
通路http://10.215.80.54/index/php,如果通路成功,則網頁會顯示有關php的資訊,否則通路失敗。
通路失敗表示apache對php不支援,需要做如下修改:
1:find到libphp5.so,将其拷貝到 /usr/local/apache2/modules/ 目錄下
2:打開 /usr/local/apache2/conf/httpd.conf檔案,并添如下資訊到其中
///httpd.conf檔案添加内容///
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
LoadModule php5_module modules/libphp5.so
<ifModule dir_module>
DirectoryIndex index.html index.php
</ifModule>
///儲存退出///
重新開機apache :/usr/local/apache2/bin/apachectl restart
重新通路并測試是否成功
注意:
軟體全部安裝完後,需要修改共享庫配置資訊
vim /etc/ld.so.conf
增加如下内容
/usr/local/lib
啟動:ldconfig
五.安裝ganglia(全部節點都要安裝)
tar –xzvf ganglia-3.6.0.tar.gz
cd ganglia-3.60
./configure --prefix=/usr/local/ganglia --with-gmetad(其餘節點可省) --enable-gexec --with-python=/usr/local --with-librrd=/usr/bin
Make
make install
六、安裝ganglia-web(僅主節點安裝)
tar -zvxf ganglia-web-3.5.10.tar.gz
cp ganglia-web-3.5.10 /data/installFile/ganglia/ –rf
cd/gangliaInstall/ganglia/ganglia-web-3.5.10
cp conf_default.php conf.php
vim conf.php
///修改conf.php的資訊/
#$conf['gweb_confdir'] ="/var/lib/ganglia-web"; //注釋掉
$conf['gweb_confdir'] = "/data/installFile/ganglia/"; (web檔案夾少了)
#$conf['gmetad_root'] ="/var/lib/ganglia"; //注釋掉
$conf['gmetad_root'] = "/data/installFile";
儲存退出//
vimheader.php
//修改header.php資訊/
<?php
session_start();
ini_set('date.timezone', 'PRC'); //添加,-修改時區為本地時區
if (isset($_GET['date_only'])) {
$d = date("r");
echo $d;
exit(0);
}
//儲存退出//
cd /home /gangliaInstall/ganglia/ ganglia-web-3.5.10/dwoo
mkdir cache
chmod 777 cache
mkdir compiled
chmod 777 compiled
使用Apache釋出ganglia-web日志(主節點)
編輯httpd.conf檔案
Vim /usr/local/apache2/conf/httpd.conf
在檔案中有<Directory XXX> </Directory>标簽後添加如下内容
添加内容
Alias /ganglia"/data/installFile/ganglia/"
<Directory"/data/installFile/ganglia/">
AuthType Basic
#Options None
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
儲存退出
重新開機apache
/usr/local/apache2/bin/apachectl restart
七.配置gmetad(主節點配置)
進入ganglia安裝檔案
cd ganglia-3.6.0
cp ./gmetad/gmetad.init /etc/init.d/gmetad
cp ./gmetad/gmetad.conf /usr/local/ganglia/etc
修改gmetad
vim /etc/init.d/gmetad
///
GMETAD=/usr/local/ganglia/sbin/gmetad
//
修改gmetad.conf配置檔案
vim /usr/local/ganglia/etc/gmetad.conf
///
data_source "Spark" bihdp05:8649
gridname"MyGrid"
setuid_username"root"(和gmond中一緻)
xml_port 8651
interactive_port 8652
rrd_rootdir "/data/installFile/ganglia/rrds"(如果沒有次檔案夾,建立,所屬使用者root:root與上一緻)
case_sensitive_hostnames 1
//
service gmetad restart (重新開機gmetad)
八、配置gmond(全部節點)
進入ganglia源目錄
cd ganglia-3.6.0
cp ./gmond/gmond.init /etc/init.d/gmond
./gmond/gmond –t >/usr/local/ganglia/etc/gmond.conf(沒有建立檔案)
修改gmond配置
vim /etc/init.d/gmond
GMOND=/usr/local/ganglia/sbin/gmond
//
修改gmond.conf配置
vim /usr/local/ganglia/etc/gmond.conf
/
globals {
daemonize = yes
setuid = yes
user =root
debug_level = 0
max_udp_msg_len = 1472
mute = no
deaf = no
allow_extra_data = yes
host_dmax = 86400
host_tmax = 20
cleanup_threshold = 300
gexec = no
send_metadata_interval =30
}
cluster {
name = "Spark"
owner = "root"
latlong = "unspecified"
url = "unspecified"
}
host {
location = "bihdp05"
}
(單點傳播)
udp_send_channel {
# mcast_join = 239.2.11.71
host=bihdp05 (主節點)
port = 8649(主節點端口)
ttl = 1
}
udp_recv_channel {
# mcast_join = 239.2.11.71
port = 8649
#bind = 239.2.11.71
retry_bind = true
# buffer = 10485760
}
tcp_accept_channel {
port = 8649
# If you want to gzip XML output
gzip_output = no
}
/
拷貝python腳本
mkdir /usr/local/ganglia/lib64/ganglia/python_modules
cp ./gmond/python_modules/*/*.py /usr/local/ganglia/python_modules
重新開機gmond service gmond restart
測試:
當完成上面安裝後,通路http://ip/ganglia (該處是你本人的IP位址),将會看到展示的監控資訊
九.監控spark配置
由于Licene的限制,沒有放到預設的build裡面,如果需要使用,需要自己編譯。在使用Maven編譯Spark的時候,我們可以加上-Pspark-ganglia-lgpl選項來将Ganglia相關的類打包進spark-assembly-x.x.x-hadoopx.x.x.jar中,指令如下:
[[email protected]]$ ./make-distribution.sh --tgz -Phadoop-2.4 -Pyarn -DskipTests -Dhadoop.version=2.4.0-Pspark-ganglia-lgpl
複制metrics.properties.template 改名metrics.properties,添加如下(每個spark檔案):
*.sink.ganglia.class=org.apache.spark.metrics.sink.GangliaSink
*.sink.ganglia.host=bihdp05
*.sink.ganglia.port=8649
*.sink.ganglia.period=10
*.sink.ganglia.unit=seconds
*.sink.ganglia.ttl=1
*.sink.ganglia.mode=unicast
master.source.jvm.class=org.apache.spark.metrics.source.JvmSource
worker.source.jvm.class=org.apache.spark.metrics.source.JvmSource
driver.source.jvm.class=org.apache.spark.metrics.source.JvmSource
executor.source.jvm.class=org.apache.spark.metrics.source.JvmSource