官方文档中说部署Hbase不能使用release版本的hadoop,否则会丢失数据。
因此需要重新编译Hadoop。
重新编译Hadoop for hbase 见文章 http://blog.csdn.net/zklth/article/details/7191530。
HBase配置步骤:
(1) 首先配置 hadoop
参见文章 http://blog.csdn.net/zklth/article/details/5618963 中hadoop配置部分。
(2) 配置 hbase
参考如下文档:
http://www.linuxidc.com/Linux/2012-01/52216.htm
http://linuxjcq.blog.51cto.com/3042600/760634
http://running.iteye.com/blog/897277
/bin/start-hbase.sh
查看hbase状态:
http://master:60010
http://slave:60020
因此需要重新编译Hadoop。
重新编译Hadoop for hbase 见文章 http://blog.csdn.net/zklth/article/details/7191530。
HBase配置步骤:
(1) 首先配置 hadoop
参见文章 http://blog.csdn.net/zklth/article/details/5618963 中hadoop配置部分。
(2) 配置 hbase
参考如下文档:
http://www.linuxidc.com/Linux/2012-01/52216.htm
http://linuxjcq.blog.51cto.com/3042600/760634
http://running.iteye.com/blog/897277
配置简单,只需要修改 hbase-env.sh ,hbase-site.xml,regionservers 文件,实例配置文件如下:
#
# hbase-env.sh
#
export JAVA_HOME=/usr/local/jdk6
export HBASE_MANAGES_ZK=true
需要注意的地方是 ZooKeeper的配置。这与 hbase-env.sh 文件相关,文件中 HBASE_MANAGES_ZK 环境变量用来设置是使用hbase默认自带的 Zookeeper还是使用独立的ZooKeeper。HBASE_MANAGES_ZK=false 时使用独立的,为true时使用默认自带的。
#
# hbase-site.xml
#
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://Hadoop-A:54310/hbase</value> 注意主机名和端口号要与hadoop的dfs name的对应
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>Hadoop-A,Hadoop-B,Hadoop-C</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>60000</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2222</value>
</property>
</configuration>
#
# regionservers
#
Hadoop-B
Hadoop-C
启动 hbase:
/bin/start-hbase.sh
查看hbase状态:
http://master:60010
http://slave:60020