namenode 性能優化 RPC隊列拆分


一、Service RPC port

NameNode默認使用8020端口偵聽所有的RPC請求(HDP版本),包括客戶端數據請求,DataNode心跳和block上報,ZKFC模塊監控檢查和切換控制。當集群規模越和RPC請求來越大時,RPC請求響應時間也變得越來越長。 
NameNode也給DataNode提供了專用的Service RPC port用於上報數據塊和心跳狀態,這樣可以減少和客戶端應用程序RPC隊列請求的競爭。這個端口默認沒有開啟,需要手動配置參數。 
Service RPC port另外也用於NameNode HA模塊的ZKFC健康檢查和auto failover 控制。

二、參數配置和HA集群操作步驟

1、對於無NameNode HA的集群,參數配置如下,

<property>
    <name>dfs.namenode.servicerpc-address</name>
    <value>namenode-host:8040</value>
</property>

 

2、對於NameNode開啟了HA的集群,配置如下,

<property>
    <name>dfs.namenode.servicerpc-address.test.nn1</name>
    <value>test1st.com:8040</value>
</property>

<property>
    <name>dfs.namenode.servicerpc-address.test.nn2</name>
    <value>test2st.com:8040</value>
</property>

 

3、 重啟節點使參數生效步驟

整個操作步驟如下, 
1)重啟standby namenode 
2)重啟active namenode 
3)rolling restart datanode, 
4)stop ZKFC 
5)重新格式化ZKFC並啟動zkfc

hdfs zkfc -formatZK

注意:更改服務RPC端口設置需要重新啟動NameNodes,DataNodes和ZooKeeper故障轉移控制器才能完全生效。如果您具有NameNode HA設置,則可以一次重新啟動一個NameNode,然后重新啟動其余組件以避免群集停機。

 如果是生成環境更要注意了,我在生成環境中把上述的配置加到hdfs-site.xml文件以后,還沒有重啟集群,就發現配置文件已經生效了,導致兩台namenode都掛掉了,,,最好是先修改完一台namenode,成功重啟以后再修改另外一台,否則可能導致公司的業務發生不可描述的問題。0.0

 

原文鏈接:Hortonworks社區


免責聲明!

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



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