您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“hadoop層面性能如何調優”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“hadoop層面性能如何調優”這篇文章吧。
a)NameNode 和 DataNode 內存調整在 hadoop-env.sh 文件中
NameNode: ExportHADOOP_NAMENODE_OPTS="-Xmx512m-Xms512m -Dhadoop.security.logger=${HADOOP_SECURITY_LOGGER:-INFO,RFAS} -Dhdfs.audit.logger=${HDFS_AUDIT_LOGGER:-INFO,NullAppender} $HADOOP_NAMENODE_OPTS"
DataNode:
export HADOOP_DATANODE_OPTS="-Xmx256m -Xms256m -Dhadoop.security.logger=ERROR,RFAS $HADOOP_DATANODE_OPTS"
-Xmx -Xms 這兩個參數一般保持一致,以避免每次垃圾回收完成后 JVM 重新分配內存。
b)REsourceManager 和 NodeManager 內存調整在 yarn-env.sh 文件中
REsourceManager:
export YARN_RESOURCEMANAGER_HEAPSIZE=1000 默認 export YARN_RESOURCEMANAGER_OPTS="..........."可以覆蓋上面的值
NodeManager:
export YARN_NODEMANAGER_HEAPSIZE=1000 默認export YARN_NODEMANAGER_OPTS="";可以覆蓋上面的值
常駐內存經驗配置:
namenode:16G
datanode:2-4G
ResourceManager:4G
NodeManager:2G
Zookeeper:4G
Hive Server:2G
http://hadoop.apache.org/docs/r2.6.0/
配置文件yarn-default.xml 分散 IO 壓力
yarn.nodemanager.local-dirs
yarn.nodemanager.log-dirs
配置文件 mapred-default.xml:
mapreduce.cluster.local.dir
配置文件 hdfs-default.xml:提高可靠性
dfs.namenode.name.dir
dfs.namenode.edits.dir
dfs.datanode.data.dir
a)配置 mapred-site.xml 文件中配置
<property>
<name>mapreduce.map.output.compress</name>
<value>true</value>
</property>
<property>
<name>mapreduce.map.output.compress.codec</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>
程序運行時指定參數 hadoop jar /home/hadoop/tv/tv.jar MediaIndex -Dmapreduce.compress.map.output=true -Dmapreduce.map.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec /tvdata /media
b)使用合理的壓縮算法(cpu 和磁盤) cpu:如果是 cpu 的瓶頸,可以更換速度快的壓縮算法 磁盤:如果是磁盤的瓶頸,可以更換壓縮力度大的壓縮算法 一般情況我們使用 snappy 壓縮,比較均衡 lzo
比如 聲明一個對象 Text word = new Text(); map(),reduce()方法里面重用
設置 map 和 reduce 最大任務個數:
mapreduce.tasktracker.map.tasks.maximum
mapreduce.tasktracker.reduce.tasks.maximum
配置文件 mapred-default.xml:
設置 map 和 reduce 單個任務內存大小:
mapreduce.map.memory.mb 1G 默認
mapreduce.reduce.memory.mb 1G 默認
機架分開,節點均勻放置
操作系統層面性能調優:
多個網卡:多網卡綁定,做負載均衡或者主備
磁盤:多個磁盤掛載到不同目錄下,存放數據做計算的磁盤不要做 raid
集群節點內存分配:
比如一個數據節點,假如 task 并行度為 8 DataNode(2~4G)+ NodeManager(2G)+Zookeeper(4G)+1G(單個任務默認大小)*8=16G~18G
集群規模: 假如 每天數據 1T 數據保存一個月,每個節點硬盤 2T 1T*3(副本)*30(天)=90T=n*2T*(60~70%) n=60 節點左右 企業中數據保留 7 天 15 天比較常見,數據比較重要的話 1 個月
以上是“hadoop層面性能如何調優”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。