HDFS使用RBF注意事項

RBF 需要優化的配置

NameNode 側

  1. NN 啟用 RPC context 特性,在審計日志中打印真實的客戶端 IP.
    默認情況下,NN 的審計日志記錄的所有請求的源 IP 都是 Router,如果要看到真正的 client IP,需要在 NameNode 側,hdfs-site.xml 中,使能 callerContext,之后在 NN 審計日志中,將在 CallerContext 字段記錄此次 RPC 請求的真實 IP:
    在 NameNode 側,hdfs-site.xml 中,做如下配置:
  <property>
    <name>hadoop.caller.context.enabled</name>
    <value>true</value>
  </property>

審計日志如下


客戶端側

  1. 客戶端隨機選擇 router,而不是總選擇第一個.
    默認情況下,在客戶端配置了多個 router 時,客戶端總是優先使用第一個 router,如果所有客戶端都是這種行為的話,很可能會造成第一個 router 累死,而其它 router 餓死,為了防止這種情況出現,需要讓客戶端隨機選取 router:
    在 Client 側,hdfs-site.xml 中,做如下配置:
  <property>
    <name>dfs.client.failover.random.order</name>
    <value>true</value>
  </property>

Router 側

  1. 配置 ganglia 監控
    Router 的監控信息,也需要輸出到 ganglia 上:
    在 Router 側,hadoop-metrics2.properties 中,增加下面配置:
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=60
router.sink.ganglia.servers=GANGLIA機器IP:8649
  1. 增大 Router RPC server 的 reader count 和 handler count.
    默認情況下,router 的 handler count 為10,reader count 為1,這些值都太小,需要加大.
    在 Router 側,hdfs-rbf-site.xml 中,將 RPC handler count 配置為 4096:
  <property>
    <name>dfs.federation.router.handler.count</name>
    <value>4096</value>
  </property>

將 RPC reader count 配置為 16:

  <property>
    <name>dfs.federation.router.reader.count</name>
    <value>16</value>
  </property>
  1. 開啟各個 Router 之間的 mount table 即時更新功能.
    默認情況下,如果一個 router 修改了 mount table,那么其他 router 不能立即更新,需要等待一段時間才能達到同步狀態。開啟即時更新功能后, 修改了 mount table 的 router 會主動通知其他 router 更新 cache,從而使其他 router 立即達到同步狀態.
    在 Router 側,hdfs-rbf-site.xml 中,做如下配置:
  <property>
    <name>dfs.federation.router.mount-table.cache.update</name>
    <value>true</value>
  </property>
  1. 開啟 Router 的超載拒絕服務特性.
    默認情況下,如果一個 router 接收到的 RPC 請求太多,則會嚴重排隊。開啟該特性后,一個 router 在滿載之后,會立即拒絕新的 RPC 請求,之后客戶端會繼續嘗試其他的 router:
    在 Router 側,hdfs-rbf-site.xml 中,做如下配置:
<property>
    <name>dfs.federation.router.client.reject.overload</name>
    <value>true</value>
</property>
  1. 禁用 Router 的 “部分 list/count” 特性.
    如果 router 啟用了 multi destination 掛載功能,且一個掛載目錄的某些 sub cluster 不可用時,可能出現不能完整 list/count 一個目錄的情況,此時只能 list/count 到一部分目錄內容。這種結果不可接受,需要禁用該特性,此時應直接返回失敗。
    在 Router 側,hdfs-rbf-site.xml 中,做如下配置:
<property>
    <name>dfs.federation.router.client.allow-partial-listing</name>
    <value>false</value>
</property>
  1. 禁止 Router 緩存客戶端 RPC 請求的路徑解析結果.
    默認情況下,Router 會緩存客戶端 RPC 請求的路徑解析結果,最多緩存1W條,但如果客戶端的操作路徑非常多變(典型情況:集群業務量超大,Router 收到的 RPC 請求路徑頻繁變化),則這種緩存意義不大,且額外的緩存操作還會增加 Router 時耗,此時應該禁用緩存。
    在 Router 側,hdfs-rbf-site.xml 中,做如下配置:
<property>
  <name>dfs.federation.router.mount-table.cache.enable</name>
  <value>false</value>
</property>
  1. 禁止 Router 自動監聽本地 NameNode.
    默認情況下,Router 僅自動監聽本地 NameNode,實際使用中,我們會手動配置 Router 需要監聽的所有 NN.
    在 Router 側,hdfs-rbf-site.xml 中,做如下配置:
<property>
  <name>dfs.federation.router.monitor.localnamenode.enable</name>
  <value>false</value>
</property>

幾個需要確認的問題

  1. Router 性能損耗
    在 Client 和 NameNode 直接插入 Router 之后,對業務的 RPC 時耗影響大概有多大?
  2. Router MountTable 性能問題
    在 Router 的 MountTable Entry 過多時(例如 10W 條),是否會對 Router 性能產生影響?
  3. token 性能問題
    各個 Router 的 token 都存在一個 zk 里面,并且使用 zk 的 CallBack 更新機制,以現網目前的 token 量,zk 是否撐得住?
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
禁止轉載,如需轉載請通過簡信或評論聯系作者。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,363評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,497評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,305評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,962評論 1 311
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,727評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,193評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,257評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,411評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,945評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,777評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,978評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,519評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,216評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,642評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,878評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,657評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,960評論 2 373

推薦閱讀更多精彩內容