大数据-HBase HA集群搭建

1、下载对应版本的Hbase,在我们搭建的集群环境中选用的是hbase-1.4.6

将下载完成的hbase压缩包放到对应的目录下,此处我们的目录为/opt/workspace/

2、对已经有的压缩包进行解压缩

[root@master1 workspace]#tar -zxvf hbase-1.4.6-bin.tar.gz

3、为了方便可以将文件重命名,此处我们不需要重命名

4、修改配置文件、/etc/profile,添加下面代码

# HBase Config
export HBASE_HOME=/opt/workspace/hbase-1.4.6
export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:${HIVE_HOME}/bin:${SPARK_HOME}/bin:${HBASE_HOME}/bin:${ZK_HOME}/bin:$PATH
[root@master1 workspace]# source /etc/profile

5、修改配置文件hbase-env.sh,在文件中添加如下,其中HBASE_MANAGES_ZK=false 是不启用HBase自带的Zookeeper集群。

export JAVA_HOME=/opt/workspace/jdk1.8
export HADOOP_HOME=/opt/workspace/hadoop-2.9.1
export HBASE_HOME=/opt/workspace/hbase-1.4.6
export HBASE_CLASSPATH=$HADOOP_HOME/etc/hadoop
export HBASE_PID_DIR=/root/hbase/pids
export HBASE_MANAGES_ZK=false
export HBASE_LOG_DIR=${HBASE_HOME}/logs

6、修改配置文件hbase-site.xml,配置如下:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
/**
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-->
<configuration>
        <property>
             <name>hbase.rootdir</name>
             <value>hdfs://hadoop-test/hbase</value>
             <description>The directory shared byregion servers.</description>
        </property>
         <!--port of hbase-->
        <property>
             <name>hbase.zookeeper.property.clientPort</name>
             <value>2181</value>
        </property>
        <!--timeout time-->
        <property>
             <name>zookeeper.session.timeout</name>
             <value>120000</value>
        </property>
        <!--pretend errors caused by time don't synchronize in servers-->
        <property>
            <name>hbase.master.maxclockskew</name>
            <value>150000</value>
        </property>
        <!--cluser host-->
        <property>
             <name>hbase.zookeeper.quorum</name>
             <value>master1,master2,slave1,slave2,slave3</value>
        </property>
        <!--path of tmp-->
        <property>
             <name>hbase.tmp.dir</name>
             <value>/opt/hbase_tmp/tmp</value>
        </property>
        <!-- true means of distributed-->
        <property>
             <name>hbase.cluster.distributed</name>
             <value>true</value>
        </property>
          <!--master-->
          <property>
                <name>hbase.master</name>
                <value>60000</value>
          </property>
          <property>
                <name>hbase.zookeeper.property.dataDir</name>
                <value>/opt/workspace/zookeeper/data</value>
        </property>
        <property>
                <name>hbase.regionserver.restart.on.zk.expire</name>
                <value>true</value>
        </property>
        <property>
               <name>hbase.master.info.port</name>
               <value>60010</value>
         </property>
        <property>
              <name>dfs.support.append</name>
              <value>true</value>
        </property>
</configuration>
                                 

其中hbase.rootdir配置的是hdfs地,用来持久化Hbase,ip:port要和hadoop/core-site.xml中的fs.defaultFS保持一致。hbase.cluster.distributed :Hbase的运行模式。false是单机模式,true是分布式模式
7、修改regionservers,指定hbase的主从

slave1
slave2
slave3

8、将该环境配置发送到其余4台服务器

9、启动hbase集群

[root@master1 hbase-1.4.6]# cd bin
[root@master1 bin]# start-hbase.sh

报错如下:

解决:

在hbase-env.sh文件中添加

export HBASE_SSH_OPTS="-p 61333"

重新启动,成功。

[root@master1 hbase-1.4.6]# cd bin
[root@master1 bin]# start-hbase.sh

master1节点进程如下:

slave1、slave2、slave3节点进程如下:

10、启动备用节点的HMaster

[root@master2 hbase-1.4.6]# cd bin
[root@master2 bin]# hbase-daemon.sh start master

启动成功,进程如下:

猜你喜欢

转载自www.cnblogs.com/learn-bigdata/p/10455774.html