簡體   English   中英

用於Cloudera安裝的不同hbase-site.xml之間的關系

[英]Relationship between different hbase-site.xml for a Cloudera install

使用Cloudera安裝HBase后,我看到三個地方都有配置信息:

  1. /etc/hbase/conf/hbase-site.xml
  2. /usr/lib/hbase/conf/hbase-site.xml
  3. /var/run/cloudera-scm-agent/process/*-hbase-MASTER

到底哪一個有效? 也許所有人都這樣做?

在所有hbase情況下,始終會讀取/etc/hbase/conf/hbase-site.xml文件。 /usr/lib/hbase/conf/hbase-site.xml是到/etc/hbase/conf/hbase-site.xml的符號鏈接,因此它是同一文件。

最后, /var/run/中的任何內容都是運行時變量,在您的情況下,它是Cloudera Manager Agent。 Manager代理負責管理控制台和其他任務的日志記錄。

希望對您有所幫助,帕特

使用的配置文件是/usr/lib/hbase/conf/hbase-site.xml

其他文件不是符號鏈接。

由於需要將相同的配置信息用於其他進程,例如HMaster,RegionServer,因此在初始化/預處理這些守護程序時,/ usr / lib / hbase / conf / hbase-site.xml文件將在不同位置進行同步。 因此,建議僅在/usr/lib/hbase/conf/hbase-site.xml文件中進行任何配置更改。

另外,您需要在集群中的所有節點上對這些文件進行相同的更改,然后重新啟動HBase守護程序。 希望這些回答您的問題。

根據我的搜索和學習,HBase實際上有兩種類型的hbase-site.xml文件,一種用於HMaster / RegionServer,另一種用於客戶端。

在Cloudera的發行版中,文件夾/var/run/cloudera-scm-agent/process/*-hbase-MASTERhbase-site.xml文件是正在運行的HMaster進程使用的配置。 RegionServer也是如此。

但是/usr/lib/hbase/conf//etc/hbase/conf/下的site.xml文件(彼此鏈接)(根據@apesa)是供客戶端使用的。 如果在HMaster主機或RegionServer主機上啟動HBase shell ,則將使用此客戶端配置文件,以便shell應用程序知道如何連接到ZooKeeper仲裁以獲取正在運行的HBase服務。 如果要從客戶端主機使用HBase服務,則他需要將此客戶端xml文件復制到客戶端主機。

如Sachin的回答所示,對於Apache的HBase的常規安裝,盡管HMaster,RegionServer和客戶端進程將僅使用所需的選項,而忽略其余選項,但相同的hbase-site.xml用於這兩個目的。

從嘗試使用hbase二進制版本1.2.0-cdh5.16.1 ,它似乎使用Java類路徑來查找要使用的hbase-site.xml文件,無論該文件是作為服務器還是作為客戶端Shell運行。 您可以將一個配置參數( --config )傳遞給hbase來控制所使用的config目錄,默認情況下該目錄為./conf (運行hbase可以查看有關此文檔的幫助)。

此觀察結果對此主題的其他答案(例如, 問題14327367 )提供了支持。

因此,要回答您的特定問題,以確定您的計算機上使用了哪個配置文件,請運行hbase classpath並找到3個目錄中的哪個首先出現在classpath中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM