一、部署

  1.Zookeeper正常部署,并且启动

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  2.Hadoop正常部署,并且启动

  3.Hbase的解压

    解压HBase到指定目录

      tar -xvf  /HBase.tar.gz -C /airPath

  4.HBase的配置文件(conf下的文件)

      hbase-env.xml:     

export JAVA_HOME=/home/admin/modules/jdk1.8.0_121
export HBASE_MANAGES_ZK=false

      hbase-site.xml:

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://linux01:8020/hbase</value>
</property>

<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>

<!-- 0.98 后的新变动,之前版本没有.port,默认端口为 60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>

<property>
<name>hbase.zookeeper.quorum</name>
<value>linux01:2181,linux02:2181,linux03:2181</value>
</property>

<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/admin/modules/zookeeper-3.4.5/zkData</value>
</property>
</configuration>

     regionservers:

cluster01
cluster02
cluster03

  5.HBase需要以来的jar包

    由于HBase需要依赖Hadoop,所以替换HBase的 lib目录下的jar包,以解决兼容性问题

    1.删除原有的jar:    

      $ rm -rf /home/admin/modules/hbase-1.3.1/lib/hadoop-*

      $ rm -rf /home/admin/modules/hbase-1.3.1/lib/zookeeper-3.4.6.jar

    2.拷贝对应hadoop版本的新jar,我这里是hadoop-2.7.2

        赠送当前版本查找jar包命令:find ....../hadoop-2.7.2/ -name hadoop-annotations*

hadoop-annotations-2.7.2.jar 
hadoop-auth-2.7.2.jar 
hadoop-client-2.7.2.jar 
hadoop-common-2.7.2.jar
hadoop-hdfs-2.7.2.jar
hadoop-mapreduce-client-app-2.7.2.jar 
hadoop-mapreduce-client-common-2.7.2.jar 
hadoop-mapreduce-client-core-2.7.2.jar 
hadoop-mapreduce-client-hs-2.7.2.jar
hadoop-mapreduce-client-hs-plugins-2.7.2.jar 
hadoop-mapreduce-client-jobclient-2.7.2.jar 
hadoop-mapreduce-client-jobclient-2.7.2-tests.jar 
hadoop-mapreduce-client-shuffle-2.7.2.jar 
hadoop-yarn-api-2.7.2.jar
hadoop-yarn-applications-distributedshell-2.7.2.jar
hadoop-yarn-applications-unmanaged-am-launcher-2.7.2.jar 
hadoop-yarn-client-2.7.2.jar
hadoop-yarn-common-2.7.2.jar
hadoop-yarn-server-applicationhistoryservice-2.7.2.jar 
hadoop-yarn-server-common-2.7.2.jar
hadoop-yarn-server-nodemanager-2.7.2.jar 
hadoop-yarn-server-resourcemanager-2.7.2.jar
hadoop-yarn-server-tests-2.7.2.jar
hadoop-yarn-server-web-proxy-2.7.2.jar

zookeeper-3.4.5.jar

     6.Hbase软连接Hadoop配置

$ ln -s ~/modules/hadoop-2.7.2/etc/hadoop/core-site.xml   ~/modules/hbase-1.3.1/conf/core-site.xml
$ ln -s ~/modules/hadoop-2.7.2/etc/hadoop/hdfs-site.xml   ~/modules/hbase-1.3.1/conf/hdfs-site.xml

     7.HBase分发到其他集群节点

      $ scp -r /home/admin/modules/hbase-1.3.1/ cluster02:/home/admin/modules/

      $ scp -r /home/admin/modules/hbase-1.3.1/ cluster03:/home/admin/modules/

      或者同步命令:xsyns //home/admin/modules/hbase-1.3.1/

     8.启动HBase:

      1)bin/hbase-daemon.sh start master

         bin/hbase-daemon.sh start regionserver

        特别提示: 如果集群之间的节点时间不同步, 会导致 regionserver 无法启动,抛出ClockOutOfSyncException 异常

      2) bin/start-hbase.sh

       bin/stop-hbase.sh

        特别 示: 如果使用的是 JDK8 hbase-evn.sh 移除“HBASE_MASTER_OPTS”和“HBASE_REGIONSERVER_OPTS”配置。

二、HBase高可用

      在 HBase 中 Hmaster 负责监控 RegionServer 的生命周期,均衡 RegionServer 的负载,如果 Hmaster 挂掉了,那么整个 HBase 集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以 HBase 支持对 Hmaster 的高可用配置。

  2.1关闭HBase集群,如果没有开启跳过这一步

    bin/stop-hbase.sh

  2.2在conf目录下创建backup-master文件

    touch conf/backup-masters

  2.3在backup-masters文件中配置高可用HMaster节点

    echo cluster02 >> conf/backup-masters

  2.4将整个conf目录scp到其他节点

$ scp -r conf/ cluster02:/opt/modules/cdh/hbase-0.98.6-cdh5.3.6/
$ scp -r conf/ cluster03:/opt/modules/cdh/hbase-0.98.6-cdh5.3.6/
或者同步xsyns

 

  2.5打开页面测试查看

    http://cluster01:16010

    http://cluster02:16010

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