不管在什么地方,什么时候,学习是快速提升自己的能力的一种体现!!!!!!!!!!!
简单介绍下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
添加以下内容:
注:
详细的配置解析可以参考 转载文章 http://www.cnblogs.com/nexiyi/p/hbase_config_94.html
修改 conf 下的 regionservers文件 命令 :vim regionservers
配置完以后,将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.0slave1:
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 'testhbase'
OK,本文章就此结束
如果此文章有什么不对的地方请路过的大神指出,以免误人子弟