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進程中的用戶才可以有寫的權限。否則有可能受到攻擊。
管理員可以使用下表所示的配置選項配置各個守護進程:
進程值
環境變量
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加入:
  1.   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,如果你想單獨配置值為每個守護進程設置就可以使用。
  • 守護進程
    環境變量
    ResourceManager
    YARN_RESOURCEMANAGER_HEAPSIZE
    NodeManager
    YARN_NODEMANAGER_HEAPSIZE
    WebAppProxy
    YARN_PROXYSERVER_HEAPSIZE
    Map Reduce Job History Server
    HADOOP_JOB_HISTORYSERVER_HEAPSIZE
在非安全模式下配置hadoop守護進程。
本節討論在給定的配置文件中指定重要的參數的問題:
  • 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或負值,則該值被計算為十分之一的聚合日志保留時間。請注意,設置這個太小了,你將稱為名稱節點的垃圾郵件。
  • 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管理。


免責聲明!

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



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