Hadoop參數彙總

Hadoop參數彙總

@(hadoop)[配置]java

linux參數

如下參數最好優化一下:node

  1. 文件描述符ulimit -nlinux

  2. 用戶最大進程 nproc (hbase須要 hbse book)nginx

  3. 關閉swap分區web

  4. 設置合理的預讀取緩衝區算法

  5. Linux的內核的IO調度器shell

JVM參數

JVM方面的優化項Hadoop Performance Tuning Guideapache

Hadoop參數大全

適用版本:4.3.0

主要配置文件:瀏覽器

重要性表示以下:

  • 重要

  • 通常

  • 不重要

core-default.xml

  • hadoop.common.configuration.version

    配置文件的版本。

  • hadoop.tmp.dir=/tmp/hadoop-${user.name}

    Hadoop的臨時目錄,其它目錄會基於此路徑。本地目錄。

    只能夠設置一個值;建議設置到一個足夠空間的地方,而不是默認的/tmp下
    服務端參數,修改需重啓

  • hadoop.security.authorization=false

    是否開啓安全服務驗證。

    建議不開啓。認證操做比較複雜,在公司內部網絡下,重要性沒那麼高

  • io.file.buffer.size=4096

    在讀寫文件時使用的緩存大小。這個大小應該是內存Page的倍數。

    建議1M

  • io.compression.codecs=null

    壓縮和解壓縮編碼類列表,用逗號分隔。這些類是使用Java ServiceLoader加載。

  • fs.defaultFS=file:///

    默認文件系統的名稱。URI形式。uri's的scheme須要由(fs.SCHEME.impl)指定文件系統實現類。 uri's的authority部分用來指定host, port等。默認是本地文件系統。

    HA方式,這裏設置服務名,例如:hdfs://mycluster1
    HDFS的客戶端訪問HDFS須要此參數。

  • fs.trash.interval=0

    以分鐘爲單位的垃圾回收時間,垃圾站中數據超過此時間,會被刪除。若是是0,垃圾回收機制關閉。能夠配置在服務器端和客戶端。若是在服務器端配置trash無效,會檢查客戶端配置。若是服務器端配置有效,客戶端配置會忽略。

    建議開啓,建議4320(3天)
    垃圾回收站,若有同名文件被刪除,會給文件順序編號,例如:a.txt,a.txt(1)

  • fs.trash.checkpoint.interval=0

    以分鐘爲單位的垃圾回收檢查間隔。應該小於或等於fs.trash.interval。若是是0,值等同於fs.trash.interval。每次檢查器運行,會建立新的檢查點。

    建議設置爲60(1小時)

  • dfs.ha.fencing.methods=null

    HDFS的HA功能的防腦裂方法。能夠是內建的方法(例如shell和sshfence)或者用戶定義的方法。建議使用sshfence(hadoop:9922),括號內的是用戶名和端口,注意,這須要NN的2臺機器之間可以免密碼登錄

    fences是防止腦裂的方法,保證NN中僅一個是Active的,若是2者都是Active的,新的會把舊的強制Kill。

  • dfs.ha.fencing.ssh.private-key-files=null

    使用sshfence時,SSH的私鑰文件。 使用了sshfence,這個必須指定

  • ha.zookeeper.quorum=null

    Ha功能,須要一組zk地址,用逗號分隔。被ZKFailoverController使用於自動失效備援failover。

  • ha.zookeeper.session-timeout.ms=5000

    ZK鏈接超時。ZKFC鏈接ZK時用。設置一個小值能夠更快的探測到服務器崩潰(crash),但也會更頻繁的觸發失效備援,在傳輸錯誤或者網絡不順暢時。建議10s-30s

  • hadoop.http.staticuser.user=dr.who

    在網頁界面訪問數據使用的用戶名。默認值是一個不真實存在的用戶,此用戶權限很小,不能訪問不一樣用戶的數據。這保證了數據安全。也能夠設置爲hdfs和hadoop等具備較高權限的用戶,但會致使可以登錄網頁界面的人能看到其它用戶數據。實際設置請綜合考慮。如無特殊需求。使用默認值就好

  • fs.permissions.umask-mode=22

    在建立文件和目錄時使用此umask值(用戶掩碼)。類linux上的文件權限掩碼。可使用8進制數字也可使用符號,例如:"022" (8進制,等同於以符號表示的u=rwx,g=r-x,o=r-x),或者"u=rwx,g=rwx,o="(符號法,等同於8進制的007)。注意,8進制的掩碼,和實際權限設置值正好相反,建議使用符號表示法,描述更清晰

  • io.native.lib.available=true

    是否啓動Hadoop的本地庫,默認啓用。本地庫能夠加快基本操做,例如IO,壓縮等。

  • hadoop.http.filter.initializers=org.apache.hadoop.http.lib.StaticUserWebFilter

    Hadoop的Http服務中,用逗號分隔的一組過濾器類名,每一個類必須擴展自org.apache.hadoop.http.FilterInitializer。 這些組件被初始化,應用於所有用戶的JSP和Servlet頁面。 列表中定義的順序就是過濾器被調用的順序。

  • hadoop.security.authentication

    安全驗證規則,能夠是simple和kerberos。simple意味着不驗證。

  • hadoop.security.group.mapping=org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback

    user到group的映射類。ACL用它以給定user獲取group。默認實現是 org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback, 若是JNI有效,它將發揮做用,使用Hadoop的API去獲取user的groups列表。若是JNI無效,會使用另外一個基於shell的實現, ShellBasedUnixGroupsMapping。這個實現是基於Linux、Unix的shell的環境。

  • hadoop.security.groups.cache.secs=300

    user到gourp映射緩存的有效時間。若是超時,會再次調用去獲取新的映射關係而後緩存起來。

  • hadoop.security.service.user.name.key=null

    若是相同的RPC協議被多個Server實現,這個配置是用來指定在客戶端進行RPC調用時,使用哪一個principal name去聯繫服務器。不建議使用

  • hadoop.security.uid.cache.secs=14400

    安全選項。不建議使用

  • hadoop.rpc.protection=authentication

    rpc鏈接保護。可取的值有authentication(認證), integrity(完整) and privacy(隱私)。不建議使用

  • hadoop.work.around.non.threadsafe.getpwuid=false

    一些系統已知在調用getpwuid_r和getpwgid_r有問題,這些調用是非線程安全的。這個問題的主要表現特徵是JVM崩潰。若是你的系統有這些問題,開啓這個選項。默認是關閉的。

  • hadoop.kerberos.kinit.command=kinit

    用來按期的向Hadoop提供新的Kerberos證書。所提供命令須要可以在運行Hadoop客戶端的用戶路徑中查找到,不然,請指定絕對路徑。不建議使用

  • hadoop.security.auth_to_local=null

    映射kerberos principals(代理人)到本地用戶名

  • io.bytes.per.checksum=512

    每次進行校驗和檢查的字節數。必定不能大於io.file.buffer.size.

  • io.skip.checksum.errors=FALSE

    是否跳過校驗和錯誤,默認是否,校驗和異常時會拋出錯誤。

  • io.serializations=org.apache.hadoop.io.serializer.WritableSerialization,org.apache.hadoop.io.serializer.avro.AvroSpecificSerialization,org.apache.hadoop.io.serializer.avro.AvroReflectSerialization

    序列化類列表,能夠被用來獲取序列化器和反序列化器(serializers and deserializers)。

  • io.seqfile.local.dir=${hadoop.tmp.dir}/io/local

    本地文件目錄。sequence file在merge過程當中存儲內部數據的地方。能夠是逗號分隔的一組目錄。最好在不一樣磁盤以分散IO。實際不存在的目錄會被忽略。

  • io.map.index.skip=0

    跳過的索引實體數量在entry之間。默認是0。設置大於0的值能夠用更少的內存打開大MapFiles。注意:MpaFile是一組Sequence文件,是排序後的,帶內部索引的文件

  • io.map.index.interval=128

    MapFile包含兩個文件,數據文件和索引文件。每io.map.index.interval個記錄寫入數據文件,一條記錄(行key,數據文件位置)寫入索引文件。

  • fs.default.name=file:///

    過期。使用(fs.defaultFS)代替

  • fs.AbstractFileSystem.file.impl=org.apache.hadoop.fs.local.LocalFs

    文件系統實現類:file

  • fs.AbstractFileSystem.hdfs.impl=org.apache.hadoop.fs.Hdfs

    文件系統實現類:hdfs

  • fs.AbstractFileSystem.viewfs.impl=org.apache.hadoop.fs.viewfs.ViewFs

    文件系統實現類:viewfs (例如客戶端掛載表)。

    在實現federation特性時,客戶端能夠部署此係統,方便同時訪問多個nameservice

  • fs.ftp.host=0.0.0.0

    非Hdfs文件系統設置。暫不關注

  • fs.ftp.host.port=21

    非Hdfs文件系統設置。暫不關注

  • fs.df.interval=60000

    磁盤使用統計刷新間隔,以毫秒爲單位

  • fs.s3.block.size=67108864

    非Hdfs文件系統設置。暫不關注

  • fs.s3.buffer.dir=${hadoop.tmp.dir}/s3

    非Hdfs文件系統設置。暫不關注

  • fs.s3.maxRetries=4

    非Hdfs文件系統設置。暫不關注

  • fs.s3.sleepTimeSeconds=10

    非Hdfs文件系統設置。暫不關注

  • fs.automatic.close=true

    默認的,文件系統實例在程序退出時自動關閉,經過JVM shutdown hook方式。能夠把此屬性設置爲false取消這種操做。這是一個高級選項,須要使用者特別關注關閉順序。不要關閉

  • fs.s3n.block.size=67108864

    非Hdfs文件系統設置。暫不關注

  • io.seqfile.compress.blocksize=1000000

    SequenceFiles以塊壓縮方式壓縮時,塊大小大於此值時才啓動壓縮。

  • io.seqfile.lazydecompress=TRUE

    懶惰解壓,僅在必要時解壓,僅對塊壓縮的SequenceFiles有效。

  • io.seqfile.sorter.recordlimit=1000000

    在SequenceFiles.Sorter spill過程當中,保存在內存中的記錄數

  • io.mapfile.bloom.size=1048576

    在BloomMapFile使用的布隆過濾器內存大小。

  • io.mapfile.bloom.error.rate=0.005

    BloomMapFile中使用布隆過濾器失敗比率. 若是減小這個值,使用的內存會成指數增加。

  • hadoop.util.hash.type=murmur

    默認Hash算法實現. 'murmur':MurmurHash, 'jenkins':JenkinsHash.

  • ipc.client.idlethreshold=4000

    鏈接數閥值,超過此值,須要進行空閒鏈接檢查

  • ipc.client.kill.max=10

    定義客戶端最大數量,超過會被斷開鏈接

  • ipc.client.connection.maxidletime=10000

    毫秒,最大時間,超事後客戶端會斷開和服務器的鏈接。

  • ipc.client.connect.max.retries=10

    客戶端鏈接重試次數。

  • ipc.client.connect.max.retries.on.timeouts=45

    在鏈接超時後,客戶端鏈接重試次數

  • ipc.server.listen.queue.size=128

    定義服務器端接收客戶端鏈接的監聽隊列長度

  • ipc.server.tcpnodelay=false

    在服務器端開啓/關閉Nagle's算法,此算法能夠延遲小數據包發送,從而達到網絡流量更有效利用。可是這對小數據包是不利的。默認關閉。建議false,即開啓Nagle算法

  • ipc.client.tcpnodelay=false

    參考ipc.server.tcpnodelay,客戶端參數。或許能夠考慮關閉Nagle算法,增長客戶端響應速度

  • hadoop.rpc.socket.factory.class.default=org.apache.hadoop.net.StandardSocketFactory

    高級選項,暫不考慮

  • hadoop.rpc.socket.factory.class.ClientProtocol=null

    高級選項,暫不考慮

  • hadoop.socks.server=null

    高級選項,暫不考慮

  • net.topology.node.switch.mapping.impl=org.apache.hadoop.net.ScriptBasedMapping

    機架感知實現類。

  • net.topology.script.file.name=null

    配合ScriptBasedMapping使用。腳本文件。此腳本文件,輸入是ip地址,輸出是機架路徑。

  • net.topology.script.number.args=100

    機架感知腳本文件的參數最大數量。腳本每次運行被傳遞的參數,每一個參數是一個ip地址

  • net.topology.table.file.name=null

    在net.topology.script.file.name被設置爲 org.apache.hadoop.net.TableMapping時,可使用此配置。文件格式是一個有兩個列的文本文件,使用空白字符分隔。第一列是DNS或IP地址,第二列是機架路徑。如無指定,使用默認機架(/default-rack)

  • file.stream-buffer-size=4096

    非hdfs文件系統,暫不關注

  • s3.stream-buffer-size=4096

    非hdfs文件系統,暫不關注

  • kfs.stream-buffer-size=4096

    非hdfs文件系統,暫不關注

  • ftp.stream-buffer-size=4096

    非hdfs文件系統,暫不關注

  • tfile.io.chunk.size=1048576

    非hdfs文件系統,暫不關注

  • hadoop.http.authentication.type=simple

    Oozie Http終端安全驗證。可選值:simple | kerberos |#AUTHENTICATION_HANDLER_CLASSNAME#

    建議simple,關閉驗證

  • hadoop.http.authentication.token.validity=36000

    安全選項。暫不關注

  • hadoop.http.authentication.signature.secret.file=${user.home}/hadoop-http-auth-signature-secret

    安全選項。暫不關注

  • hadoop.http.authentication.cookie.domain=null

    安全選項。暫不關注

  • hadoop.http.authentication.simple.anonymous.allowed=TRUE

    安全選項。暫不關注

  • hadoop.http.authentication.kerberos.principal=HTTP/_HOST@LOCALHOST

    安全選項。暫不關注

  • hadoop.http.authentication.kerberos.keytab=${user.home}/hadoop.keytab

    安全選項。暫不關注

  • dfs.ha.fencing.ssh.connect-timeout=30000

    SSH鏈接超時,毫秒,僅適用於內建的sshfence fencer。

  • ha.zookeeper.parent-znode=/hadoop-ha

    ZK失效備援功能,須要在ZK上建立節點,這裏是根節點的名稱。ZKFC會在這下面工做。注意,NameService ID會 被寫到此節點下,因此即使是開啓federation功能,也僅須要指定一個值。

  • ha.zookeeper.acl=world:anyone:rwcda

    ZKFC建立的ZK節點的訪問控制權限設置。能夠多個,逗號分隔。此設置和ZK的CLI使用相同的格式。

  • ha.zookeeper.auth=null

    ZK操做時的權限驗證。

  • hadoop.ssl.keystores.factory.class=org.apache.hadoop.security.ssl.FileBasedKeyStoresFactory

    安全選項。暫不關注

  • hadoop.ssl.require.client.cert=FALSE

    安全選項。暫不關注

  • hadoop.ssl.hostname.verifier=DEFAULT

    安全選項。暫不關注

  • hadoop.ssl.server.conf=ssl-server.xml

    安全選項。暫不關注

  • hadoop.ssl.client.conf=ssl-client.xml

    安全選項。暫不關注

  • hadoop.ssl.enabled=FALSE

    安全選項。暫不關注

  • hadoop.jetty.logs.serve.aliases=TRUE

    是否容許在Jetty中使用別名服務。

  • ha.health-monitor.connect-retry-interval.ms=1000

    HA功能的健康監控鏈接重試間隔

  • ha.health-monitor.check-interval.ms=1000

    HA功能的健康監控鏈接間隔

  • ha.health-monitor.sleep-after-disconnect.ms=1000

    HA功能的健康監控,在因網絡問題失去鏈接後休眠多久。用於避免當即重試,此時網絡問題仍在,沒有意義

  • ha.health-monitor.rpc-timeout.ms=45000

    HA功能健康監控的超時時間,毫秒

  • ha.failover-controller.new-active.rpc-timeout.ms=60000

    FC等待新的NN變成active狀態的超時時間。

  • ha.failover-controller.graceful-fence.rpc-timeout.ms=5000

    FC等待舊的active變成standby的超時時間。

  • ha.failover-controller.graceful-fence.connection.retries=1

    FC在作完美隔離是的鏈接重試次數(graceful fencing)

  • ha.failover-controller.cli-check.rpc-timeout.ms=20000

    手動運行的FC功能(從CLI)等待健康檢查、服務狀態的超時時間。

