HDFS之三:hdfs參數配置詳解


 1、hdfs-site.xml 參數配置

 

– dfs.name.dir

– NameNode 元數據存放位置

– 默認值:使用core-site.xml中的hadoop.tmp.dir/dfs/name

– dfs.block.size

– 對於新文件切分的大小,單位byte。默認是64M,建議是128M。每一個節點都要指定,包括客戶端。

– 默認值:67108864

– dfs.data.dir

– DataNode在本地磁盤存放block的位置,可以是以逗號分隔的目錄列表,DataNode循環向磁盤中寫入數據,每個DataNode可單獨指定與其它DataNode不一樣

– 默認值:${hadoop.tmp.dir}/dfs/data

– dfs.namenode.handler.count

– NameNode用來處理來自DataNode的RPC請求的線程數量 

– 建議設置為DataNode數量的10%,一般在10~200個之間 

– 如設置太小,DataNode在傳輸數據的時候日志中會報告“connecton refused"信息 

– 在NameNode上設定

– 默認值:10

– dfs.datanode.handler.count

– DataNode用來連接NameNode的RPC請求的線程數量

– 取決於系統的繁忙程度 

– 設置太小會導致性能下降甚至報錯

– 在DataNode上設定

– 默認值:3

– dfs.datanode.max.xcievers

– DataNode可以同時處理的數據傳輸連接數 

– 默認值:256

– 建議值:4096

– dfs.permissions

– 如果是true則檢查權限,否則不檢查(每一個人都可以存取文件) 

– 於NameNode上設定

– 默認值:true

– dfs.datanode.du.reserved

– 在每個卷上面HDFS不能使用的空間大小 

– 在每個DataNode上面設定

– 默認值:0

– 建議為10737418240,即10G。需要結合MapReduce場景設置。 

– dfs.datanode.failed.volumes.tolerated

– DataNode可以容忍損塊的磁盤數量,超過這個數量DataNode將會離線,所有在這個節點上面的block將會被重新復制 

– 默認是0,但是在有多塊磁盤的時候一般會增大這個值

– dfs.replication

– 在文件被寫入的時候,每一塊將要被復制多少份 

– 默認是3份。建議3份 

– 在客戶端上設定 

通常也需要在DataNode上設定

 

2、HDFS core-site.xml 參數配置

– fs.default.name

– 文件系統的名字。通常是NameNode的hostname與port

– 需要在每一個需要訪問集群的機器上指定,包括集群中的節點 

– 例如:hdfs://<your_namenode>:9000/

– fs.checkpoint.dir

– 以逗號分隔的文件夾列表,SecondNameNode用來存儲checkpoint image文件 

– 如果多於一個文件夾,那么都會被寫入數據 

– 需要在SecondNameNode上設定

– 默認值:${hadoop.tmp.dir}/dfs/namesecondary

– hadoop.tmp.dir

– HDFS與本地磁盤的臨時文件 

默認是/tmp/hadoop-${user.name}.需要在所有的節點中設定

– fs.trash.interval

– 當一個文件被刪掉后,它會被放到用戶目錄的.Trash目錄下,而不是立即刪掉 

– 經過此參數設置的分鍾數之后,再刪掉數據 

– 默認是0,禁用此功能,建議1440(一天)

– io.file.buffer.size

– 設定在讀寫數據時的緩存大小,應該為硬件分頁大小的2倍 

– 默認是4096,建議為65536 ( 64K) 

3、設置log文件的大小和數量

 

– 修改core-site.xml中的參數 

– hadoop.logfile.size

– hadoop.logfile.count

4、設置組件的日志級別

 

• 查看不同組件的日志級別 

– hadoop daemonlog -getlevel host:port packageName

• 設置組件的日志級別

– hadoop daemonlog –setlevle  host:port packageName level

– hadoop daemonlog -setlevel db74:50070 org.apache.hadoop ERROR

• DEBUG, INFO, ERROR, FATAL

–  端口為前台頁面的端口,缺省為50070

• 組件名稱(packageName)

–  org.apache.hadoop.hdfs.server.namenode.NameNode 

–  org.apache.hadoop.hdfs.server.datanode.DataNode

–  org.apache.hadoop.hdfs 

–  org.apache.hadoop

– org.apache.hadoop.mapred.JobTracker

