您的位置:首页 > 其它

hbase安装配置和入门使用

2012-12-18 22:04 260 查看
by
三江小渡
在这开始之前,相信你已经配置好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、依然是程序的安装,然后配置系统最大文件打开数:

View Code BASH

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的数据库,详细的请另行了解学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: