W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
HBase 有兩種運行模式:獨立式和分布式。HBase 以獨立模式運行。無論您的模式如何,您都需要通過編輯HBase conf 目錄中的文件來配置 HBase 。至少,您必須編輯 conf/hbase-env.sh 來告訴 HBase 要使用哪個 java。在這個文件中,你設置了 HBase 環(huán)境變量,比如 JVM 的 heapsize 和其他選項,日志文件的首選位置等等。設置 JAVA_HOME 以指向你的 java 安裝的根目錄。
默認情況下使用的是獨立式的 HBase。在“快速啟動 HBase”一節(jié)中,我們已經(jīng)介紹過獨立模式。在獨立模式下,HBase 不使用 HDFS,而是使用本地文件系統(tǒng),是在同一個 JVM 中運行所有 HBase 守護進程和本地 ZooKeeper。ZooKeeper 綁定到一個眾所周知的端口,通過該端口,客戶端可以和 HBase 進行通信。
有時在獨立的 hbase 上有一個有用的變體,它的所有的守護進程都在一個 JVM 中運行,而不是持久化到本地文件系統(tǒng),而是持久化到一個 HDFS 實例。
當您打算使用簡單的部署配置文件時,您可能會考慮使用此配置文件,加載很輕松,但是數(shù)據(jù)必須在節(jié)點的出入之間持續(xù)存在。向 HDFS 寫入數(shù)據(jù)的地方可以確保后者。
要配置此獨立變體,請編輯 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>
分布式模式可以細分為分布式、偽分布式(所有守護進程都在單個節(jié)點上運行)、完全分布式(守護進程分布在集群中的所有節(jié)點上)。其中,偽分布式模式與完全分布式的命名來自于 Hadoop。
偽分布式模式可以針對本地文件系統(tǒng)運行,也可以針對 Hadoop 分布式文件系統(tǒng)(HDFS)的實例運行。完全分布式模式只能在 HDFS上 運行。有關如何設置 HDFS,請參閱Hadoop HDFS。
偽分布式模式的 HBase 就是在單個主機上運行的完全分布式模式。使用此HBase配置僅進行測試和原型設計。請勿將此配置用于生產(chǎn)或性能評估。
默認情況下,HBase 以獨立模式運行,獨立模式和偽分布模式用于小規(guī)模測試。對于生產(chǎn)環(huán)境,建議使用分布式模式。在分布式模式下,HBase 守護進程的多個實例在集群中的多個服務器上運行。
就像在偽分布式模式中一樣,完全分布式的配置要求您將 hbase.cluster.distributed 屬性設置為 true。通常情況下, hbase.rootdir 被配置為指向高可用性的 HDFS 文件系統(tǒng)。
此外,還配置了群集,以便多個群集節(jié)點成為 RegionServer、ZooKeeper QuorumPeers 和備份 HMaster 服務器。
分布式區(qū)域服務器(RegionServers)
通常,你的群集將包含多個運行在不同服務器上的 RegionServer,以及主要和備份 Master 和 ZooKeeper 守護程序。主服務器上的 conf/regionservers 文件中包含一個主機列表,其 RegionServers 與該集群相關。每個主機都在一個單獨的行上。當主服務器啟動或停止時,此文件中列出的所有主機將啟動和停止其 RegionServer 進程。
ZooKeeper和HBase
有關 HBase 的 ZooKeeper 設置說明,請參見 ZooKeeper 部分。
示例 - 分布式 HBase 集群示例
這是一個分布式 HBase 集群的簡單的 conf/hbase-site.xml。用于實際工作的群集將包含更多自定義配置參數(shù)。大多數(shù) 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 的節(jié)點的列表。這些節(jié)點需要安裝 HBase,他們需要使用與主服務器相同的 conf /目錄內(nèi)容:
node-a.example.com
node-b.example.com
node-c.example.com
這是 conf/backup-masters 文件的示例,其中包含應運行備份主實例的每個節(jié)點的列表。除非主主站變?yōu)椴豢捎?,否則備份主站實例將處于空閑狀態(tài)。
node-b.example.com
node-c.example.com
分布式 HBase 快速入門
請參閱快速入門 - 完全分布,了解包含多個 ZooKeeper、備份 HMaster 和 RegionServer 實例的簡單三節(jié)點群集配置。
HDFS 客戶端配置
這種 HDFS 客戶端配置的一個例子是 dfs.replication。例如,如果希望以5的復制因子運行,則 HBase 將創(chuàng)建缺省值為 3 的文件,除非您執(zhí)行上述操作以使配置可用于 HBase。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: