Hadoop2配置详解
生活随笔
收集整理的這篇文章主要介紹了
Hadoop2配置详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
配置文件 hadoop的配置是由兩種重要類型的配置文件進行驅動的: 默認是只讀的配置: core-default.xml, hdfs-default.xml, yarn-default.xml and mapred-default.xml。 特殊節點配置: conf/core-site.xml, conf/hdfs-site.xml, conf/yarn-site.xml and conf/mapred-site.xml。 此外,你可以通過分布的bin/文件夾下的hadoop腳本conf/hadoop-env.sh和yarn-env.sh。通過設置設定值進行控制。 節點配置: 要配置Hadoop集群,你需要配置在Hadoop運行的環境中配置環境變量以及為Hadoop守護進程的配置參數。 Hadoop啟動進程是NameNode/DataNode and ResourceManager/NodeManager。 配置Hadoop運行環境 管理員可以使用的conf/hadoop-env.sh 和 conf/yarn-env.sh腳本做的Hadoop運行的進程環境中的特定節點的配置。至少你應該正確配置集群遠程節點上的JAVA_HOME? ? ? ? 。 在大多數情況下,你也應該設置HADOOP_PID_DIR 和 HADOOP_SECURE_DN_PID_DIR。設置只有運行在Hadoop進程中的用戶才可以有寫的權限。否則有可能受到攻擊。 管理員可以使用下表所示的配置選項配置各個守護進程:
??export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC ${HADOOP_NAMENODE_OPTS}" 復制代碼
其他有用的配置參數,你可以自定義包括: HADOOP_LOG_DIR / YARN_LOG_DIR -hadoop的守護進程的日志文件的存儲目錄。他們如果目錄不存在,會自動創建。 HADOOP_HEAPSIZE / YARN_HEAPSIZE-堆大小的上限設置。以MB為單位例如:如果varibale設置為1000堆將被設置為1000MB。這是用來配置堆大小的守護進程。默認情況下,該值是1000,如果你想單獨配置值為每個守護進程設置就可以使用。
| 進程值 | 環境變量 |
| NameNode | HADOOP_NAMENODE_OPTS |
| DataNode | HADOOP_DATANODE_OPTS |
| Secondary NameNode | HADOOP_SECONDARYNAMENODE_OPTS |
| ResourceManager | YARN_RESOURCEMANAGER_OPTS |
| NodeManager | YARN_NODEMANAGER_OPTS |
| WebAppProxy | YARN_PROXYSERVER_OPTS |
| Map Reduce Job History Server | HADOOP_JOB_HISTORYSERVER_OPTS |
?
例如,要配置的Namenode使用parallelGC,下面的語句應該在的hadoop-env.sh加入:其他有用的配置參數,你可以自定義包括: HADOOP_LOG_DIR / YARN_LOG_DIR -hadoop的守護進程的日志文件的存儲目錄。他們如果目錄不存在,會自動創建。 HADOOP_HEAPSIZE / YARN_HEAPSIZE-堆大小的上限設置。以MB為單位例如:如果varibale設置為1000堆將被設置為1000MB。這是用來配置堆大小的守護進程。默認情況下,該值是1000,如果你想單獨配置值為每個守護進程設置就可以使用。
-
守護進程 環境變量 ResourceManager YARN_RESOURCEMANAGER_HEAPSIZE NodeManager YARN_NODEMANAGER_HEAPSIZE WebAppProxy YARN_PROXYSERVER_HEAPSIZE Map Reduce Job History Server HADOOP_JOB_HISTORYSERVER_HEAPSIZE
- conf/core-site.xml
參數 值 注釋 fs.defaultFS NameNode URI hdfs://host:port/ io.file.buffer.size 131072 SequenceFiles文件中.讀寫緩存size設定 - conf/hdfs-site.xml:配置 NameNode:
-
參數 值 Notes dfs.namenode.name.dir 在本地文件系統所在的NameNode的存儲空間和持續化處理日志 如果這是一個以逗號分隔的目錄列表,然后將名稱表被復制的所有目錄,以備不時之需。 dfs.namenode.hosts /dfs.namenode.hosts.exclude Datanodes
permitted/excluded列表如有必要,可以使用這些文件來控制允許數據節點的列表 dfs.blocksize 268435456 大型的文件系統HDFS塊大小為256MB dfs.namenode.handler.count 100 設置更多的namenode線程,處理從datanode發出的大量RPC請求 - Configurations for DataNode:
Parameter Value Notes dfs.datanode.data.dir 逗號分隔的一個DataNode上,它應該保存它的塊的本地文件系統的路徑列表 如果這是一個以逗號分隔的目錄列表,那么數據將被存儲在所有命名的目錄,通常在不同的設備。
-
- conf/yarn-site.xml
- 配置ResourceManager 和 NodeManager:
參數 值 備注 yarn.acl.enable true /false 啟用ACL的?默認為false。 yarn.admin.acl Admin ACL 訪問控制列表,在群集上設置管理員。 ACL是為逗號分隔usersspacecomma分隔組。默認為*特殊值這意味著任何人。只是空間的特殊值意味著沒有人進入。 yarn.log-aggregation-enable false 配置來啟用或禁用日志聚合 - 配置 ResourceManager:
參數 值 備注 yarn.resourcemanager.address 客戶端對ResourceManager主機通過 host:port 提交作業 host:port yarn.resourcemanager.scheduler.address ApplicationMasters 通過ResourceManager 主機訪問host:port 跟蹤調度程序獲資源 host:port yarn.resourcemanager.resource-tracker.address NodeManagers通過ResourceManager主機訪問 host:port host:port yarn.resourcemanager.admin.address 管理命令通過ResourceManager 主機訪問host:port host:port yarn.resourcemanager.webapp.address ResourceManager web頁面host:port. host:port yarn.resourcemanager.scheduler.class ResourceManager 調度類(Scheduler class) CapacityScheduler(推薦),FairScheduler(也推薦),orFifoScheduler yarn.scheduler.minimum-allocation-mb 每個容器內存最低限額分配到的資源管理器要求 I以MB為單位 yarn.scheduler.maximum-allocation-mb 資源管理器分配給每個容器的內存最大限制 以MB為單位 yarn.resourcemanager.nodes.include-path /yarn.resourcemanager.nodes.exclude-path NodeManagers 的permitted/excluded列表 如有必要,可使用這些文件來控制允許NodeManagers列表。 - 配置 NodeManager:
參數 值 備注 yarn.nodemanager.resource.memory-mb givenNodeManager即資源的可用物理內存,以MB為單位 定義在節點管理器總的可用資源,以提供給運行容器 yarn.nodemanager.vmem-pmem-ratio 最大比率為一些任務的虛擬內存使用量可能會超過物理內存率 每個任務的虛擬內存的使用可以通過這個比例超過了物理內存的限制。虛擬內存的使用上的節點管理器任務的總量可以通過這個比率超過其物理內存的使用。 yarn.nodemanager.local-dirs 數據寫入本地文件系統路徑的列表用逗號分隔 多條存儲路徑可以提高磁盤的讀寫速度 yarn.nodemanager.log-dirs 本地文件系統日志路徑的列表逗號分隔。 多條存儲路徑可以提高磁盤的讀寫速度 yarn.nodemanager.log.retain-seconds 10800 如果日志聚合被禁用。默認的時間(以秒為單位)保留在節點管理器只適用日志文件, yarn.nodemanager.remote-app-log-dir /logs HDFS目錄下的應用程序日志移動應用上完成。需要設置相應的權限。僅適用日志聚合功能。 yarn.nodemanager.remote-app-log-dir-suffix logs 后綴追加到遠程日志目錄。日志將被匯總到 ${yarn.nodemanager.remote-app-log-dir}/${user}/${thisParam} 僅適用日志聚合功能。 yarn.nodemanager.aux-services mapreduce_shuffle Shuffle service 需要加以設置的Map Reduce的應用程序服務。 - 配置歷史記錄服務器(需要被移到別處):
參數 值 備注 yarn.log-aggregation.retain-seconds -1 如何長期保持聚集日志刪除之前。 -1禁用。請注意,設置這個太小了,你將名稱節點的垃圾郵件 yarn.log-aggregation.retain-check-interval-seconds -1 檢查匯總的日志保留的時間。如果設置為0或負值,則該值被計算為十分之一的聚合日志保留時間。請注意,設置這個太小了,你將稱為名稱節點的垃圾郵件。
- 配置ResourceManager 和 NodeManager:
- conf/mapred-site.xml
- 配置 MapReduce 應用程序:
參數 值 備注 mapreduce.framework.name yarn 執行框架設置為 Hadoop YARN. mapreduce.map.memory.mb 1536 對maps更大的資源限制的. mapreduce.map.java.opts -Xmx1024M maps 中對jvm child設置更大的堆大小 mapreduce.reduce.memory.mb 3072 設置 reduces對于較大的資源限制 mapreduce.reduce.java.opts -Xmx2560M reduces對 child jvms??Larger heap-size 設置 mapreduce.task.io.sort.mb 512 更高的內存限制,而對數據進行排序的效率。 mapreduce.task.io.sort.factor 100 在文件排序中更多的流合并為一次 mapreduce.reduce.shuffle.parallelcopies 50 通過reduces從非常多的map中讀取較多的平行副本 - 配置MapReduce的JobHistory服務器:
Parameter Value Notes mapreduce.jobhistory.address MapReduce JobHistory Server host:port 默認端口號 10020. mapreduce.jobhistory.webapp.address MapReduce JobHistory Server Web UIhost:port 默認端口號 19888. mapreduce.jobhistory.intermediate-done-dir /mr-history/tmp 在歷史文件被寫入由MapReduce作業 mapreduce.jobhistory.done-dir /mr-history/done 目錄中的歷史文件是由MR JobHistory Server管理。
- 配置 MapReduce 應用程序:
轉載于:https://www.cnblogs.com/tonychai/p/4516580.html
總結
以上是生活随笔為你收集整理的Hadoop2配置详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 菜根谭#254
- 下一篇: linux清理内存命令