Hadoop實戰-中高階部分 之 Hadoop HA
阿新 • • 發佈:2019-01-27
•hadoop.security.authorization
•預設值 false
• 是不是要開啟 賬號驗證機制,開啟之後 Hadoop
在執行任何動作之前都會先確認是否有許可權。詳細的許可權設定會放在 hadoop-policy.xml 裡。例如要讓 fenriswolf 這個
account 及 mapreduce group 可以 submit M/R
jobs,要設定security.job.submission.protocol.acl
•hadoop.security.authentication
•預設值 simple
• simple 表示沒有 authentication,Hadoop 會用 system account 及 group 來控管q許可權。另外可以指定為 kerberos
,
這部分相對比較複雜,要有一個 kerberos server 併產生 account keytab,在執行任何操作前 client 要先用
kinit 指令對 kerberos server 認證,之後的任何操作都是以 kerberos account 來執行。
•fs.trash.interval
•預設值 0(分)
•清掉垃圾筒的時間。預設是不清, 所以在刪除檔案時要自己執行
•hadoop.native.lib
•預設值 true
• 預設 Hadoop 會去找所有可用的 native libraries 並自動 load 進來使用,例如壓縮類的 libraries 像 GZIP, LZO 等等。
第二部分:hdfs-site.xml
引數列表
•dfs.block.size
•預設值67108864(位元組)
•預設每個 block 是 64MB。如果確定存取的檔案塊都很大可以改為 134217728(128MB)。Client 也可自行決定要使用的 block size 而不需要更改整個 cluster 的設定。
•dfs.safemode.threshold.pct
•預設值 0.999f
• Hadoop 啟動時會進入 safe mode,也就是安全模式,這時是不能寫入資料的。只有當99.9% 的
blocks 達到最小的 dfs.replication.min 數量(預設是3)才會離開safe mode。在
dfs.replication.min 設的比較大或 data nodes 數量比較多時會等比較久。
•dfs.namenode.handler.count
•預設值 10
• 設定 namenode server threads 的數量,這些 threads 會用 RPC 跟其他的
datanodes 溝通。當 datanodes 數量太多時會發現很容易出現 RPC
timeout,解決方法是提升網路速度或提高這個值,但要注意的是 thread 數量多也表示 namenode 消耗的記憶體也隨著增加
•dfs.datanode.handler.count
•預設值 3
• 指定 data node 上用的 thread 數量。
•dfs.datanode.max.xcievers
•預設值 256
•這個值是指定 datanode 可同時處理的最大檔案數量、
•dfs.datanode.du.reserved
•預設值 0
•預設值表示 data nodes 會使用整個 磁碟,寫滿之後會導致無法再寫入 M/R jobs。如果還有其他程式共用這些目錄也會受到影響。建議保留至少 1073741824(1G) 的空間。
第三部分:mapred-site.xml
引數列表
•io.sort.mb
•預設值100
•快取map中間結果的buffer大小(in MB)
•io.sort.record.percent
•預設值 0.05
•io.sort.mb中用來儲存map output記錄邊界的百分比,其他快取用來儲存資料
•io.sort.spill.percent
•預設值0.80
•map開始做spill操作的閾值
•io.sort.factor
•預設值 10
•做merge操作時同時操作的stream數上限。
•min.num.spill.for.combine
•預設值3
•combiner函式執行的最小spill數
•mapred.compress.map.output
•預設值 false
•map中間結果是否採用壓縮
•mapred.map.output.compression.codec
•org.apache.hadoop.io.compress.DefaultCodec
•min.num.spill.for.combine
•預設值3
•combiner函式執行的最小spill數
•mapred.compress.map.output
•預設值 false
•map中間結果是否採用壓縮
•mapred.map.output.compression.codec
•org.apache.hadoop.io.compress.DefaultCodec
•mapred.reduce.parallel.copies
•預設值5
•每個reduce並行下載map結果的最大執行緒數
•mapred.reduce.copy.backoff
•預設值 300
•reduce下載執行緒最大等待時間(in sec)
•io.sort.factor
•預設值10
•org.apache.hadoop.io.compress.DefaultCodec
•mapred.job.shuffle.input.buffer.percent
•預設值0.7
•用來快取shuffle資料的reduce task heap百分比
•mapred.job.shuffle.merge.percent
•預設值 0.66
•快取的記憶體中多少百分比後開始做merge操作
•mapred.job.reduce.input.buffer.percent
•預設值0.0
•sort完成後reduce計算階段用來快取資料的百分比