• HBase HA + Hadoop HA 搭建


    HBase 使用的是 1.2.9 的版本。  Hadoop HA 的搭建见我的另外一篇:Hadoop 2.7.3 HA 搭建及遇到的一些问题

    以下目录均为 HBase 解压后的目录。

    1. 修改 conf/hbase-site.xml,内容如下

    <configuration>
    
        <!-- HBase 的运行模式。为 false 表示单机模式,为 true 表示分布式模式。若为 false,HBase 和 ZooKeeper 会运行在同一个 JVM 中 -->
      <property>
             <name>hbase.cluster.distributed</name>
             <value>true</value>
         </property>
    
        <!-- 配置的是 RegionServer 的共享目录,用来持久化 HBase。特别注意的是 hbase.rootdir 里面的 HDFS 地址是要跟 Hadoop 的 core-site.xml 里面的 fs.defaultFS 的 HDFS 的 IP 地址或者域名、端口必须一致。 此例配置的是 Hadoop HA 时的情况, /hbase 是指在 Hadoop 里的目录 -->
        <property>
            <name>hbase.rootdir</name>
            <value>hdfs://shjcluster/hbase</value>
         </property>
    
         <!-- 如果只设置单个 Hmaster,那么 hbase.master 属性参数需要设置为 master5:60000 (主机名:60000)
           如果要设置多个 Hmaster,那么我们只需要提供端口 60000,因为选择真正的 master 的事情会有 zookeeper 去处理 -->
        <property>
            <name>hbase.master</name>
            <value>60000</value>
        </property>
    
        <!-- 对于 ZooKeeper 的配置。至少要在 hbase.zookeeper.quorum 参数中列出全部的 ZooKeeper 的主机,用逗号隔开。 -->
      <property>
            <name>hbase.zookeeper.quorum</name>
             <value>bigdata3:2181,bigdata4:2181,bigdata5:2181</value>
      </property>
    
      <!-- 设置 ZooKeeper 快照的存储位置,默认值为 /tmp -->
      <property>
            <name>hbase.zookeeper.property.dataDir</name>
            <value>/opt/data/hbase/zookeeperData</value>
        </property>
    
        <!-- 表示客户端连接 ZooKeeper 的端口。 -->
        <property>
            <name>hbase.zookeeper.property.clientPort</name>
            <value>2181</value>
        </property>
    
    
        <property>
            <name>hbase.tmp.dir</name>
            <value>/opt/data/hbase/tmp</value>
        </property>
    
    
         <property>
             <name>hbase.master.info.port</name>
             <value>60010</value>
         </property>
         <property>
             <name>hbase.regionserver.info.port</name>
             <value>60030</value>
         </property>
    
         <!-- ZooKeeper 会话超时。Hbase 把这个值传递给 zk 集群,向它推荐一个会话的最大超时时间 -->
        <property>
            <name>zookeeper.session.timeout</name>
            <value>120000</value>
        </property>
            
        <!-- 当 regionserver 遇到 ZooKeeper session expired , regionserver 将选择 restart 而不是 abort。 -->
        <property>
            <name>hbase.regionserver.restart.on.zk.expire</name>
            <value>true</value>
        </property>
    
    </configuration>

    2. 修改 hbase-env.sh

    export JAVA_HOME=/home/jdk1.8.0_80

    export HBASE_LOG_DIR=${HBASE_HOME}/logs      

    # 使用的是 zookeeper 集群,所以不需要 HBASE 管理 Zookeeper

    export HBASE_MANAGES_ZK=false

    3. 修改 conf/regionservers

    slaver1

    slaver2

    slaver3

    4.  复制 hadoop 的 core-site.xml 和 hdfs-site.xml 到 conf 中,最好建立软连接

    5. 在 master1 上启动 HMaster (主),  命令: bin/start-hbase.sh

    6. 在 master2 上启动 另一个 HMaster (从),命令:bin/hbase-demon.sh start master

    7. 访问  http://master1:60010

  • 相关阅读:
    PHP读写XML文件的四种方法
    如何在linux系统中设置静态ip地址
    Memcached和Memcache安装(64位win7)
    Mysql存储过程和函数区别介绍
    随笔
    Vue 中使用axios传参数,后端收不到数据
    vs2019创建mvc连接mysql
    dapper多表查询
    Java并发编程:volatile关键字解析
    Mysql Innodb 间隙锁浅析
  • 原文地址:https://www.cnblogs.com/langfanyun/p/10197645.html
Copyright © 2020-2023  润新知