hbase安装配置和入门使用

Tags: , ,
Comments: No Comments
Published on: 2012 年 06 月 03 日

在这开始之前,相信你已经配置好hadoop集群的一切,以此为前提写的以下内容。

一、快速开始的简单单机版配置:

1、去hbase镜像站下载一个推荐的stable版本,此篇下的是hbase-0.92.1.tar.gz 。解压缩到喜欢的目录下。

2、配置onf/hbase-site.xml,写入如下属性:

<property>
<name>hbase.rootdir</name>
<value>file:///DIRECTORY/hbase</value>
</property>

3、然后启动即可:$ ./bin/start-hbase.sh

二、伪集群的配置步骤:

1、依然是程序的安装,然后配置系统最大文件打开数:

1
2
3
4
$ vim /etc/security/limits.conf
#文件最后写入如下信息:
hadoop  -       nofile 32768
hadoop  soft/hard       nproc 32000

因为hbase会保持打开的文件的打开状态,调一下打开文件的数目上限,预防未来可能出现的错误。这里hadoop是启动hbase的linux用户,我把hbase和hadoop放在同一个用户下了。

2、配置ssh(hadoop集群已经配置好就跳过)、java环境变量(hadoop已配置好)。这里新配hbase的环境变量:

# set hbase environment
export HBASE_HOME=/usr/hbase-0.92.1
export PATH=${HBASE_HOME}/bin:$PATH

3、配置hbase文件:
hbase-env.sh:

export JAVA_HOME=/usr/java/default
export HBASE_HEAPSIZE=1024

hbase-site.xml:

<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

根据情况修改hbase.rootdir。
去hadoop的配置目录下给hdfs-site.xml添加如下属性:

<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>
</property>

增加同时处理文件数目上限。

3、启动hbase即完成配置。

三、配置一个真正的hbase集群:

1、在上一步配置伪集群的基础上配置hbase-site.xml:

<property>
<name>hbase.rootdir</name>
<value>hdfs://10.210.70.82:9000/hbase</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>10.210.70.57,10.210.70.62,10.210.70.64</value>
</property>

根据情况填写hbase.rootdir,dfs.replication设置复本数。hbase.cluster.distributed默认false即非集群,这里设置为true开启集群。hbase.zookeeper.quorum是必须的zookeeper的设置,填写需要开启zookeeper服务的节点,越多可靠性越好(具体多少看情况),但是只能是奇数个。

2、然后配置conf/regionservers:
一行添加一个节点,类似hadoop的datanode的节点,就是hbase的工作节点。

3、然后使用scp或rsync分发到所有的regionseryer节点上,使用上面相同步骤进行配置环境变量。启动集群即可,至此配置完成。hbase主节点启动的是HMaster进程,子节点启动的是HRegionServer,zookeeper启动的是HQuorumPeer。

四、hbase入门使用:
1、用shell连接你的Hbase

$ hbase shell
HBase Shell; enter 'help' for list of supported commands.
Type "exit" to leave the HBase Shell
Version: 0.90.0, r1001068, Fri Sep 24 13:55:42 PDT 2010

hbase(main):001:0>

输入 help 然后可以看到一列shell命令。这里的帮助很详细,要注意的是表名,行和列需要加引号。

2、创建一个名为 test 的表,这个表只有一个 column family 为 cf。可以列出所有的表来检查创建情况,然后插入些值。

hbase(main):003:0> create 'test', 'cf'
0 row(s) in 1.2200 seconds
hbase(main):003:0> list
test
1 row(s) in 0.0550 seconds
hbase(main):004:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.0560 seconds
hbase(main):005:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0370 seconds
hbase(main):006:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0450 seconds

以上我们分别插入了3行。第一个行key为row1, 列为 cf:a, 值是 value1。Hbase中的列是由 column family前缀和列的名字组成的,以冒号间隔。例如这一行的列名就是a.

3、检查插入情况.Scan这个表,操作如下

hbase(main):007:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1288380727188, value=value1
row2 column=cf:b, timestamp=1288380738440, value=value2
row3 column=cf:c, timestamp=1288380747365, value=value3
3 row(s) in 0.0590 seconds

4、Get一行,操作如下

hbase(main):008:0> get 'test', 'row1'
COLUMN CELL
cf:a timestamp=1288380727188, value=value1
1 row(s) in 0.0400 seconds

5、disable 再 drop 这张表,可以清除你刚刚的操作

hbase(main):012:0> disable 'test'
0 row(s) in 1.0930 seconds
hbase(main):013:0> drop 'test'
0 row(s) in 0.0770 seconds

6、关闭shell

hbase(main):014:0> exit

入门练习完成,nosql的数据库,详细的请另行了解学习。

个人原创,转载请注明:三江小渡

我猜你可能也喜欢:

No Comments - Leave a comment

Leave a comment

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


Welcome , today is 星期二, 2017 年 10 月 24 日