您的位置:首页 > 其它

HBase入门笔记(四)--完全分布式HBase集群安装配置

2011-01-22 17:56 746 查看
HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库。它是面向列的,并适合于存储超大型松散数据。HBase适合于实时,随机对Big数据进行读写操作的业务环境。关于HBase的更多介绍请参见HBase项目官网

本文环境与上一讲--完全分布式Hadoop集群配置一致。OS是Ubuntu Server 10.04,HBase版本是0.20.6。

HRegionServer&HQuorumPeer:dm1,IP:192.168.0.17;

HRegionServer&HQuorumPeer:dm2,IP:192.168.0.18;

HRegionServer&HQuorumPeer:dm3,IP:192.168.0.9;

HMaster&NameNode:dm4,IP:192.168.0.10;(SecondaryNameNode)

虽然secondarynamenode和namenode放在同一台机器上比较不合理。但是考虑到这只是个实验的小集群(硬件环境不允许),再者有xenserver的时序快照的保障,就不将SecondaryNameNode部署在其他机器上了。

主要的还是配置工作,依然将HBase放在/home下,编辑/home/hbase/conf下的hbase-site.xml,hbase-default.xml,hbase-env.sh 这几个文件。具体步骤如下:

.编辑所有机器上的hbase-site文件,命令如下:

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://dm4:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>192.168.0.10:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.0.9,192.168.0.17,192.168.0.18</value>
</property>
</configuration>


二.编辑所有机器的 hbase-default.xml,命令如下:


 ]只需修改前面hbase.rootdir 与hbase.cluster.distributed 这两项。修改如下面代码所示:

HBase的数据重启就被擦掉,如果需要数据持久化的,就修改rootdir项,写定你的HDFS目录。

至于default内其它的项的含义与修改,再请参考官网。

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://dm4:9000/hbase_rootdir</value>
<description>The directory shared by region servers.
Should be fully-qualified to include the filesystem to use.
E.g: hdfs://NAMENODE_SERVER:PORT/HBASE_ROOTDIR
</description>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
<description>The port master should bind to.</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description>The mode the cluster will be in. Possible values are
false: standalone and pseudo-distributed setups with managed Zookeeper
true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)
</description>
</property>


三. 编辑所有机器的hbase-env.sh,命令如下:


修改代码如下所示:

[code]export HBASE_OPTS="$HBASE_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkS
weepGC -XX:+CMSIncrementalMode"
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.22
export HBASE_MANAGES_ZK=true
export HBASE_HOME=/home/hbase
export HADOOP_HOME=/home/hadoop


四.编辑所有机器的HBase的HMasters和HRegionServers。修改/home/hbase/conf 文件夹下的regionservers文

件。添加DataNode的IP即可。代码如下:


 ]
[code]/home/hbase/bin/start-hbase.sh


Hbase启动如下图所示:



最好输入JPS命令测试一下你当前Hbase集群进程。如下图:



然后输入如下命令进入hbase的命令行管理界面:

/home/hbase/bin/hbase shell


在hbase shell下 输入list,如下所示,列举你当前数据库的名称,如下图所示。如果你的Hbase没配置成功会抛出java错误。



我们也可以通过WEB页面来管理查看HBase数据库。

HMaster:http://192.168.0.10:60010/master.jsp

我的HBase数据库截图:



至于HBase的命令参见:Hadoop Wiki

HBase数据库的开发应用,包括数据库读写和条件查询等,请参见我未来的文章……

六.参考文献

1.HBase: Bigtable-like structured storage for Hadoop HDFS

http://wiki.apache.org/hadoop/Hbase

2.HBase Testing Tutorial

http://wiki.apache.org/hadoop/Hbase/HowToTest
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: