一、rrdtool安装
1.1 安装依赖包
由于rrdtool依赖的包比较多,而且包之间也存在依赖,故使用yum安装由于服务器无法联网,故使用iso文件创建本地yum源,方法见下:
(1)创建iso存放目录和挂载目录
1 2 | mkdir /mnt/iso mkdir /mnt/cdrom |
(2)将iso镜像文件上传到/mnt/iso文件夹下
(3)将/mnt/iso/下的iso文件挂载到/mnt/cdrom目录
1 | mount -o loop /mnt/iso/XXXXX.iso /mnt/cdrom |
注:挂载完之后对其操作会提示设备繁忙,此时需要umount解开挂载才行
查看是否挂载成功: df -h
用来查看系统中所有挂载的,mount也可以
(4)如果/etc/yum.repos/下面有其它的*.repo文件,先创建个文件夹,将这些*.repo先转移到文件夹中,自己写一个.repo的文件
1 2 | mkdir /etc/yum.repos.d/bak mv *.repo /etc/yum.repos.d/bak |
然后创建自己的.repo文件vi myself.repo
1 2 3 4 5 6 | [base] name=RedHat baseurl=file: ///mnt/cdrom enabled= 1 gpgckeck= 0 gpgkey=file: ///mnt/cdrom/RPM-GPG-KEY-redhat-release,file:///mnt/cdrom/RPM-GPG-KEY-redhat-beta |
安装命令见下:
1 | yum -y install cairo cairo-devel pango pango-devel libxml2 libxml2-devel glib2 glib2-devel |
1.2 源码安装rrdtool
从rrdtool的官网 (http://oss.oetiker.ch/rrdtool/) 下载rrdtool的源码包,解压,编译,安装
1 2 3 4 | tar -zxvf rrdtool- 1.4 . 8 .tar.gz cd rrdtool- 1.4 . 8 / ./configure -prefix=/usr/local/rrdtool make && make install |
在命令行运行rrdtool -v,测试安装是否成功
二、Apache安装
2.1 依赖包安装
(1)源码安装apr(也可通过yum安装)
1 2 3 | tar -zxvf apr- 1.5 . 0 .tar.gz cd apr- 1.5 . 0 ./configure && make && make install |
(2)源码安装 apr-util(也可通过yum安装)
1 2 3 | tar -zxvf apr-util- 1.5 . 3 .tar.gz cd apr-util- 1.5 . 3 ./configure --with-apr=/usr/local/apr && make && make install |
(3)源码安装 libconfuse
1 2 3 | tar -zxvf confuse- 2.7 .tar.gz cd confuse- 2.7 ./configure CFLAGS=-fPIC --disable-nls && make && make install |
(4)源码安装 pcre
1 2 3 | tar -zxvf pcre- 8.34 .tar.gz cd pcre- 8.34 ./configure && make && make install |
安装pcre时, 可能提示说没有c++ 编译器,可通过yum -y install gcc-c++ 进行安装
2.2 源码安装apache
从官网( http://www.apache.org/ )下载apache源码包,进行解压,编译,安装
1 2 | ./configure --prefix=/app/ApacheInstall/httpd- 2.4 . 7 / --sysconfdir=/app/apache-config --enable-shared=max --enable-so --enable-rewrite --enable-ssl --with-apr=/usr/local/apr make && make install |
修改配置文件/app/apache-config/httpd.conf
1 2 3 4 5 6 7 8 9 10 11 | Listen 18001 //默认为80, 只有root用户能够启动,将其改为1024之后的数字,可以由hadoop用户启动 ServerName GBD-VM01 <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> |
创建/app/ApacheInstall/httpd-2.4.7/到/app/apache的链接
修改组属
1 | chown -R hadoop:hadoop /app/ApacheInstall /app/apache /app/apache-config |
在浏览器中输入 http://ip(安装机器ip) 进行测试,出现It works!字样,说明安装成功
可将/app/ApacheInstall/httpd-2.4.7/bin/apachetcl拷贝到/usr/sbin目录下,方便进行apache的启动和关闭
1 | apachetcl -k start|restart|stop |
三、php安装
从官网( http://www.php.net/ )下载安装源码包,解压,编译,安装
1 2 3 4 | tar -zxvf php- 5.5 . 7 .tar.gz cd php- 5.5 . 7 ./configure --with-apxs2=/app/apache/bin/apxs ##will install the mod_php for apache make && make install |
起初使用yum安装了php,但是在apache中却无法解析php文件,多番找原因,无果,之后使用源码进行编译安装
php配置
1 2 3 4 5 | cp php.ini-production /usr/local/lib/php.ini; vi2 php.ini session.save_path = "/usr/local/lib/php/session" date.timezone = "PRC" ; mkdir /usr/local/lib/php/session; chmod 755 /usr/local/lib/php; chown -R hadoop:hadoop /usr/local/lib/php/session |
四、Ganglia安装
4.1 Gmetad源码安装
从官网( http://ganglia.info/ )下载Ganglia源码包,解压,编译,安装
1 | make && make install |
安装过程中可能出现以下错误
1 2 3 4 5 | Checking for apr Added -I/usr/local/apr //include to CFLAGS Added -L/usr/local/apr //lib64 to LDFLAGS checking for apr_socket_send in -lapr- 1 ... no libapr not found |
经检查,apr已安装,只是路径有偏差,故使用mv /usr/local/apr/lib /usr/local/apr/lib64,暂时解决问题
1 2 | libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -I. -I../include/ -D_LARGEFILE64_SOURCE -DSFLOW -DSYSCONFDIR= "/app/ganglia-config" -g -O2 -I/usr/local/rrdtool //include -I/usr/local/apr//include -fno-strict-aliasing -Wall -D_REENTRANT -MT ganglia.lo -MD -MP -MF .deps/ganglia.Tpo -c ganglia.c -fPIC -DPIC -o .libs/ganglia.o ganglia.c: 8 : 19 : 错误:expat.h:没有那个文件或目录 |
经检查,expat.h文件存在,只是路径有偏差,故使用cp /usr/local/apr/include/apr-1/* /usr/local/apr/include 暂时解决问题
修改/app/ganglia-config/gmetad.conf中的配置项
1 2 3 | data_source "hadoop-core DEV" 192.168 . 1.101 : 8649 192.168 . 1.102 : 8649 192.168 . 1.103 : 8649 192.168 . 1.104 : 8649 setuid_username "hadoop" rrd_rootdir "/app/ganglia/rrds" |
创建/app/GangliaInstall/ganglia-3.6.0/到/app/ganglia的链接
1 | ln -s /app/GangliaInstall/ganglia- 3.6 . 0 / /app/ganglia |
修改组属
1 | chown -R hadoop:hadoop /app/GangliaInstall/ /app/ganglia /app/ganglia-config |
可将/app/ganglia/sbin/gmetad拷贝到/usr/bin,便于使用
可用gmetad -d 5 进行运行测试
启动gmetad:gmetad
在启动过程中可能出现找不到连接库的问题,可通过ldd $(which /usr/bin/gmetad) 检查依赖包是否都能找到,若有找不到的依赖包,可使用find / -name 依赖包名 命令查找依赖包,并将其链接到/lib64/目录下
4.2 Gmond源码安装
从官网下载Ganglia源码包,解压,编译,安装
1 2 | ./configure --prefix=/app/GangliaInstall/ganglia- 3.6 . 0 / --with-librrd=/usr/local/rrdtool/ --with-libexpat=yes --with-libconfuse=yes --with-python=yes --with-libpcre=yes --with-libapr=/usr/local/apr/ --enable-gexec --enable-status --sysconfdir=/app/ganglia-config/ make && make install |
修改/app/ganglia-config/gmetad.conf中的配置项
1 2 3 4 5 6 7 8 9 10 11 12 | globals { daemonize = yes setuid = yes user = hadoop …… } cluster { name = "hadoop-core DEV" owner = "hadoop" latlong = "unspecified" url = "unspecified" } |
创建/app/GangliaInstall/ganglia-3.6.0/到/app/ganglia的链接
1 | ln -s /app/GangliaInstall/ganglia- 3.6 . 0 / /app/ganglia |
修改组属
1 | chown -R hadoop:hadoop /app/GangliaInstall/ /app/ganglia /app/ganglia-config |
可将/app/ganglia/sbin/gmond拷贝到/usr/bin,便于使用
可用gmond -d 5 进行运行测试
启动gmond:gmond
在启动了gmond之后,发现并没有rrd文件生成,之后使用gmond -d 5进行测试,测试过程中可能会出现以下错误:Error creating multicast server mcast_join=239.2.11.71 port=8649 mcast_if=NULL family='inet4'. Will try again...,系统不支持多播,需要将多播ip地址加入路由表,使用route add -host 239.2.11.71 dev eth0命令即可,将该命令加入/etc/rc.d/rc.local文件中,一劳永逸
4.3 Ganglia Web 安装
从官网下载Ganglia-web包,解压
1 2 3 | tar -zxvf ganglia-web- 3.5 . 11 .tar.gz mkdir /app/apache/htdocs/ganglia cp -r ganglia-web- 3.5 . 11 /* /app/apache/htdocs/ganglia/ |
修改配置conf.php
1 2 3 4 5 6 | cp conf- default .php conf.php vi conf.php $conf[ 'gweb_confdir' ] = "/app/apache/htdocs/ganglia" ; $conf[ 'gmetad_root' ] = "/app/ganglia" ; $conf[ 'rrdtool' ] = "/usr/bin/rrdtool" ; $conf[ 'case_sensitive_hostnames' ] = false ; // 如果主机名中有大写字符,一定要将其选项设置为false,否则在页面中会显示No match metrics delected or rrds not readable,因为ganglia在保存rrd文件时,主机名的目录都是小写的 |
重启apache
1 | apachetcl -k restart |
在浏览器中输入 http://192.168.1.101:18001/ganglia进行查看
五、hadoop集群配置
修改配置文件/app/hadoop-config/hadoop-metrics2.properties
1 2 3 4 5 6 7 | *.sink.ganglia. class =org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31 namenode.sink.ganglia.servers=ip: 8649 datanode.sink.ganglia.servers=ip: 8649 jobtracker.sink.ganglia.servers=ip: 8649 tasktracker.sink.ganglia.servers=ip: 8649 maptask.sink.ganglia.servers=ip: 8649 reducetask.sink.ganglia.servers=ip: 8649 |
重启hadoop
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步