hdfs-default.xml

  • hadoop.hdfs.configuration.version=1

    配置文件的版本

  • dfs.datanode.address=0.0.0.0:50010

    DN服務地址和端口,用於數據傳輸。0表示任意空閒端口。

    xferPort    dfs.datanode.address        50010   數據流地址   數據傳輸infoPort    dfs.datanode.http.address   50075ipcPort     dfs.datanode.ipc.address    50020   命令
  • dfs.datanode.http.address=0.0.0.0:50075

    DN的HTTP服務地址和端口。0表示任意空閒端口。

  • dfs.datanode.ipc.address=0.0.0.0:50020

    DN的IPC地址和端口。0表示任意空閒端口。

  • dfs.namenode.rpc-address=0.0.0.0:50090

    NN的RPC地址和端口

  • dfs.namenode.http-address=0.0.0.0:50070

    NN的HTTP地址和端口。0表示任意空閒端口。

  • dfs.datanode.du.reserved=0

    每一個磁盤(volume)的保留空間,字節。要注意留足夠的空間給非HDFS文件使用。建議保留磁盤容量的5%或者50G以上

  • dfs.namenode.name.dir.restore=FALSE

    設置爲true,容許NN嘗試恢復以前失敗的dfs.namenode.name.dir目錄。在建立checkpoint是作此嘗試。若是設置多個磁盤,建議容許

  • dfs.namenode.edits.dir=${dfs.namenode.name.dir}

    本地文件,NN存放edits文件的目錄。能夠是逗號分隔的目錄列表。edits文件會存儲在每一個目錄,冗餘安全。

  • dfs.namenode.shared.edits.dir=null

    在多個NN中共享存儲目錄,用於存放edits文件。這個目錄,由active寫,由standby讀,以保持命名空間數據一致。此目錄不須要是dfs.namenode.edits.dir中列出的。在非HA集羣中,它不會使用。建議使用qj方式,能夠不關注這個選項

  • dfs.namenode.edits.journal-plugin.qjournal=org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager

    qj方式共享edits。建議使用此方式

  • dfs.permissions.enabled=true

    是否在HDFS中開啓權限檢查。

  • dfs.permissions.superusergroup=supergroup

    超級用戶組。僅能設置一個。

  • dfs.datanode.data.dir=file://${hadoop.tmp.dir}/dfs/data

    本地磁盤目錄,HDFS數據應該存儲Block的地方。能夠是逗號分隔的目錄列表(典型的,每一個目錄在不一樣的磁盤)。這些目錄被輪流使用,一個塊存儲在這個目錄,下一個塊存儲在下一個目錄,依次循環。每一個塊在同一個機器上僅存儲一份。不存在的目錄被忽略。必須建立文件夾,不然被視爲不存在。

  • dfs.replication=3

    數據塊副本數。此值能夠在建立文件是設定,客戶端能夠只有設定,也能夠在命令行修改。不一樣文件能夠有不一樣的副本數。默認值用於未指定時。

  • dfs.replication.max=512

    最大塊副本數,不要大於節點總數。

  • dfs.namenode.replication.min=1

    最小塊副本數。在上傳文件時,達到最小副本數,就認爲上傳是成功的

  • dfs.blocksize=67108864

    塊大小,字節。可使用後綴: k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa)指定大小 (就像128k, 512m, 1g, 等待)。

  • dfs.client.block.write.retries=3

    客戶端寫數據到DN時,最大重試次數。超太重試次數就會報出錯誤。

  • dfs.client.block.write.replace-datanode-on-failure.enable=true

    在進行pipeline寫數據(上傳數據的方式)時,若是DN或者磁盤故障,客戶端將嘗試移除失敗的DN,而後寫到剩下的磁盤。一個結果是,pipeline中的DN減小了。這個特性是添加新的DN到pipeline。這是一個站點範圍的選項。當集羣規模很是小時,例如3個或者更小,集羣管理者可能想要禁止掉此特性。

  • dfs.client.block.write.replace-datanode-on-failure.policy=DEFAULT

    此屬性僅在dfs.client.block.write.replace-datanode-on-failure.enable設置爲true時有效。

    • NEVER: 從不添加新的DN

    • DEFAULT: 設r是副本數,n是要寫的DN數。在r>=3而且floor(r/2)>=n或者r>n(前提是文件是hflushed/appended)時添加新的DN。

    • ALWAYS: 老是添加新的DN

    • dfs.heartbeat.interval=3

      DN的心跳間隔,秒

    • dfs.namenode.handler.count=10

      NN的服務線程數。用於處理RPC請求。

    • dfs.namenode.safemode.threshold-pct=0.999f

      數據進入安全模式閥值,百分比,float形式,數據塊達到最小副本數(dfs.namenode.replication.min)的百分比。值小於等於0意味着在退出安全模式前不等待數據修復。大於1的值將致使沒法離開安全模式。

    • dfs.namenode.safemode.extension=30000

      安全模式擴展存在時間,在須要的閥值達到後,毫秒。能夠設置爲0,或者比較短的一個時間,例如3秒

    • dfs.datanode.balance.bandwidthPerSec=1048576

      在作數據平衡時,每一個DN最大帶寬佔用,每秒字節。默認值是1M。建議能夠到10M

    • dfs.hosts=null

      文件名,包含了一個host列表,容許列表內機器連到NN。必須指定完整路徑。若是值爲空,所有hosts都容許連入。

    • dfs.hosts.exclude=null

      文件名,包含了一個hosts列表,不容許列表內機器連到NN。必須指定完整路徑。若是值爲空。沒有host被禁止。若是上述2個都設置而且有重合,dfs.hosts中優先級高。

    • dfs.stream-buffer-size=4096

      文件流緩存大小。須要是硬件page大小的整數倍。在讀寫操做時,數據緩存大小。注意和core-default.xml中指定文件類型的緩存是不一樣的,這個是dfs共用的

    • dfs.namenode.num.extra.edits.retained=1000000

      除最小的必須的editlog以外,額外保留的editlog文件數量。這是有用的,能夠用於審覈目的,或者HA設置一個遠程Standby節點而且有時可能離線時,都須要保留一個較長的backlog。


      典型的,每一個edit大約幾百字節,默認的1百萬editlog大約有百兆到1G。注意:早先的extra edits文件可能操做這裏設置的值,由於還有其它選項,例如dfs.namenode.max.extra.edits.segments.retained

      建議值:2200,約3天的

    • dfs.datanode.handler.count=10

      DN的服務線程數。這些線程僅用於接收請求,處理業務命令

    • dfs.datanode.failed.volumes.tolerated=0

      能夠接受的卷的失敗數量。默認值0表示,任一個卷失敗都會致使DN關閉。

      建議設置此值,避免個別磁盤問題。若是此值超過真實磁盤數,將會報錯,啓動失敗

    • dfs.namenode.support.allow.format=true

      NN是否容許被格式化?在生產系統,把它設置爲false,阻止任何格式化操做在一個運行的DFS上。

      建議初次格式化後,修改配置禁止

    • dfs.client.failover.max.attempts=15

      專家設置。客戶端失敗重試次數。

    • dfs.client.failover.connection.retries=0

      專家設置。IPC客戶端失敗重試次數。在網絡不穩定時建議加大此值

    • dfs.client.failover.connection.retries.on.timeouts=0

      專家設置。IPC客戶端失敗重試次數,此失敗僅指超時失敗。在網絡不穩定時建議加大此值

    • dfs.nameservices=null

      nameservices列表。逗號分隔。

      咱們經常使用的僅配置一個,啓動federation功能須要配置多個

    • dfs.nameservice.id=null

      nameservice id,若是沒有配置或者配置多個,由匹配到的本地節點地址配置的IP地址決定。咱們進配置一個NS的狀況下,建議這裏不配置

    • dfs.ha.namenodes.EXAMPLENAMESERVICE=null

      包含一個NN列表。EXAMPLENAMESERVICE是指具體的nameservice名稱,一般就是dfs.nameservices中配置的。值是預備配置的NN的ID。

      ID是本身取的,不重複就能夠,例如nn1,nn2

    • dfs.ha.namenode.id=null

      NN的ID,若是沒有配置,由系統決定。經過匹配本地節點地址和配置的地址。

      這裏設置的是本機的NN的ID(此配置僅對NN生效),因爲要配置2個NN,建議沒有特殊須要,這裏不進行配置

    • dfs.ha.automatic-failover.enabled=FALSE

      是否開啓自動故障轉移。建議開啓,true

    • dfs.namenode.avoid.write.stale.datanode=FALSE

      決定是否避開在髒DN上寫數據。寫操做將會避開髒DN,除非超過一個配置的比率 (dfs.namenode.write.stale.datanode.ratio)。

      嘗試開啓

    • dfs.journalnode.rpc-address=0.0.0.0:8485

      JournalNode RPC服務地址和端口

    • dfs.journalnode.http-address=0.0.0.0:8480

      JournalNode的HTTP地址和端口。端口設置爲0表示隨機選擇。

    • dfs.namenode.audit.loggers=default

      審查日誌的實現類列表,可以接收audit事件。它們須要實現 org.apache.hadoop.hdfs.server.namenode.AuditLogger接口。默認值"default"能夠用於引用默認的audit logger, 它使用配置的日誌系統。安裝客戶本身的audit loggers可能影響NN的穩定性和性能。

      建議default,開啓

    • dfs.client.socket-timeout=60*1000

    • dfs.datanode.socket.write.timeout=8*60*1000

    • dfs.datanode.socket.reuse.keepalive=1000

    • dfs.namenode.logging.level=info

      DFS的NN的日誌等級。值能夠是:info,dir(跟蹤命名空間變更),"block" (跟蹤塊的建立刪除,replication變更),或者"all".

    • dfs.namenode.secondary.http-address=0.0.0.0:50090

      SNN的http服務地址。若是是0,服務將隨機選擇一個空閒端口。使用了HA後,就再也不使用SNN了

    • dfs.https.enable=FALSE

      容許HDFS支持HTTPS(SSL)。建議不支持

    • dfs.client.https.need-auth=FALSE

      安全選項,暫不關注

    • dfs.https.server.keystore.resource=ssl-server.xml

      安全選項,暫不關注

    • dfs.client.https.keystore.resource=ssl-client.xml

      安全選項,暫不關注

    • dfs.datanode.https.address=0.0.0.0:50475

      安全選項,暫不關注

    • dfs.namenode.https-address=0.0.0.0:50470

      安全選項,暫不關注

    • dfs.datanode.dns.interface=default

      DN彙報它的IP地址的網卡。咱們給DN指定了0.0.0.0之類的地址,這個地址須要被解析成對外地址,這裏指定的是網卡名,即那個網卡上綁定的IP是能夠對外的IP,通常的,默認值就足夠了

    • dfs.datanode.dns.nameserver=default

      DNS的域名或者IP地址。DN用它來肯定本身的域名,在對外聯繫和顯示時調用。通常的,默認值就足夠了

    • dfs.namenode.backup.address=0.0.0.0:50100

      NN的BK節點地址和端口,0表示隨機選用。使用HA,就不須要關注此選項了。建議不使用BK節點

    • dfs.namenode.backup.http-address=0.0.0.0:50105

      使用HA,就不須要關注此選項了。建議不使用BK節點

    • dfs.namenode.replication.considerLoad=true

      設定在選擇存放目標時是否考慮負載。須要

    • dfs.default.chunk.view.size=32768

      在瀏覽器中查看一個文件時,能夠看到的字節數。

    • dfs.namenode.name.dir=file://${hadoop.tmp.dir}/dfs/name

      本地磁盤目錄,NN存儲fsimage文件的地方。能夠是按逗號分隔的目錄列表,fsimage文件會存儲在所有目錄,冗餘安全。這裏多個目錄設定,最好在多個磁盤,另外,若是其中一個磁盤故障,不會致使系統故障,會跳過壞磁盤。因爲使用了HA,建議僅設置一個。若是特別在乎安全,能夠設置2個

    • dfs.namenode.fs-limits.max-component-length=0

      路徑中每一個部分的最大字節長度(目錄名,文件名的長度)。0表示不檢查長度。長文件名影響性能

    • dfs.namenode.fs-limits.max-directory-items=0

      設置每一個目錄最多擁有多少個子目錄或者文件。0表示無限制。同一目錄下子文件和目錄多影響性能

    • dfs.namenode.fs-limits.min-block-size=1048576

      最小的Block大小,字節。在NN建立時強制驗證。避免用戶設定太小的Block Size,致使過多的Block,這很是影響性能。

    • dfs.namenode.fs-limits.max-blocks-per-file=1048576

      每一個文件最大的Block數。在NN寫時強制檢查。用於防止建立超大文件。

    • dfs.block.access.token.enable=FALSE

      訪問DN時是否驗證訪問令牌。建議false,不檢查

    • dfs.block.access.key.update.interval=600

      安全選項,暫不關注

    • dfs.block.access.token.lifetime=600

      安全選項,暫不關注

    • dfs.datanode.data.dir.perm=700

      本地數據目錄權限設定。8進制或者符號方式均可以。

    • dfs.blockreport.intervalMsec=21600000

      數據塊彙報間隔,毫秒,默認是6小時。

    • dfs.blockreport.initialDelay=0

      第一次數據塊彙報時延遲,秒。目的是減輕NN壓力?

    • dfs.datanode.directoryscan.interval=21600

      DN的數據塊掃描間隔,秒。磁盤上數據和內存中數據調整一致。

    • dfs.datanode.directoryscan.threads=1

      線程池要有多少線程用來併發的壓縮磁盤的彙報數據。

    • dfs.namenode.safemode.min.datanodes=0

      NN收到回報的DN的數量的最小值,達不到此值,NN不退出安全模式。(在系統啓動時發生做用)。<=0的值表示不關心DN數量,在啓動時。大於DN實際數量的值會致使沒法離開安全模式。建議不設置此值

    • dfs.namenode.max.objects=0

      DFS支持的最大文件、目錄、數據塊數量。0無限制。

    • dfs.namenode.decommission.interval=30

      NN週期性檢查退役是否完成的間隔,秒。

    • dfs.namenode.decommission.nodes.per.interval=5

      NN檢查退役是否完成,每dfs.namenode.decommission.interval秒檢查的節點數量。

    • dfs.namenode.replication.interval=3

      NN週期性計算DN的副本狀況的頻率,秒。

    • dfs.namenode.accesstime.precision=3600000

      HDFS文件的訪問時間精確到此值,默認是1小時。0表示禁用訪問時間。

    • dfs.datanode.plugins=null

      DN上的插件列表,逗號分隔。

    • dfs.namenode.plugins=null

      NN上的插件列表,逗號分隔。

    • dfs.bytes-per-checksum=512

      每次計算校驗和的字節數。必定不能大於dfs.stream-buffer-size。

    • dfs.client-write-packet-size=65536

      客戶端寫數據時的包的大小。包是塊中的更小單位數據集合

    • dfs.client.write.exclude.nodes.cache.expiry.interval.millis=600000

      最大週期去讓DN保持在例外節點隊列中。毫秒。操過此週期,先前被排除的DN將被移除緩存並被嘗試再次申請Block。默認爲10分鐘。

    • dfs.namenode.checkpoint.dir=file://${hadoop.tmp.dir}/dfs/namesecondary

      本地文件系統中,DFS SNN應該在哪裏存放臨時[用於合併|合併後](to merge)的Image。若是是逗號分隔的目錄列表,Image文件存放多份。冗餘備份。建議不使用SNN功能,忽略此配置

    • dfs.namenode.checkpoint.edits.dir=${dfs.namenode.checkpoint.dir}

      建議不使用SNN功能,忽略此配置

    • dfs.namenode.checkpoint.period=3600

      建議不使用SNN功能,忽略此配置

    • dfs.namenode.checkpoint.txns=1000000

      建議不使用SNN功能,忽略此配置

    • dfs.namenode.checkpoint.check.period=60

      建議不使用SNN功能,忽略此配置

    • dfs.namenode.checkpoint.max-retries=3

      建議不使用SNN功能,忽略此配置

    • dfs.namenode.num.checkpoints.retained=2
      建議不使用SNN功能,忽略此配置

    • dfs.namenode.num.extra.edits.retained=1000000

      數量限制,額外的edits事務數。

    • dfs.namenode.max.extra.edits.segments.retained=10000

      extra edit日誌文件segments的最大數量。除了用於NN重啓時的最小edits文件以外。一個segments包含多個日誌文件

    • dfs.namenode.delegation.key.update-interval=86400000

      NN中更新主代理令牌的時間間隔,毫秒。安全選項,不關注

    • dfs.namenode.delegation.token.max-lifetime=604800000

      NN中更新主代理令牌的時間間隔,毫秒。安全選項,不關注

    • dfs.namenode.delegation.token.renew-interval=86400000

      NN中更新主代理令牌的時間間隔,毫秒。安全選項,不關注

    • dfs.image.compress=FALSE

      Image文件要壓縮嗎?

    • dfs.image.compression.codec=org.apache.hadoop.io.compress.DefaultCodec

      Image文件壓縮編碼。必須是在io.compression.codecs中定義的編碼。

    • dfs.image.transfer.timeout=600000

      Image文件傳輸時超時。HA方式使用不到,可不關注

    • dfs.image.transfer.bandwidthPerSec=0

      Image文件傳輸時可使用的最大帶寬,秒字節。0表示沒有限制。HA方式使用不到,可不關注

    • dfs.datanode.max.transfer.threads=4096

      = 舊參數 dfs.datanode.max.xcievers
      DN上傳送數據出入的最大線程數。

    • dfs.datanode.readahead.bytes=4193404

      預讀磁盤數據。若是Hadoop本地庫生效,DN能夠調用posix_fadvise系統獲取頁面數據到操做系統的緩存中。這個配置指定讀取當前讀取位置以前的字節數。設置爲0,取消此功能。無本地庫,此功能也無效。

    • dfs.datanode.drop.cache.behind.reads=FALSE

      在有些場景下,特別是對一些大的,而且不可能重用的數據,緩存在操做系統的緩存區是無用的。此時,DN能夠配置自動清理緩存區數據,在已經發生向客戶端以後。此功能自動失效,在讀取小數據片時。(例如HBase的隨機讀寫場景)。經過釋放緩存,這在某些場景下能夠提升性能。Hadoop本地庫無效,此功能無效。看起來是一個能夠嘗試的特性

    • dfs.datanode.drop.cache.behind.writes=FALSE

      同dfs.datanode.drop.cache.behind.reads類似。

    • dfs.datanode.sync.behind.writes=FALSE

      若是是true,在寫以後,DN將指示操做系統把隊列中數據所有當即寫磁盤。和經常使用的OS策略不一樣,它們可能在觸發寫磁盤以前等待30秒。Hadoop本地庫無效,此功能無效。

    • dfs.client.failover.sleep.base.millis=500

      專家設置。失敗重試間的等待時間,毫秒。這裏的值是個基本值,實際值會根據失敗/成功次數遞增/遞減50%。第一次失敗會當即重試。第二次將延遲至少dfs.client.failover.sleep.base.millis毫秒。依次類推。

    • dfs.client.failover.sleep.max.millis=15000

      專家設置。失敗重試見的等待時間最大值,毫秒。

    • dfs.ha.log-roll.period=120

      StandbyNode要求Active滾動EditLog,因爲StandBy只能從已經完成的Log Segments中讀,因此Standby上的數據新鮮程度依賴於以如何的頻率滾動日誌。秒。另外,故障轉移也會觸發一第二天志滾動,因此StandbyNode在Active以前,數據也會更新成最新的。秒,默認是2分鐘。

    • dfs.ha.tail-edits.period=60

      StandbyNode以此頻率檢測共享目錄中最新的日誌,秒。

    • dfs.ha.zkfc.port=8019

      zkfc的rpc端口

    • dfs.support.append=TRUE

      是否容許append。

    • dfs.client.use.datanode.hostname=FALSE

      是否客戶端應該使用DN的HostName,在鏈接DN時,默認是使用IP。

    • dfs.datanode.use.datanode.hostname=FALSE

      是否DN應該使用HostName鏈接其它DN,在數據傳輸時。默認是是IP。

    • dfs.client.local.interfaces=null

      逗號分隔的網卡列表,用於在客戶端和DN之間傳輸數據時。當建立鏈接時,客戶端隨機選擇一個並綁定它的socket到這個網卡的IP上。名字能夠以網卡名(例如 "eth0"), 子網卡名 (eg "eth0:0"), 或者IP地址(which may be specified using CIDR notation to match a range of IPs)。

    • dfs.namenode.kerberos.internal.spnego.principal=${dfs.web.authentication.kerberos.principal}

      安全選項,暫不關注

    • dfs.secondary.namenode.kerberos.internal.spnego.principal=${dfs.web.authentication.kerberos.principal}

      安全選項,暫不關注

    • dfs.namenode.avoid.read.stale.datanode=FALSE

      決定是否避開從髒DN上讀數據。髒DN指在一個指定的時間間隔內沒有收到心跳信息。髒DN將被移到能夠讀取節點列表的尾端。嘗試開啓

    • dfs.namenode.stale.datanode.interval=30000

      標記一個DN是髒的時間間隔。例如,若是NN在此設定的時間內沒有接收到來自某一個節點的心跳信息,此DN將被標記爲髒的。此間隔不能過小,不然容易致使被頻繁的標記爲髒DN。

      咱們建議是1分鐘

    • dfs.namenode.write.stale.datanode.ratio=0.5f

      當所有DN被標記爲髒DN的比率高於此閥值,中止不寫數據到髒DN的策略,以避免形成熱點問題(有效的,可寫的DN太少,壓力太大)。

    • dfs.namenode.invalidate.work.pct.per.iteration=0.32f

      高級屬性。改變需當心。

    • dfs.namenode.replication.work.multiplier.per.iteration=2

      高級屬性。改變需當心。

    • dfs.webhdfs.enabled=FALSE

      在NN和DN上開啓WebHDFS (REST API)功能。

      能夠開啓嘗試

    • hadoop.fuse.connection.timeout=300

      秒,在fuse_dfs中緩存libhdfs鏈接對象的超時時間。 小值使用內存小。大值能夠加快訪問,經過避開建立新的鏈接對象。

    • hadoop.fuse.timer.period=5

    • dfs.metrics.percentiles.intervals=null

      Comma-delimited set of integers denoting the desired rollover intervals (in seconds) for percentile latency metrics on the Namenode and Datanode. By default, percentile latency metrics are disabled.

    • dfs.encrypt.data.transfer=FALSE

      是否加密傳輸數據?僅須要配置在NN和DN。客戶端能夠自行判斷。

    • dfs.encrypt.data.transfer.algorithm=null

      能夠設置爲"3des"或"rc4"。不然使用默認的,一般是usually 3DES。3DES更安全,RC4更快。

    • dfs.datanode.hdfs-blocks-metadata.enabled=TRUE

      布爾值,設定後臺DN端是否支持DistributedFileSystem#getFileVBlockStorageLocations API。

    • dfs.client.file-block-storage-locations.num-threads=10

      在調用DistributedFileSystem#getFileBlockStorageLocations()的併發RPC的線程數

    • dfs.client.file-block-storage-locations.timeout=60

      Timeout (in seconds) for the parallel RPCs made in DistributedFileSystem#getFileBlockStorageLocations().

    • dfs.domain.socket.path=/var/run/hadoop-hdfs/dn._PORT

      可選選項。socket文件路徑,unix下。用來在DN和本地的HDFS客戶端加快網絡鏈接。若是字符串"_PORT"出如今路徑中,它將被DN的TCP端口替換。

    yarn-default.xml

    • yarn.app.mapreduce.am.env=null

      用戶爲MR AM添加環境變量。例如:

      1. A=foo 設置環境變量A爲foo

      2. B=$B:c 繼承並設置TT內的B變量

    • yarn.app.mapreduce.am.command-opts=-Xmx1024m

      MR AM的Java opts。以下符號會被替換:

      • @taskid@ 被替換成當前的TaskID。其它出現的'@'不會改變。例如,爲了讓gc日誌可以按task打印存儲在/tmp目錄,能夠設置'value'爲:-Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc

      • 若是hadoop本地庫可使用,使用-Djava.library.path參數可能形成程序的此功能無效。這個值應該被替換,設置在MR的JVM環境中LD_LIBRARY_PATH變量中,使用 mapreduce.map.env和mapreduce.reduce.env配置項。

    • yarn.app.mapreduce.am.resource.mb=1536

      AM申請的內存

    • yarn.resourcemanager.address=0.0.0.0:8032

      RM地址:端口

    • yarn.resourcemanager.scheduler.address=0.0.0.0:8030

      調度器地址:端口

    • yarn.admin.acl=*

      ACL中誰能夠管理YARN集羣

    • yarn.resourcemanager.admin.address=0.0.0.0:8033

      RM管理接口地址:端口

    • yarn.resourcemanager.am.max-retries=1

      AM重試最大次數。服務端參數。重啓生效。

      建議4

    • yarn.resourcemanager.nodes.include-path=null

      存儲有效節點列表的文件

    • yarn.resourcemanager.nodes.exclude-path=null

      存儲拒絕節點列表的文件。如和包含文件衝突,包含文件優先級高

    • yarn.resourcemanager.scheduler.class=org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler

      調度器實現類。

      建議使用公平調度器

    • yarn.scheduler.minimum-allocation-mb=1024

      每一個container想RM申請內存的最小大小。兆字節。內存請求小於此值,實際申請到的是此值大小。默認值偏大

    • yarn.scheduler.maximum-allocation-mb=8192

      每一個container向RM申請內存的最大大小,兆字節。申請值大於此值,將最多獲得此值內存。

    • yarn.resourcemanager.recovery.enabled=FALSE

      是否啓動RM的狀態恢復功能。若是true,必須指定yarn.resourcemanager.store.class。嘗試啓用

    • yarn.resourcemanager.store.class=null

      用於持久存儲的類。嘗試開啓

    • yarn.resourcemanager.max-completed-applications=10000

      RM中保存的最大完成的app數量。內存中存儲。

    • yarn.nodemanager.address=0.0.0.0:0

      NM中的container管理器的地址:端口

    • yarn.nodemanager.env-whitelist=JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,YARN_HOME

      container應該覆蓋而不是使用NM的環境變量名單。容許container本身配置的環境變量

    • yarn.nodemanager.delete.debug-delay-sec=0

      秒,一個app完成後,NM刪除服務將刪除app的本地文件目錄和日誌目錄。爲了診斷問題,把這個選項設置成足夠大的值(例如,設置爲10分鐘),能夠繼續訪問這些目錄。設置此選項,須要重啓NM。Yarn應用的工做目錄根路徑是yarn.nodemanager.local-dirs,Yarn應用日誌目錄的根路徑是yarn.nodemanager.log-dirs。

      調試問題時可用

    • yarn.nodemanager.local-dirs=${hadoop.tmp.dir}/nm-local-dir

      本地文件存儲目錄,列表。一個應用的本地文件目錄定位方式:${yarn.nodemanager.local-dirs}/usercache/${user}/appcache/application_${appid}。每一個container的工做目錄,是此目錄的子目錄,目錄名是container_${contid}。

      很是重要,建議配置多個磁盤,平衡IO。

    • yarn.nodemanager.log-dirs=${yarn.log.dir}/userlogs

      存儲container日誌的地方。一個應用的本地日誌目錄定位是:${yarn.nodemanager.log-dirs}/application_${appid}。每一個container的日誌目錄在此目錄下,名字是container_{$contid}。每一個container目錄中包含stderr, stdin, and syslog等container產生的文件

      很是重要,建議配置多個磁盤

    • yarn.log-aggregation-enable=FALSE

      是否容許日誌匯聚功能。建議開啓

    • yarn.log-aggregation.retain-seconds=-1

      保存匯聚日誌時間,秒,超過會刪除,-1表示不刪除。 注意,設置的太小,將致使NN垃圾碎片。建議3-7天 = 7 * 86400 = 604800

    • yarn.nodemanager.log.retain-seconds=10800

      保留用戶日誌的時間,秒。在日誌匯聚功能關閉時生效。

      建議7天

    • yarn.nodemanager.remote-app-log-dir=/tmp/logs

      匯聚日誌的地方,目錄路徑,HDFS系統。

      對於開了權限檢查的系統,注意權限問題。HDFS上。

    • yarn.nodemanager.remote-app-log-dir-suffix=logs

      匯聚日誌目錄路徑後綴。匯聚目錄建立在{yarn.nodemanager.remote-app-log-dir}/${user}/{thisParam}

    • yarn.nodemanager.resource.memory-mb=8192

      NM上能夠用於container申請的物理內存大小,MB。

    • yarn.nodemanager.vmem-pmem-ratio=2.1

      在設置container的內存限制時,虛擬內存到物理內存的比率。Container申請的內存若是超過此物理內存,能夠以此比率獲取虛擬內存用於知足需求。虛擬地址的是物理地址的倍數上限。建議設置的大點,例如:4.1,8.1,此虛擬內存並不是內存,而是佔用的虛擬地址。

    • yarn.nodemanager.webapp.address=0.0.0.0:8042

      NM的網頁界面地址和端口。

    • yarn.nodemanager.log-aggregation.compression-type=none

      匯聚日誌的壓縮類型。匯聚日誌是TFile格式文件。Hadoop-3315。可使用的值有none,lzo,gz等。

      能夠嘗試

    • yarn.nodemanager.aux-services=null

      請配置爲:mapreduce.shuffle,在Yarn上開啓MR的必須項

    • yarn.nodemanager.aux-services.mapreduce.shuffle.class=org.apache.hadoop.mapred.ShuffleHandler

      對應參考yarn.nodemanager.aux-services

    • mapreduce.job.jar=null

      Job客戶端參數。提交的job的jar文件。

    • mapreduce.job.hdfs-servers=${fs.defaultFS}

      Job客戶端參數。

    • yarn.application.classpath=$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/share/hadoop/common/,$HADOOP_COMMON_HOME/share/hadoop/common/lib/,$HADOOP_HDFS_HOME/share/hadoop/hdfs/,$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/,$YARN_HOME/share/hadoop/yarn/*,$YARN_HOME/share/hadoop/yarn/lib/*

      YARN應用的CLASSPATH,逗號分隔列表。

    • yarn.app.mapreduce.am.job.task.listener.thread-count=30

      MR AM處理RPC調用的線程數。

    • yarn.app.mapreduce.am.job.client.port-range=null

      MR AM可以綁定使用的端口範圍。例如:50000-50050,50100-50200。 若是你先要所有的有用端口,能夠留空(默認值null)。

    • yarn.app.mapreduce.am.job.committer.cancel-timeout=60000

      毫秒,若是job被kill了,等待output committer取消操做的時間。

    • yarn.app.mapreduce.am.scheduler.heartbeat.interval-ms=1000

      MR AM發送心跳到RM的時間間隔,毫秒

    • yarn.app.mapreduce.client-am.ipc.max-retries=3

      在從新鏈接RM獲取Application狀態前,客戶端重試鏈接AM的次數。

    • yarn.app.mapreduce.client.max-retries=3

      客戶端重連RM/HS/AM的次數。這是基於ipc接口上的規則

    • yarn.ipc.client.factory.class=null

      建立客戶端IPC類的工廠類

    • yarn.ipc.serializer.type=protocolbuffers

      使用哪一種序列化類

    • yarn.ipc.server.factory.class=null

      建立IPC服務類的工廠類

    • yarn.ipc.exception.factory.class=null

      建立IPC異常的工廠類

    • yarn.ipc.record.factory.class=null

      建立序列化記錄的工廠類

    • yarn.ipc.rpc.class=org.apache.hadoop.yarn.ipc.HadoopYarnProtoRPC

      RPC類實現類

    • yarn.resourcemanager.client.thread-count=50

      RM用來處理客戶端請求的線程數

    • yarn.am.liveness-monitor.expiry-interval-ms=600000

      AM報告間隔,毫秒。?

    • yarn.resourcemanager.principal=null

      安全選項

    • yarn.resourcemanager.scheduler.client.thread-count=50

      調度器用於處理請求的線程數

    • yarn.resourcemanager.webapp.address=0.0.0.0:8088

      RM的網頁接口地址:端口

    • yarn.resourcemanager.resource-tracker.address=0.0.0.0:8031

    • yarn.acl.enable=TRUE

      開啓訪問控制

    • yarn.resourcemanager.admin.client.thread-count=1

      RM管理端口處理事務的線程數

    • yarn.resourcemanager.amliveliness-monitor.interval-ms=1000

      RM檢查AM存活的間隔

    • yarn.resourcemanager.container.liveness-monitor.interval-ms=600000

      檢查container存活的時間間隔,毫秒。建議短一些,例如3分鐘

    • yarn.resourcemanager.keytab=/etc/krb5.keytab

      安全選項

    • yarn.nm.liveness-monitor.expiry-interval-ms=600000

      RM判斷NM死亡的時間間隔。
      非主動檢查,被動等待,不鏈接時間超過此值
      10分鐘無檢查到活動,斷定NM死亡

    • yarn.resourcemanager.nm.liveness-monitor.interval-ms=1000

      RM檢查NM存活的時間間隔。

    • yarn.resourcemanager.resource-tracker.client.thread-count=50

      處理資源跟蹤調用的線程數。?

    • yarn.resourcemanager.delayed.delegation-token.removal-interval-ms=30000

      安全選項

    • yarn.resourcemanager.application-tokens.master-key-rolling-interval-secs=86400

      安全選項

    • yarn.resourcemanager.container-tokens.master-key-rolling-interval-secs=86400

      安全選項

    • yarn.nodemanager.admin-env=MALLOC_ARENA_MAX=$MALLOC_ARENA_MAX

      應該從NM傳送到container的環境變量

    • yarn.nodemanager.container-executor.class=org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor

      啓動containers的類。

    • yarn.nodemanager.container-manager.thread-count=20

      用於container管理的線程數

    • yarn.nodemanager.delete.thread-count=4

    相關文章
    相關標籤/搜索