1.从http://www.apache.org/dyn/closer.cgi/hbase/下载稳定版安装包,我下的是hbase-1.2.6-bin.tar.gz
2.解压放在/usr/local的目录下
3.修改权限
sudo chown -R luanpeng hbase-1.2.6/
4.修改文件夹的名称为hbase
5.在~/.bashrc下添加,之后source一下
export PATH=$PATH:/usr/local/hbase/bin
或者在 /etc/profile中添加
export HBASE_HOME=/usr/local/hbase
export PATH=${HBASE_HOME}/bin:$PATH
6.修改文件夹的权限
cd /usr/local
sudo chown -R luanpeng ./hbase
7.测试一下是否安装成功
hbase version
单机版hbase配置
配置/usr/local/hbase/conf/hbase-env.sh 。
配置Java环境变量,并添加配置HBASE_MANAGES_ZK为true,用vi命令打开并编辑hbase-env.sh,命令如下
HBASE_MANAGES_ZK为true的时候使用的Hbase自带的zookeeper,使用jps来查看的时候进程的名字前面都是带h的,比如:HRegionServer、HQuorumPeer、HMaster
vi /usr/local/hbase/conf/hbase-env.sh
export JAVA_HOME=/usr/lib/java8/jdk1.8.0_65
export HBASE_MANAGES_ZK=true
配置/usr/local/hbase/conf/hbase-site.xml。
在启动HBase前需要设置属性hbase.rootdir,用于指定HBase数据的存储位置,因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>/usr/local/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase/zookeeper</value>
</property>
</configuration>
单机版hbase测试
接下来测试运行。首先切换目录至HBase安装目录/usr/local/hbase;再启动HBase。命令如下:
cd /usr/local/hbase
bin/start-hbase.sh
bin/hbase shell
sudo bin/start-hbase.sh用于启动HBase
bin/hbase shell用于打开shell命令行模式,用户可以通过输入shell命令操作HBase数据库。
停止HBase运行,命令如下:
sudo bin/stop-hbase.sh
下面我们试验一下hbase的使用,执行:
hbase(main):001:0> status
1 active master, 0 backup masters, 1 servers, 0 dead, 3.0000 average load
创建一张表
hbase(main):004:0> create 'table1','field1'
0 row(s) in 1.3430 seconds
=> Hbase::Table - table1
获取一张表
hbase(main):005:0> t1 = get_table('table1')
0 row(s) in 0.0010 seconds
=> Hbase::Table - table1
添加一行
hbase(main):008:0> t1.put 'row1', 'field1:qualifier1', 'value1'
0 row(s) in 0.4160 seconds
读取全部
hbase(main):009:0> t1.scan
ROW COLUMN+CELL
row1 column=field1:qualifier1, timestamp=1470621285068, value=value1
1 row(s) in 0.1000 seconds
hbase的基本语法
habse配置详解
hbase.tmp.dir:本地文件系统的临时目录,默认是java.io.tmpdir/hbase?java.io.tmpdir/hbase?{user.name};
hbase.rootdir:hbase持久化的目录,被所有regionserver共享,默认${hbase.tmp.dir}/hbase,一般设置为hdfs://namenode.example.org:9000/hbase类似,带全限定名;
hbase.cluster.distributed:hbase集群模式运作与否的标志,默认是false,开启需要设置为true,false时启动hbase会在一个jvm中运行hbase和zk;
hbase.zookeeper.quorum:重要的也是必须设置的,启动zk的服务器列表,逗号分隔,cluster模式下必须设置,默认是localhost,hbase客户端也需要设置这个值去访问zk;
hbase.local.dir:本地文件系统被用在本地存储的目录,默认${hbase.tmp.dir}/local/;
hbase.master.port:hbase master绑定的端口,默认是60000;
hbase.master.info.port:hbase master web 界面的端口,默认是6