官方文档中说部署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
需要注意的地方是 ZooKeeper的配置。这与 hbase-env.sh 文件相关,文件中 HBASE_MANAGES_ZK 环境变量用来设置是使用hbase默认自带的 Zookeeper还是使用独立的ZooKeeper。HBASE_MANAGES_ZK=false 时使用独立的,为true时使用默认自带的。
启动 hbase:
/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
- #
- # 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
/bin/start-hbase.sh
查看hbase状态:
http://master:60010
http://slave:60020