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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM