zoukankan      html  css  js  c++  java
  • HBase全分布式部署

    HBase全分布式部署

    1、HDFS上的独立HBase

    在独立的hbase上有时有用的变体是,所有守护程序都在一个JVM中运行,而不是持久化到本地文件系统,而是持久化到HDFS实例。

    当您打算使用简单的部署概要文件时,可以考虑使用此概要文件,虽然负载很轻,但是数据必须在节点间来回移动。写入要复制数据的HDFS可确保后者。

    要配置此独立变体,请编辑hbase-site.xml 设置hbase.rootdir 以指向HDFS实例中的目录,然后将hbase.cluster.distributed设置 为false。例如:

    <configuration>
      <property>
        <name>hbase.rootdir</name>
        <value>hdfs://namenode.example.org:8020/hbase</value>
      </property>
      <property>
        <name>hbase.cluster.distributed</name>
        <value>false</value>
      </property>
    </configuration>
    

    2、完全分布

    默认情况下,HBase以独立模式运行。提供了独立模式和伪分布式模式都是为了进行小型测试。对于生产环境,建议使用分布式模式。在分布式模式下,HBase守护程序的多个实例在群集中的多个服务器上运行。

    就像在伪分布式模式下一样,完全分布式配置需要将hbase.cluster.distributed属性设置 为true。通常,将hbase.rootdir其配置为指向高度可用的HDFS文件系统。

    此外,还配置了群集,以便多个群集节点可以注册为RegionServer,ZooKeeper QuorumPeers和备份HMaster服务器。这些配置基础都在quickstart-full-distributed中进行了演示。

    分布式RegionServer
    通常,您的群集将包含都运行在不同服务器上的多个RegionServer,以及主和备份Master和ZooKeeper守护程序。该CONF / regionservers在主服务器上的文件中包含主机,其RegionServers与该集群相关的列表。每个主机位于单独的行上。当主服务器启动或停止时,此文件中列出的所有主机都将启动和停止其RegionServer进程。

    ZooKeeper和HBase
    有关HBase的ZooKeeper设置说明,请参见ZooKeeper部分。

    例子2.例子分布式HBase集群

    这是分布式HBase群集的conf / hbase-site.xml。用于实际工作的群集将包含更多自定义配置参数。大多数HBase配置指令都有默认值,除非在hbase-site.xml中覆盖该值,否则将使用默认值。有关更多信息,请参见“ 配置文件 ”。

    <configuration>
      <property>
        <name>hbase.rootdir</name>
        <value>hdfs://namenode.example.org:8020/hbase</value>
      </property>
      <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
      </property>
      <property>
        <name>hbase.zookeeper.quorum</name>
        <value>node-a.example.com,node-b.example.com,node-c.example.com</value>
      </property>
    </configuration>
    

    这是一个示例conf / regionservers文件,其中包含应在集群中运行RegionServer的节点的列表。这些节点需要安装HBase,并且需要使用与主服务器相同的conf /目录内容。

    node-a.example.com
    node-b.example.com
    node-c.example.com
    

    这是示例conf / backup-masters文件,其中包含应运行备份Master实例的每个节点的列表。除非主主实例不可用,否则备份主实例将处于空闲状态。

    node-b.example.com
    node-c.example.com
    

    过程:HDFS客户端配置

    1. 值得注意的是,如果您在Hadoop集群上进行了HDFS客户端配置更改(例如HDFS客户端的配置指令),而不是服务器端配置,则必须使用以下方法之一使HBase能够查看和使用这些配置更改:
      1. 的一个指针添加HADOOP_CONF_DIRHBASE_CLASSPATH环境变量 hbase-env.sh
      2. $ {HBASE_HOME} / conf下添加hdfs-site.xml(或hadoop-site.xml)或更佳的符号链接的 副本,或
      3. 如果只有一小部分HDFS客户端配置,请将其添加到hbase-site.xml

    这样的HDFS客户端配置的示例是dfs.replication。例如,如果要以5的复制因子运行,除非您执行上述操作以使配置可用于HBase,否则HBase将创建默认值为3的文件。

    3、完全分布式安装

    3.1、hbase-env.sh

    这里需要配置好JAVA_HOME变量和指定自己的Zookeeper集群,把HBASE_MANAGES_ZK指定为false

    3.2、hbase-site.xml

    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://mycluster/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoopNode02,hadoopNode03,hadoopNode04</value>
    </property>
    

    3.3、regionservers

    hadoopNode02
    hadoopNode03
    hadoopNode04
    

    3.4、backup-masters

    hadoopNode04
    

    3.5、拷贝hdfs.site.xml

    $ {HBASE_HOME} / conf下添加hdfs-site.xml(或hadoop-site.xml)或更佳的符号链接的 副本

    3.6、分发HBase

    > scp -r /opt/mgs/hbase hadoopNode02:/opt/mgs/hbase
    > scp -r /opt/mgs/hbase hadoopNode03:/opt/mgs/hbase
    > scp -r /opt/mgs/hbase hadoopNode04:/opt/mgs/hbase
    

    3.7、修改profile

    添加HBASE_HOME变量

    source一下

    4、启动集群

    启动集群之前确保自己的hdfs集群必须启动起来。

    > start-hbase.sh
    # 单节点启动 
    > hbase-daemon.sh start master
    

    5、Zookeeper里面的数据

    > zkCli.sh
    
    
    记得加油学习哦^_^
  • 相关阅读:
    Mutex和Lock
    Thread和Promise以及packaged_task
    async和Future
    《并行程序设计导论》——读书笔记汇总
    UnrealEngine4蓝图可视化编程 完整例子 勘误
    BOOST下载
    sql 解析xml
    AutoResetEvent 笔记2
    ssh免密登录设置 (普通用户和root用户)
    npm设置淘宝镜像
  • 原文地址:https://www.cnblogs.com/shaoyayu/p/13467506.html
Copyright © 2011-2022 走看看