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