1.首先需要安装hadoop集群,zookeeper集群,前面博客有写过这里就不写了。
2.下载安装Hbase0.96.0
tar -zxf hbase-0.96.0-hadoop2-bin.tar.gz
3.进入hbase配置文件目录,修改hbase-env.sh导入jdk
cd /home/hadoop/hbase-0.96.0-hadoop2/conf
vi hbase-env.sh
4.修改hbase-site.xml加入如下配置
vi /hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value> #注意这里的hdfs://mycluster是hadoop的core-site-xml里的fs.defaultFS的值,hadoopHA配置是没有端口的,之前配错了导致指定的机器死掉之后namenode变成standby状态Hmaster无法启动。
<description>The directory shared by region servers.</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>
<property>
<name>hbase.zookeeper.quorum</name>
<value>slave1,slave2,slave3</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>60000</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<property>
<name>hbase.master.port</name> #Hbase的HMaster由zookeeper来管理,所以HBase的HA不需要配置hbase.master属性,只需要配置master的端口即可
<value>60000</value>
</property>
</configuration>
5.修改regionservers把所有datanode节点加入
vi regionservers
6.启动Hbase集群
在master节点上启动HBase集群
bin/start-hbase.sh
在slave1节点上再启动一个master
bin/hbase-daemon.sh start master
现在master节点跟slave1节点上都有一个HMaster进程了。