2018年2月19日星期一 Lee

这个实验步骤比较简单,只能用来演示下搭建过程,实际生产环境复杂的很多。

实验环境:

centos6.5 x86_64
IP: 10.0.20.25

这里实验没有用HDFS,生产环境的话,hbase还是要把数据存到hdfs上比较安全的。

1. 安装单机zookeeper

cd /root/
tar xf zookeeper-3.4.8.tar.gz -C ./
mv zookeeper-3.4.8 /opt/zk

cd /opt/zk
cat conf/zoo.cfg 内容如下:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181

/opt/zk/bin/zkServer.sh start /opt/zk1/zk1.cfg

/opt/zk/bin/zkCli.sh -server 10.0.20.25:2181
 

2. 安装单机hbase

tar xf hbase-1.2.6-bin.tar.gz –C /usr/local
cd /usr/local/
ln –s hbase-1.2.6 hbase
cd hbase
mkdir data   // 用来存放hbase的data数据【生产环境下,处于安全性考虑,hbase数据是存放到hdfs的】
cd conf

vim hbase-env.sh 最后追加3行:

export JAVA_HOME=/usr/java/jdk1.8.0_91
export PATH=${JAVA_HOME}/bin:$PATH
export HBASE_MANAGES_ZK=false

cat hbase-site.xml 添加红色部分的代码:




 
    hbase.rootdir
    /usr/local/hbase/data/
  


    hbase.master.info.port
    16001


 
    hbase.cluster.distributed
    true  
  

  
    hbase.zookeeper.quorum
    localhost:2181
  

更详细的可参看:https://www.cnblogs.com/yangsy0915/p/5544533.html

cat regionservers 内容如下:
localhost
注意regionservers 里面写的内容和上面的hbase.zookeeper.quorum里面的hostname一样。

 

启动hbase:

cd /usr/local/hbase/bin
./start-hbase.sh  即可启动hbase

 

验证:

ss –lnt | grep 16001
ps aux|grep hbase

补充,HDFS+hbase+3节点zk的 hbase-site.xml配置文件写法:

 
 //设置将数据写入hdfs的目录
    
    hbase.rootdir  
    hdfs://master:9000/usr/local/hadoop-2.6.0/hbaseData  
    
 //设置hbase模式为集群模式
  
    hbase.cluster.distributed  
    true  

 //设置hbase的master端口地址

  hbase.master
  hdfs://master:60000

//HBase Master web界面绑定的端口,默认为0.0.0.0

  hbase.master.info.port
  60010

//连接zookeeper的端口设置
        
        hbase.zookeeper.property.clientPort    
        2183    
      
  //设置zookeeper的连接地址(必须为基数个)
   
           hbase.zookeeper.quorum  
           master,slave1,slave2  
   
//Zookeeper的zoo.conf中的路径配置,快照的存储位置

        hbase.zookeeper.property.dataDir
        /usr/local/zookeeper-3.4.6/data

//Zookeeper连接超时时间

  zookeeper.session.timeout
  60000

3. 安装opentsdb

官方网站:http://opentsdb.net/docs/build/html/installation.html#id1

rpm –ivh opentsdb-2.3.0.rpm
 
cd /etc/opentsdb
vim opentsdb.conf 内容如下:

tsd.network.port = 4242
tsd.network.bind = 0.0.0.0
tsd.network.worker_threads = 8
tsd.http.staticroot = /usr/share/opentsdb/static/
tsd.http.cachedir = /tmp/opentsdb
tsd.core.auto_create_metrics = true
tsd.core.plugin_path = /usr/share/opentsdb/plugins
tsd.storage.hbase.zk_quorum = localhost:2181

 
启动之前,需要到hbase上面去创建表:

cd /usr/share/opentsdb/tools
env COMPRESSION=NONE HBASE_HOME=/usr/local/hbase ./create_table.sh

启动及验证:
/etc/init.d/opentsdb start

 
ss -lnt | grep 4242
ps aux|grep opentsdb
访问浏览器的http://10.0.20.25:4242
 

4. 写数据测试

http api写数据方法:

官方文档:http://opentsdb.net/docs/build/html/api_http/put.html

可以使用chrome插件,如下方式post数据到opentsdb。【返回值204表示提交成功】
hbase+opentsdb 单机版搭建_第1张图片

也可以使用tcollector来采集系统数据,并写入到opentsdb,方法如下:

 
git clone https://github.com/OpenTSDB/tcollector.git
cd tcollector
如果不修改tcollector.py文件的话,默认采集程序会把采集的东西上送到localhost本地的opentsdb里面。【默认参数如下图】
hbase+opentsdb 单机版搭建_第2张图片

 
./tcollector start // 即可在后台启动采集程序
ps aux | grep tcollector

 
如果需要采集mysql等其他软件的监控状态,需要去 collectors/etc/ 这个目录下的对应脚本里面,添加相关的账户名和密码,以便采集程序搜集信息。

 
然后,就可以到opentsdb的web界面去绘图了,下面是我采集了好几个小时的数据展示:
hbase+opentsdb 单机版搭建_第3张图片

 
放到grfana里面,数据显示会更好看点。
hbase+opentsdb 单机版搭建_第4张图片

 
配置大致这样的:
hbase+opentsdb 单机版搭建_第5张图片