安裝ganglia 1.默認已經配置好相關的主機名和Ip地址映射關係 2.默認已經安裝好ssh密碼登錄 3.默認已經配置好yum源和相關網絡配置(如hosts 可在牆外) 4.服務器端安裝(除了yum安裝之外 其餘操做均需以hadoop或者普通用戶權限操做) 1.安裝相關依賴包 yum -y install zlib libpng jpeg freetype2 libxml2 gdphp-mbstring perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker pcre* expat* apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpmbuild glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devel libXrender-devel 2.安裝rrdtool-1.5.5(/opt/rrdtool-1.5.5) tar zxvf rrdtool-1.5.5.tar.gz cd rrdtool-1.5.5 ./configure CFLAGS=-fPIC --disable-nls //編譯 make && make install //安裝 echo /usr/local/lib > /etc/ld.so.conf.d/libconfuse.conf //調整lib庫的位置 ldconfig -v //刷新 /opt/rrdtool-1.5.5/bin/rrdtool //驗證 不報錯 則成功 //刪除壓縮包 3.安裝confuse-2.7(/opt/confuse-2.7) ./configure CFLAGS=-fPIC –-disable-nls make make install //刪除壓縮包 4.安裝apache (/opt/apache) tar zxvf httpd-2.2.23.tar.gz cd httpd-2.2.23 cd srclib/apr ./configure --prefix=/usr/local/apr //編譯 apr 輸出目錄是/usr/local/apr make && make install //安裝 cd ../apr-util ./configure –-prefix=/usr/local/apr-util //編譯apr-util 輸出目錄是/usr/local/apr-util –-with-apr=/usr/local/apr //引用上一步apr編譯的輸出目錄 make && make install //安裝 cd /opt/httpd-2.2.23 ./configure --prefix=/opt/apache //編譯apache 輸出目錄是 /opt/apache --with-arp=/usr/local/apr //引用 不必定要這樣 但必須跟上面一致 --with-apr-util=/usr/local/apr-util //引用 不必定要這樣 但必須跟上面一致 make && make install //安裝 http://hadoop.master:80 //驗證 可訪問表示安裝成功 可修改conf/httpd.conf 的端口參數 默認是80 //最後可將解壓的目錄和壓縮包刪除掉 5.安裝php(/opt/php) tar zxvf php-5.4.10.tar.gz cd php-5.4.10 ./configure --prefix=/opt/php //編譯php 輸出目錄/opt/php --with-apxs2=/opt/apache/bin/apxs //引用 不必定要這樣 但必須跟上面apache一致 --with-mysql=mysqlnd make && make test && make install //安裝 //安裝完成後在 apache的安裝目錄 /opt/apache/htdocs 下建立 index.php文件 內容以下: <? phpinfo(); ?> //此時訪問http://hadoop.master:80 能夠顯示一些服務器的相關信息 //若是還不能顯示則操做一下步驟: 1.找到libphp5.so 並將其拷貝到/opt/apache/modules目錄中 find / -name "libphp5.so" cp 所在目錄/libphp5.so /opt/apache/modules 2.打開/opt/apache/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> 3.重啓apache /opt/apache/bin/apachectl restart //最後可將解壓的目錄和壓縮包刪除掉 6.安裝ganglia服務器(/opt/ganglia) tar zxvf ganglia-3.7.2.tar.gz cd ganglia-3.7.2 ./configure --prefix=/opt/ganglia //編譯ganglia 輸出目錄/opt/ganglia --with-gmetad //服務端編譯 --enable-gexec --with-python=/usr/local –with-librrd=/usr/bin //rrdtool所在目錄 通常不用修改 若是該目錄下沒有rrdtool 則修改爲有rrdtool的目錄 make && make install cp /opt/ganglia/lib64/libganglia* /lib64 //將相關的庫類拷貝到/lib64 目錄下 mkdir -p /var/lib/ganglia/rrds //爲rrdtool建立數據存放目錄 chown -R hadoop:hadoop /var/lib/ganglia/rrds //修改目錄全部者 //修改/opt/ganglia/etc/gmetad.conf 目錄下的配置文件 data_source "hadoop cluster" 192.168.22.241 //其中hadoop cluster 隨意起 192.168.22.241爲主服務器Ip gridname "hadoop" //名字隨意起 setuid_username "hadoop" //跟系統用戶名需一致 xml_port 8651 interactive_port 8652 rd_rootdir "/var/lib/ganglia/rrds" //指向剛纔建立的rrds目錄 case_sensitive_hostnames 0 //經常使用命令 /opt/ganglia/sbin/gmetad {start,stop,restart} //啓動,中止,重啓 /opt/ganglia/sbin/gmetad -d 2 //調試模式 ps -aux|grep gmetad //查看是否啓動成功 7.安裝ganglia-web(/opt/apache/htdocs/ganglia) tar zxvf ganglia-web-3.7.1.tar.gz mv ganglia-web-3.7.1/ /opt/apache/htdocs //將解壓的目錄所有拷貝到apache的目錄下 cd /opt/apache/htdocs mv ganglia-web-3.7.1 ganglia //更改目錄名 mkdir -p /opt/apache/htdocs/ganglia/dwoo/cache chmod 777 /opt/apache/htdocs/ganglia/dwoo/cache mkdir -p /opt/apache/htdocs/ganglia/dwoo/compiled //若是不建立這兩個目錄會報錯 chmod 777 /opt/apache/htdocs/ganglia/dwoo/compiled vim /opt/apache/htdocs/ganglia/Makefile GDESTDIR = /opt/apache/htdocs/ganglia //指向ganglia-web的安裝目錄 APACHE_USER = daemon ccp conf_default.php conf.php //安裝目錄下 複製參數文件 vim conf.php 修改內容以下: $conf['gweb_confdir'] = "/opt/apache/htdocs/ganglia"; //ganglia-web安裝目錄 $conf['gmetad_root'] = "/var/lib/ganglia"; $conf['rrds'] = "${conf['gmetad_root']}/rrds"; //rrds的目錄 $conf['rrdtool'] = "/usr/bin/rrdtool"; //指向有rrdtool的目錄 $conf['external_location'] = "http://hadoop.master:10000/ganglia"; //服務器主機名:10000/ganglia 端口號和ganglia別改 $conf['case_sensitive_hostnames'] = false; //最後可將解壓的目錄和壓縮包刪除掉 8.安裝ganglia客戶端(服務器也須要安裝) cd ganglia-3.7.2 //注意是解壓目錄 不是安裝目錄 ./gmond –t > /opt/ganglia/etc/gmond.conf //生成配置文件 //修改gmond.conf globals { daemonize = yes setuid = yes user = hadoop //系統用戶名 .... } cluster { name = "hadoop cluster" //須要跟服務器中設置的名字一致 服務器配置文件中 data_source owner = "hadoop" //須要跟服務器中設置的名字一致 服務器配置文件中 gridname latlong = "unspecified" url = "unspecified" } tcp_accept_channel { port = 8649 # If you want to gzip XML output gzip_output = no acl{ default = "deny" access{ ip = 192.168.22.241 //服務器IP mask = 32 action = "allow" } } } /opt/ganglia/sbin/gmond {start,stop,restart} //啓動,中止,重啓 /opt/ganglia/sbin/gmond -d 2 //調試模式 ps -aux|grep gmond //查看是否啓動成功 9.共享庫配置信息 在/etc/ld.so.conf文件中添加/usr/local/lib 而後保存退出 執行ldconfig 更新操做 5.集羣客戶端安裝 1.安裝apr-1.3.9-5.el6_2.x86_64.rpm(注意安裝後刪除源碼包) rpm -ivh apr-1.3.9-5.el6_2.x86_64.rpm 2.安裝apr-devel-1.3.9-5.el6_2.x86_64.rpm(注意安裝後刪除源碼包) rpm -ivh apr-devel-1.3.9-5.el6_2.x86_64.rpm 3.將服務器端的ganglia最終安裝目錄拷貝過來 scp /opt/ganglia hadoop@hadoop.slaver1:/opt 4.將相關的庫類拷貝到/lib64 目錄下 cp /opt/ganglia/lib64/libganglia* /lib64 5.啓動 /opt/ganglia/sbin/gmond start 6.配置過程當中可能出現的錯誤 1.安裝rrdtool過程當中提示pkg-config錯誤 解決辦法:通常是庫沒有裝全,記得要安裝dev庫(儘量使用yum安裝 由於存在着依賴庫的可能性) 2.安裝ganglia過程當中找不到confuse,expat,apr等庫 解決辦法:若是是64位機,ganglia會在依賴庫的lib64目錄下去查找文件,因此須要將lib目錄下文件拷貝到lib64目錄下,建議建立軟鏈接 3.gmetad啓動失敗:gmetad dead but subsys locked 解決辦法:gmetad.conf中setuid_username的用戶名須要跟rrds數據目錄的owner一致 4.訪問網頁保錯Forbidden,You don’t have permission to access /ganglia/ on this server 解決辦法: 1.關閉SELinux 2.修改apache httpd.conf裏面的訪問權限參數