重要程度由低到高依次為DEBUG < INFO < WARN < ERROR < FATAL。日志輸出規則為:只輸出級別不低於設定級別的日志信息。比如,級別設定為INFO,則INFO、WARN、ERROR和FATAL 級別的日志信息都會被輸出,但級別比INFO 低的DEBUG 則不會被輸出。DEBUG為測試,INFO為默認,一般生產用,ERROR錯誤,

5、hdfs的進程節點

1.namenode

記錄源數據的命名空間

數據分配到那些datanode保存

協調客戶端對文件訪問

2.datanode

負責所在物理節點的儲存管理

一次寫入,多次讀取(不能修改)

文件由數據塊組成,典型的塊大小是64M

數據塊盡量散步到各個節點

3.secondarynamenode (輔助)

當NameNode重啟的時候,會合並硬盤上的fsimage文件和edits文件,得到完整的Metadata信息。這個fsimage文件可以看做是一個過時的Metadata信息文件(最新的Metadata修改信息在edits文件中)。

如果edits文件非常大,那么這個合並過程就非常慢,導致HDFS長時間無法啟動,如果定時將edits文件合並到fsimage,那么重啟NameNode就可以非常快。

SecondaryNameNode就做這個合並的工作。

6、hdfs的回收站功能

 

刪除文件時,其實是放入回收站/trash ,回收站里的文件可以快速恢復

可以設置一個時間閾值,當回收站里文件的存放時間超過這個閾值,就被徹底刪除, 並且釋放占用的數據塊 

 

(開啟回收站功能)

[hadoop@h1 ~]$ cd /usr/local/hadoop-1.2.1/conf
[hadoop@h1 conf]$ vi core-site.xml  (添加下面一段,10080為保留時間,單位分鍾)

<property>
<name>fs.trash.interval</name>
<value>10080</value>
<description>
Number of minutes between trashcheckpoints. 
If zero, the trash feature is disabted
</description>
</property>
[hadoop@h1 hadoop-1.2.1]$ bin/start-all.sh (重啟 回收站功能生效)

 hdfs 常用端口和 hdfs-default配置文件參數的意義

剛配置完Hadoop1.0.4發現對配置文件還是不太了解,就baidu了下,跟大家分享下  。常用的端口配置1  HDFS端口

 

參數 描述 默認 配置文件 例子值
fs.default.name namenode namenode RPC交互端口 8020 core-site.xml hdfs://master:8020/
dfs.http.address  NameNode web管理端口 50070 hdfs- site.xml 0.0.0.0:50070
dfs.datanode.address datanode 控制端口 50010  hdfs -site.xml  0.0.0.0:50010
dfs.datanode.ipc.address datanode的RPC服務器地址和端口 50020 hdfs-site.xml 0.0.0.0:50020
dfs.datanode.http.address datanode的HTTP服務器和端口 50075 hdfs-site.xml  0.0.0.0:50075

 

2  MR端口

參數 描述 默認 配置文件 例子值
mapred.job.tracker job-tracker交互端口  8021 mapred-site.xml hdfs://master:8021/
job tracker的web管理端口 50030 mapred-site.xml 0.0.0.0:50030
mapred.task.tracker.http.address task-tracker的HTTP端口 50060 mapred-site.xml 0.0.0.0:50060

 

 

3  其它端口

參數 描述 默認 配置文件 例子值
dfs.secondary.http.address secondary NameNode web管理端口 50090 hdfs-site.xml 0.0.0.0:50090
         
         

 



 

 

 

4  hdfs-default.html

 

 

