Hadoop --- 入門之配置引數
Hadoop引數彙總
@(hadoop)[配置]
linux引數
以下引數最好優化一下:
- 檔案描述符
ulimit -n
- 使用者最大程序 nproc (hbase需要 hbse book)
- 關閉swap分割槽
- 設定合理的預讀取緩衝區
- Linux的核心的IO排程器
JVM引數
Hadoop引數大全
適用版本:4.3.0
主要配置檔案:
-
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/[email protected]
安全選項。暫不關注
-
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)等待健康檢查、服務狀態的超時時間。
-
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 50075
-
ipcPort 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時有效。
- ALWAYS: 總是新增新的DN
- 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.app.mapreduce.am.env=null
使用者為MR AM新增環境變數。例如:
- A=foo 設定環境變數A為foo
- B=$B:c 繼承並設定TT內的B變數
-
yarn.app.mapreduce.am.command-opts=-Xmx1024m
MR AM的Java opts。如下符號會被替換:
- @[email protected] 被替換成當前的TaskID。其它出現的'@'不會改變。例如,為了讓gc日誌能夠按task列印儲存在/tmp目錄,可以設定'value'為:-Xmx1024m -verbose:gc -Xloggc:/tmp/@[email protected]
- 如果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
相關推薦
Hadoop --- 入門之配置引數
Hadoop引數彙總 @(hadoop)[配置] linux引數 以下引數最好優化一下: 檔案描述符ulimit -n 使用者最大程序 nproc (hbase需要 hbse book) 關閉swap分割槽 設定合理的預讀取緩衝區 Linux的核心的IO排
hadoop入門之使用hadoop
dfs mat format 啟動 初始化 格式 bin 變量 ado 首先啟動: 第一個啟動初始化 先hdfs格式化 bin 目錄下的 hadoop指令使用(上篇的最後已經添加到 環境變量中去了,修改完 一定接的source一下!!!!)
大數據hadoop入門之hadoop家族詳解
集成 查詢工具 人員 進一步 容錯 基礎知識 不同的 ima nbsp 大數據hadoop入門之hadoop家族詳解 大數據這個詞也許幾年前你聽著還會覺得陌生,但我相信你現在聽到hadoop這個詞的時候你應該都會覺得“熟悉”!越來越發現身邊從事hadoop開發或者是正在學習
Spring-boot入門之配置詳解
1.配置檔案 spring-boot預設有兩種配置檔案 appliation.properties appliation.yml 配置檔案預設放在src/main/resources目錄或者是類路徑/config下 配置檔案的作用:修改sprin
Struts2的入門之配置檔案和傳值問題
struts-base.xml檔案詳解這是struts2的基礎配置檔案必須的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD
Hibernate的入門之配置檔案和增刪改查
首先使用maven匯入jar包,然後配置主xml檔案 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Confi
Spring Boot 入門之配置基礎
原文地址:Spring Boot 入門之基礎篇(一) 部落格地址:http://www.extlight.com 一、前言 Spring Boot 是由 Pivotal 團隊提供的全新框架,其設計目的是用來簡化新 Spring 應用的初始搭建以及開發過程。該框架使用了特定的方式
hadoop入門之海量Web日誌分析 用Hadoop提取KPI統計指標
轉載自:http://blog.fens.me/hadoop-mapreduce-log-kpi/ 今天學習了這一篇部落格,寫得十分好,照著這篇部落格敲了一遍。 發現幾個問題, 一是這篇部落格中採用的hadoop版本過低,如果在hadoop2.x上面跑的話,可能會出現結果檔案沒有寫入任何資料,為了解決這
Hadoop --- 入門之shell命令
目錄 FS Shell 呼叫檔案系統(FS)Shell命令應使用 bin/hadoop fs <args>的形式。 所有的的FS shell命令使用URI路徑作為引數。URI格式是scheme://authority/path。對HDFS檔案系統,
Hadoop入門基礎配置(二)
Hadoop入門基礎配置<二> 本文為博主學習整理原創文章,如有不正之處請多多指教。 HDFS介面介紹 簡單的SHELL命令 檢視根目錄的目錄和檔案 hadoop fs -ls / 列出HDFS系統下所有的目錄和檔案 hadoop f
springcloud入門之配置中心
開發分散式系統如果還是各個服務配置檔案單獨配置肯定是不行的,springcloud使用的解決方案是搭建配置中心將並指定一個配置檔案路徑如git專案對配置檔案進行統一管理。 在Spring Cloud中,提供了分散式配置中心元件spring cloud conf
hadoop入門之通過java程式碼實現將本地檔案上傳到hadoop的檔案系統
package upload;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.URI
Hadoop入門-1.配置部署啟動(基於hadoop-2.7.3)
1.準備 1.下載 hadoop-2.5.2.tar.gz 免安裝包到指定的目錄 2.執行命令: tar -zxvf hadoop-2.5.2.tar.gz 解壓目錄 2.配置 1.切換到指定的目錄: cd $HADOOP_HOME/etc/hadoop 2.對相關的配置檔
Android-x86入門之--啟動引數設定
之前的文章裡面我也有提到解析度的設定,這裡就詳細說下。 Android-x86啟動的時候有四個選項,大家都知道,第一個是高密度,第二個是低密度,兩個啟動之後的效果是不一樣的,一個圖示大,一個小,在虛擬機器上可能還沒有太大的影響,但是如果你在真機上試的話,那效果不是差了一點點。 個人是比較圖示比較小
Hadoop入門之Hadoop偽分散式環境搭建
在配置Hadoop環境前,應該在Linux環境中先配置JAVA環境變數,SSH免密登入。如果沒有SSH免密登入,在分散式環境下,就會重複很多次輸入密碼的動作。 1.在Hadoop包根目錄下,編輯檔案 etc/hadoop/hadoop-env.sh,更改: export
Hadoop --- 入門之HDFS的JAVA API操作
JAR準備: 將hadoop-2.8.0中share目錄下的jar包新增到工程中: common下的hadoop-common-2.8.0.jar common/lib下的所有jar hdfs下的hadoop-hdfs-2.8.0.jar hdfs/lib下的所有j
Ambari搭建Hadoop叢集之配置SSH免密登入
Ambari搭建Hadoop叢集時為了實現叢集之間的主機進行快速的聯機,我們需要對叢集的虛擬機器進行免密登入配置。下面來說說具體步驟。 前提:3臺虛擬機器。 1.修改主機名 a)首先root許可權下分別對3臺虛擬機器進行修改。修改的命令如下: sudo hostnam
Elasticsearch筆記四之配置引數與核心概念
在es根目錄下有一個config目錄,在此目錄下有兩個檔案分別是elasticsearch.yml和logging.yml。 logging.yml是日誌檔案,es也是使用log4j來記錄日誌的,我在此檔案中配置日誌級別。 elastic
hadoop 簡單入門與streaming常用配置引數說明
1. Hadoop包含兩核心部分 hdfs Hadoop distribute file system -- hadoop分散式檔案系統,儲存資料 Namenode、Datanode 常用命令形式:hadoop fs -ls / hadoop fs -mkdi
hadoop入門系列之三【hadoop的安裝與配置】
在master上執行 #格式化namenode操作 [[email protected] hadoop]$ hdfs namenode -format 15/06/26 19:38:57 INFO namenode.NameNode: STARTUP_MSG: /****************