zoukankan      html  css  js  c++  java
  • HBase配置文件设置

    Hadoop 2.7.4 + HBase 1.2.6 + ZooKeeper 3.4.10 配置

    本文为上述配置的一部分,为方便阅读,故设为独立页面

    下载hbase: https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/stable/hbase-1.2.6-bin.tar.gz

    解压到目录/home/mytestzk/hbase-1.2.6

    HBase本身就内置Zookeeper以支持HA,在配置时可选择内部自带的Zookeeper或者选择外部独立安装的Zookeeper,对于存储可选择HDFS为底层分布式存储,故受HDFS是否配置为HA而影响,HDFS non HA 及HDFS HA下,HBase的配置文件需要相应的修改,且在启动HBase前,必须先启动zookeeper

    1:设置环境变量及临时目录:gedit ~/.bashrc

    export HBASE_HOME=/home/mytestzk/hbase-1.2.6
    export PATH=$HBASE_HOME/bin:$PATH

       创建临时目录:mkdir /hbase-1.2.6/tmp

    2:修改配置文件

    • hbase-env.sh

      hbase自带zookeeper,如果不用自带zk,将下面HBASE_MANAGES_ZK设置为fales,使用独立配置的zookeeper

    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_151  #Java的环境
    export HBASE_CLASSPATH=/home/mytestzk/hbase-1.2.6/conf   #hadoop配置文件的地址
    export HBASE_MANAGES_ZK=false # 此配置信息,设置由独立的zk集群管理,故为false
    export HBASE_LOG_DIR=/opt/hbase/logs #Hbase日志目录
    • hbase-site.xml
    <configuration>
        <property>
            <name>hbase.rootdir</name>
            <value>hdfs://mycluster/hbase</value>
            <!--配置为core-site.xml 中的fs.defaultFS -->
        </property>
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
        <property>
            <name>hbase.master</name>
            <value>60000</value>
            <!-- Hbase HA 方式下只需配置端口 -->
        </property>
        <property>
            <name>hbase.tmp.dir</name>
            <value>/home/mytestzk/hbase-1.2.6/tmp</value>
        </property>
        <property>
            <name>hbase.zookeeper.quorum</name>
            <value>master,slave1,slave2 </value>
        </property>
        <property>
            <name>hbase.zoopkeeper.property.dataDir</name>
            <value>/home/mytestzk/zookeeper-3.4.10/data</value>
        </property>
        <property>
            <name>hbase.zookeeper.property.clientPort</name>
            <value>2181</value>
        </property>
    </configuration>
    • regionservers (注:通常应该将regionserver配置为datanode相同的server上以实现本地存储,提升性能)
    master
    slave1
    slave2

     

    3:hbase-site.xml 配置参数解析

    • hbase.rootdir

    这个目录是 RegionServer 的共享目录,用来持久化 HBase。特别注意的是 hbase.rootdir 里面的 HDFS 地址是要跟 Hadoop 的 core-site.xml 里面的 fs.defaultFS 的 HDFS 的 IP 地址或者域名、端口必须一致。(HA环境下,dfs.nameservices  是由zookeeper来决定的)

    • hbase.cluster.distributed

    HBase 的运行模式。为 false 表示单机模式,为 true 表示分布式模式。若为 false,HBase 和 ZooKeeper 会运行在同一个 JVM 中

    • hbase.master

    如果只设置单个 Hmaster,那么 hbase.master 属性参数需要设置为 master:60000 (主机名:60000)

    如果要设置多个 Hmaster,那么我们只需要提供端口 60000,因为选择真正的 master 的事情会有 zookeeper 去处理

    • hbase.tmp.dir

    本地文件系统的临时文件夹。可以修改到一个更为持久的目录上。(/tmp会在重启时清除)

    • hbase.zookeeper.quorum

    对于 ZooKeeper 的配置。至少要在 hbase.zookeeper.quorum 参数中列出全部的 ZooKeeper 的主机,用逗号隔开。该属性值的默认值为 localhost,这个值显然不能用于分布式应用中。

    • hbase.zookeeper.property.dataDir

    这个参数用户设置 ZooKeeper 快照的存储位置,默认值为 /tmp,显然在重启的时候会清空。因为笔者的 ZooKeeper 是独立安装的,所以这里路径是指向了 $ZOOKEEPER_HOME/conf/zoo.cfg 中 dataDir 所设定的位置。

    • hbase.zookeeper.property.clientPort

    表示客户端连接 ZooKeeper 的端口。

    • zookeeper.session.timeout

    ZooKeeper 会话超时。Hbase 把这个值传递改 zk 集群,向它推荐一个会话的最大超时时间

    • hbase.regionserver.restart.on.zk.expire

    当 regionserver 遇到 ZooKeeper session expired , regionserver 将选择 restart 而不是 abort。

     

     

    4:启动:(注意:复制hadoop-2.7.4/etc/hadoop 目录下的core-site.xml 及hdfs-site.xml 到hbase/conf 目录,否则运行时会报异常错误: Java.net.UnknownHostException: mycluster)

    在主节点上启动hbase: bin/start-hbase.sh

    在备节点上启动hmaster:bin/hbase-daemon.sh start master

     

    5:检查状态

    • 可以查看进程jps:

    在master和备节点上可以看到进程:HMaster,HRegionServer

    在其它节点上可以看到进程:HRegionServer

    • 浏览器查看:master:16010, slave1:16010

    可以看到一个是Active Master, 一个为Backup Master

  • 相关阅读:
    python 变量作用域
    python 函数与模块
    python 程序控制结构
    python zip() map() filter()
    python 迭代和列表解析
    python 字典视图
    Matlab程序设计
    Matlab 基本绘图练习 包含极坐标
    Matlab 软件绘图
    Pandas 控制输出格式和精度
  • 原文地址:https://www.cnblogs.com/benfly/p/8118894.html
Copyright © 2011-2022 走看看