Hadoop version support matrix
HBase-0.92.x | HBase-0.94.x | HBase-0.96 | |
---|---|---|---|
Hadoop-0.20.205 | S | X | X |
Hadoop-0.22.x | S | X | X |
Hadoop-1.0.x | S | S | S |
Hadoop-1.1.x | NT | S | S |
Hadoop-0.23.x | X | S | NT |
Hadoop-2.x | X | S | S |
S = supported and tested,支持 |
X = not supported,不支持 |
NT = not tested enough.可以运行但测试不充分 |
声明:
HBase 0.94 和 hadoop 2.2 无法兼容,我踩了好多雷,也没有搞定
比如重新编译,或者把hadoop下面的jar文件全部拷贝到$hbase_install/lib下面替换hadoop-core-1.0.4.jar。
或者说是0.94 lib里面的protobuf是 protobuf-java-2.4.0.jar,需要替换为protobuf-java-2.5.0.jar。
这写说的都对,但是替换完成后就变成了另外一个错误。奉劝大家不要在HBase 0.94 和 hadoop 2.2 上纠结了。
大家果断上 0.96 吧
前提条件
安装配置完成了 hadoop 2.2.0
步骤:
1.解压 Hbase 0.96 到 /opt/
2. 修改 hbase-env.sh,添加如下内容
export JAVA_HOME=/home/software/jdk1.7.0_55 # jdk 路径
export HBASE_HOME=/opt/hbase #hbase 安装目录
export HADOOP_HOME=/opt/hadoop # hadoop 安装目录
export PATH=$PATH:/opt/hbase/bin
export HBASE_MANAGES_ZK=true # 单机管理,不用单独zookeeper
3. 修改hbase-site.xml ,添加如下内容
<property>
<name>hbase.rootdir</name>
<value>hdfs://robinson-ubuntu:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
4. 进入 $HBASE_HOME/bin, 启动hbase
./start_hbase.sh
5. 用jps察看进程,有如下进程说明是正确的
hadoop@robinson-ubuntu:/opt/hbase$ jps
10226 DataNode
9996 NameNode
17693 HQuorumPeer
18693 Jps
17796 HMaster
14881 org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
16453 HRegionServer
10516 SecondaryNameNode
18278 Main
10694 ResourceManager
10930 NodeManager
配置多台机器
步骤:
1.解压 Hbase 0.96 到 /opt/
2. 修改 /etc/profile,添加如下内容
export JAVA_HOME=/home/software/jdk1.7.0_55 # jdk 路径
export HBASE_HOME=/opt/hbase #hbase 安装目录
export HADOOP_HOME=/opt/hadoop # hadoop 安装目录
export PATH=$PATH:$HBASE_HOME/bin
3. 修改hbase-site.xml ,添加如下内容
<property>
<name>hbase.rootdir</name>
<value>hdfs://robinson-ubuntu:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>robinson-ubuntu,datanode1</value>
</property>
<property>
<name>hbase.master</name>
<value>robinson-ubuntu:60000</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>120000</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2222</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper</value>
</property>
<property>
<name>hbase.zookeeper.property.ticketTime</name>
<value>60000</value>
</property>
4. 修改conf/regionservers 添加如下内容
robinson-ubuntu
datanode1
5. 把配置好的hbase目录打包,拷贝到slave机器上
说明
多台机器配置中,我共配置了两台机器
master是robinson-ubuntu
slave 是datanode1