现有的环境中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页面即可。