一、HBase的解压
解压HBase到指定目录,可自定义:
tar -zxvf hbase-1.3.1-bin.tar.gz -C /opt
二、修改HBase对应的配置文件。
1)HBase-env.sh修改内容:
export JAVA_HOME=/opt/module/jdk1.8.0_144
export HBASE_MANAGES_ZK=false
export HBASE_PID_DIR=/var/Hadoop/pids
2)hbase-site.xml修改内容:
<configuration>
<!--hbase数据在hdfs中保存的路径,和单点不同的是这里的配置不再直接指向一个定死的namenode,而是一个高可用的通道,hdp1是hadoop的hdfs.site.xml文件中的dfs.nameservices的值-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hdp1/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!--hbase主节点的端口0.98后的新变动,之前版本没有.port,默认端口为60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<!--zookeeper集群,不写端口默认,默认是2181,你可以在这里一起制定,也可以用下面的配置制定-->
<property>
<name>hbase.zookeeper.quorum</name>
<value>hdp1,hdp2,hdp3</value>
</property>
<!-- zookeeper 的端口号,可以不配默认2181 -->
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<!-- zookeeper运行数据路径-->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/zookeeper-3.4.10/zkData</value>
</property>
</configuration>
3)regionservers集群成员配置:
hdp1
hdp2
hdp3
4)软连接hadoop配置文件到hbase, 这种方式不推荐,一来麻烦,二来容易出错:
ln -s /opt/hadoop-2.7.2/etc/hadoop/core-site.xml /opt/hbase/conf/core-site.xml
ln -s /opt/hadoop-2.7.2/etc/hadoop/hdfs-site.xml /opt/hbase/conf/hdfs-site.xml
提示:如果集群上配置了hadoop的home环境变量,就不用做软连接的操作了,而且最好是去配置hadoop的home,当然可以直接将hadoop的配置文件放在hbase的配置文件目录下,不过都不如直接配置hadoop的环境变量方便
三、用scp将HBase远程发送到其他集群节点
四、启动的方式也有些不一样,需要我们运行start-hbase.sh之后在其他任意一个hbase结点上运行另一个备用的hmaster结点,和高可用的hadoop对应,我们要做的就是在找一台机器运行hbase-daemon.sh start master命令