hbase1.3.0集群版详细安装及简单测试

来源:互联网 发布:淘宝350模板怎么买不了 编辑:程序博客网 时间:2024/05/16 14:13

    

    不管在什么地方,什么时候,学习是快速提升自己的能力的一种体现!!!!!!!!!!!


简单介绍下hbase: (度娘的)

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。


OK,不多说直接开始吧!


将hbase的安装包导入虚拟机,我一般喜欢将大数据有关的放到统一目录(自建hadoop目录)下




解压该安装包  tar -zxvf hbase-1.3.0-bin.tar.gz  

我一般解压完之后会删除安装包   rm -f hbase-1.3.0-bin.tar.gz




编辑 /etc/profile  文件末尾添加HBASE_HOME 环境

export HBASE_HOME=/usr/local/hadoop/hbase-1.3.0
export PATH=$HBASE_HOME/bin:$PATH   
                     



编辑conf目录下的hbase-env.sh文件   vim hbase-env.sh  

找到   # export JAVA_HOME=/usr/java/jdk1.6.0/  去掉注释改为

export JAVA_HOME=/usr/local/java/jdk1.8.0_11    (依个人存放JDK路径填写)




hbase本身自带有zookeeper,如果你想用自己安装的zookeeper,编辑conf目录下的hbase-env.sh文件(还是刚才的文件)

找到   # export HBASE_MANAGES_ZK=true 同样去掉注解  (这句话的位置在倒数第9行),

改为  :export HBASE_MANAGES_ZK=false   (false代表不使用hbase自带的zookeeper,默认是使用的)




修改 hbase-site.xml 文件   vim hbase-site.xml

添加以下内容:

 <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>       #端口号需要跟hadoop中的端口号一致 同时需要在hadoop安装目录下创建hbase目录             
  </property>  
<property>  
    <name>hbase.cluster.distributed</name>  
    <value>true</value>  
</property> 

 <property>
     <name>hbase.zookeeper.property.clientPort</name>
     <value>2181</value>
 </property>

 <property>  
     <name>hbase.zookeeper.quorum</name>      
     <value>master,slave1,slave2</value>      
   </property>

 <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/usr/local/hadoop/zookeeper/data</value>
  </property>

注:

(1)hbase.rootdir,HDFS的入口地址,地址和端口要和你的hadoop配置一样(core-site.xml中的 <name>fs.default.name</name>),所有节点公用地址
(2)hbase.cluster.distributed : ture表示分布式
(3)hbase.zookeeper.property.clientPort : zookeeper端口
(4)hbase.zookeeper.quorum   : zookeeper的集群,多台机器以逗号分隔
(5)hbase.zookeeper.property.dataDir , zookeeper 保持信息的文件,默认为/tmp 重启会丢失


详细的配置解析可以参考  转载文章  http://www.cnblogs.com/nexiyi/p/hbase_config_94.html


修改  conf 下的 regionservers文件   命令 :vim regionservers

把文本中的localhost删除,把集群节点添加进去




配置完以后,将hbase拷贝到slave1和slave2

scp -r hbase-1.3.0 slave1:/usr/local/hadoop/
scp -r hbase-1.3.0 slave2:/usr/local/hadoop/


slave1:



slave2:




拷贝过去之后不用修改hbase内容(注:前提是你每台机的JDK路径、其他的配置路径是一样的),只修改slave1和slave2的环境变量


编辑 /etc/profile  文件末尾添加HBASE_HOME 环境

export HBASE_HOME=/usr/local/hadoop/hbase-1.3.0
export PATH=$HBASE_HOME/bin:$PATH 


slave1:



slave2:



启动顺序:先启动Hadoop->hbase,如果使用自己安装的zookeeper启动顺序是:Hadoop->zookeeper->hbase

停止顺序:hbase->zookeeper->hadoop

hbase只需要启动master机就可以带动其他的机了 ,进入hbase-1.3.0/bin目录下,命令   ./start-hbase.sh   启动之后 jps查看启动进程


master机多出:

HMaster
HRegionServer




slave1和slave2机都多出:

HRegionServer



这样hbase就搭建成功了,也可以通过web页面查看,hbase默认端口号为 16010

http://192.168.31.128:16010



以上就是hbase集群搭建的全部内容了!


下面做一个简单的hbase建表和添加数据测试


进入hbase的bin目录洗 输入 ./hbase shell 进入建表界面

(有可能第一次输入命令时可能需要等一下才会出现下图信息)



这样就进入了hbase了:

现在创建一个简单的表   建表语句如下:

create '表名','列族'

create 'testhbase','hbasefamily'



往表里添加数据

put '表名','行数','列族名:列名','列值'

put 'testhbase','001','hbasefamily:test1','hello world1'

put 'testhbase','001','hbasefamily:test2','hello world2'

put 'testhbase','001','hbasefamily:test3','hello world3'




注:向表中添加数据,在想HBase的表中添加数据的时候,只能一列一列的添加,不能同时添加多列


添加之后  scan '表名'  来查看表中的详细信息

scan 'testhbase'



OK,本文章就此结束


如果此文章有什么不对的地方请路过的大神指出,以免误人子弟


尊重原创,如要转载请注明出处!!!
0 0
原创粉丝点击