现有的环境中Hbase集群的机器需要安装ganglia,遂采取了以下步骤。
查看机器的信息,
uname –a
cat /etc/issue
查看当前环境是x86的,安装的是red hat 6.4
之前有一些集群也是x86,安装的是red hat 6.2
决定从已安装的集群中直接复制过来。
步骤如下:
选中一台安装gmond的节点即可,
rpm –qa | grep ganglia
然后对安装的包详细查看安装了哪些文件
rpm –ql packagename
把这些文件直接复制到新节点即可。
尝试后启动,发现一个错误,缺少libconfuse,这是ganglia的一个依赖包。
rpm –qa | grep libconfuse
然后 rpm –ql 后复制过去即可。
注意,使用scp复制的时候,不会复制软链接文件。rsync -val可以复制软链。
再次启动后成功,但是service gmond status 报gmond dead subsys locked.
网上也没有找到对应的原因,他们的情况与我们不同,
新添加ganglia用户后问题解决。
以下是所有的脚本,可供参考:
#查看安装的包 rpm -qa | ganglia ganglia-3.1.7-6.el6.x86_64 ganglia-gmond-python-3.1.7-6.el6.x86_64 ganglia-gmond-3.1.7-6.el6.x86_64 #还有一个依赖包: rpm -qa | grep libconf libconfuse-2.7-4.el6.x86_64 rpm -ql ganglia-gmond-python-3.1.7-6.el6.x86_64 /etc/ganglia/conf.d/diskusage.pyconf /etc/ganglia/conf.d/modpython.conf /etc/ganglia/conf.d/tcpconn.pyconf /usr/lib64/ganglia/modpython.so /usr/lib64/ganglia/python_modules /usr/lib64/ganglia/python_modules/example.py /usr/lib64/ganglia/python_modules/example.pyc /usr/lib64/ganglia/python_modules/example.pyo /usr/lib64/ganglia/python_modules/multidisk.py /usr/lib64/ganglia/python_modules/multidisk.pyc /usr/lib64/ganglia/python_modules/multidisk.pyo /usr/lib64/ganglia/python_modules/tcpconn.py /usr/lib64/ganglia/python_modules/tcpconn.pyc /usr/lib64/ganglia/python_modules/tcpconn.pyo rpm -ql ganglia-gmond-3.1.7-6.el6.x86_64 /etc/ganglia /etc/ganglia/conf.d /etc/ganglia/conf.d/multicpu.conf /etc/ganglia/gmond.conf /etc/init.d/gmond /usr/bin/gmetric /usr/bin/gstat /usr/sbin/gmond /usr/bin/ganglia-config /usr/lib64/ganglia /usr/lib64/ganglia/modcpu.so /usr/lib64/ganglia/moddisk.so /usr/lib64/ganglia/modload.so /usr/lib64/ganglia/modmem.so /usr/lib64/ganglia/modmulticpu.so /usr/lib64/ganglia/modnet.so /usr/lib64/ganglia/modproc.so /usr/lib64/ganglia/modsys.so /usr/lib64/libganglia-3.1.7.so.0 /usr/lib64/libganglia-3.1.7.so.0.0.0 pdsh -w hbase[2-20] 'useradd ganglia' pdsh -w hbase[2-20] 'rsync -va hbase1:/etc/init.d/gmond /etc/init.d/' pdsh -w hbase[2-20] 'rsync -va hbase1:/usr/bin/gmetric /usr/bin/' pdsh -w hbase[2-20] 'rsync -va hbase1:/usr/bin/gstat /usr/bin/' pdsh -w hbase[2-20] 'rsync -va hbase1:/usr/sbin/gmond /usr/sbin/' pdsh -w hbase[2-20] 'rsync -va hbase1:/etc/ganglia/ /etc/ganglia/' pdsh -w hbase[2-20] 'rsync -va hbase1:/usr/lib64/ganglia/ /usr/lib64/ganglia/' pdsh -w hbase[2-20] 'rsync -va hbase1:/usr/bin/ganglia-config /usr/bin/' pdsh -w hbase[2-20] 'rsync -val hbase1:/usr/lib64/libganglia-3.1.7.so.0.0.0 /usr/lib64/' pdsh -w hbase[2-20] 'rsync -val hbase1:/usr/lib64/libganglia-3.1.7.so.0 /usr/lib64/' pdsh -w hbase[2-20] 'rsync -val hbase1:/usr/lib64/libconfuse.so.0.0.0 /usr/lib64/' pdsh -w hbase[2-20] 'rsync -val hbase1:/usr/lib64/libconfuse.so.0 /usr/lib64/' pdsh -w hbase[2-20] 'chkconfig --add gmond' pdsh -w hbase[2-20] 'chkconfig --level 2345 gmond on' pdsh -w hbase[2-20] 'service gmond start'
最后,修改gmetad所在机器的gmetad.conf,添加新集群的data_source信息,service gmetad reload查看Web页面即可。