序號 參數名 參數值 參數說明
1 dfs.namenode.logging.level        info          輸出日志類型
2 dfs.secondary.http.address        0.0.0.0:50090 備份名稱節點的http協議訪問地址與端口                                                                                    
3 dfs.datanode.address              0.0.0.0:50010 數據節點的TCP管理服務地址和端口
4 dfs.datanode.http.address         0.0.0.0:50075 數據節點的HTTP協議訪問地址和端口
5 dfs.datanode.ipc.address          0.0.0.0:50020 數據節點的IPC服務訪問地址和端口
6 dfs.datanode.handler.count        3              數據節點的服務連接處理線程數
7 dfs.http.address                  0.0.0.0:50070 名稱節點的http協議訪問地址與端口
8 dfs.https.enable                  false         支持https訪問方式標識
9 dfs.https.need.client.auth        false         客戶端指定https訪問標識
10 dfs.https.server.keystore.resource ssl-server.xml Ssl密鑰服務端的配置文件
11 dfs.https.client.keystore.resource ssl-client.xml Ssl密鑰客戶端的配置文件
12 dfs.datanode.https.address        0.0.0.0:50475 數據節點的HTTPS協議訪問地址和端口
13 dfs.https.address                 0.0.0.0:50470 名稱節點的HTTPS協議訪問地址和端口
14 dfs.datanode.dns.interface        default       數據節點采用IP地址標識
15 dfs.datanode.dns.nameserver       default       指定DNS的IP地址
16 dfs.replication.considerLoad      true          加載目標或不加載的標識
17 dfs.default.chunk.view.size       32768          瀏覽時的文件塊大小設置為32K
18 dfs.datanode.du.reserved          0             每個卷預留的空閑空間數量
19 dfs.name.dir                      ${hadoop.tmp.dir}/dfs/name 存貯在本地的名字節點數據鏡象的目錄,作為名字節點的冗余備份
20 dfs.name.edits.dir                ${dfs.name.dir}           存貯文件操作過程信息的存貯目錄
21 dfs.web.ugi                       webuser,webgroup          Web接口訪問的用戶名和組的帳戶設定
22 dfs.permissions                   true                      文件操作時的權限檢查標識。
23 dfs.permissions.supergroup        supergroup                超級用戶的組名定義
24 dfs.block.access.token.enable     false                     數據節點訪問令牌標識
25 dfs.block.access.key.update.interval 600                       升級訪問鑰時的間隔時間
26 dfs.block.access.token.lifetime     600                       訪問令牌的有效時間
27 dfs.data.dir                         ${hadoop.tmp.dir}/dfs/data 數據節點的塊本地存放目錄
28 dfs.datanode.data.dir.perm          755                       數據節點的存貯塊的目錄訪問權限設置
29 dfs.replication                     3                         缺省的塊復制數量
30 dfs.replication.max                  512                       塊復制的最大數量
31 dfs.replication.min                 1                         塊復制的最小數量 
32 dfs.block.size                      67108864                  缺省的文件塊大小為64M
33 dfs.df.interval                     60000                      磁盤空間統計間隔為6秒
34 dfs.client.block.write.retries      3                         塊寫入出錯時的重試次數
35 dfs.blockreport.intervalMsec        3600000                   塊的報告間隔時為1小時
36 dfs.blockreport.initialDelay        0                         塊順序報告的間隔時間
37 dfs.heartbeat.interval              3                         數據節點的心跳檢測間隔時間
38 dfs.namenode.handler.count          10                        名稱節點的連接處理的線程數量
39 dfs.safemode.threshold.pct          0.999f                    啟動安全模式的閥值設定

40 dfs.safemode.extension              30000                     當閥值達到量值后擴展的時限
41 dfs.balance.bandwidthPerSec         1048576                   啟動負載均衡的數據節點可利用帶寬最大值為1M
42 dfs.hosts                             可與名稱節點連接的主機地址文件指定。
43 dfs.hosts.exclude                     不充計與名稱節點連接的主機地址文件設定
44 dfs.max.objects                     0 文件數、目錄數、塊數的最大數量
45 dfs.namenode.decommission.interval  30 名稱節點解除命令執行時的監測時間周期
46 dfs.namenode.decommission.nodes.per.interval 5        名稱節點解除命令執行是否完檢測次數
47 dfs.replication.interval                    3        名稱節點計算數據節點的復制工作的周期數.
48 dfs.access.time.precision                   3600000  充許訪問文件的時間精確到1小時
49 dfs.support.append                          false    是否充許鏈接文件指定
50 dfs.namenode.delegation.key.update-interval 86400000 名稱節點上的代理令牌的主key的更新間隔時間為24小時
51 dfs.namenode.delegation.token.max-lifetime  604800000 代理令牌的有效時間最大值為7天
52 dfs.namenode.delegation.token.renew-interval 86400000 代理令牌的更新時間為24小時
53 dfs.datanode.failed.volumes.tolerated       0        決定停止數據節點提供服務充許卷的出錯次數。0次則任何卷出錯都要停止數據節點


免責聲明!

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



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