hadoop配置檔案屬性解釋
2、mapred.local.dir:儲存作業中間資料的目錄,作業終止時,目錄被清空,以逗號分隔多個目錄
3、mapred.system.dir:作業執行期間儲存共享檔案的位置,相對於fs.default.name,預設是${hadoop.tmp.dir}/mapred/system
4、mapred.tasktracker.map.tasks.maximum:同一時間允許執行的最大map任務數,預設為2
mapred.tasktracker.reduce.tasks.maximum:同一時間允許執行的最大map任務數,預設為2
5、mapred.child.java.opts:每個map/reduce任務的JVM內容容量,預設為-Xmx200m
八、常用的埠配置
RPC埠均用於給外部提供遠端呼叫的埠。HTTP埠用於提供以頁面形式檢視叢集內容。
1 HDFS埠
引數 | 描述 | 預設 | 配置檔案 | 例子值 |
fs.default.name | namenode RPC互動埠 | 9000 | core-site.xml | hdfs://master:9000/ |
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互動埠 | 9001 | mapred-site.xml | master:9001/ |
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 |
core-site.xml
name | value | Description |
fs.default.name | hdfs://hadoopmaster:9000 | 定義HadoopMaster的URI和埠 |
fs.checkpoint.dir | /opt/data/hadoop1/hdfs/namesecondary1 | 定義hadoop的name備份的路徑,官方文件說是讀取這個,寫入dfs.name.dir |
fs.checkpoint.period | 1800 | 定義name備份的備份間隔時間,秒為單位,只對snn生效,預設一小時 |
fs.checkpoint.size | 33554432 | 以日誌大小間隔做備份間隔,只對snn生效,預設64M |
io.compression.codecs |
org.apache.hadoop.io.compress.DefaultCodec, |
Hadoop所使用的編解碼器,gzip和bzip2為自帶,lzo需安裝hadoopgpl或者kevinweil,逗號分隔,snappy也需要單獨安裝 |
io.compression.codec.lzo.class | com.hadoop.compression.lzo.LzoCodec | LZO所使用的壓縮編碼器 |
topology.script.file.name | /hadoop/bin/RackAware.py | 機架感知指令碼位置 |
topology.script.number.args | 1000 | 機架感知指令碼管理的主機數,IP地址 |
fs.trash.interval | 10800 | HDFS垃圾箱設定,可以恢復誤刪除,分鐘數,0為禁用,新增該項無需重啟hadoop |
hadoop.http.filter.initializers |
org.apache.hadoop.security. |
需要jobtracker,tasktracker |
hadoop.http.authentication.type | simple | kerberos | #AUTHENTICATION_HANDLER_CLASSNAME# | 驗證方式,預設為簡單,也可自己定義class,需配置所有節點 |
hadoop.http.authentication. token.validity (排版調整,實際配置不要回車) |
36000 | 驗證令牌的有效時間,需配置所有節點 |
hadoop.http.authentication. signature.secret (排版調整,實際配置不要回車) |
預設可不寫引數 | 預設不寫在hadoop啟動時自動生成私密簽名,需配置所有節點 |
hadoop.http.authentication.cookie.domain | domian.tld | http驗證所使用的cookie的域名,IP地址訪問則該項無效,必須給所有節點都配置域名才可以。 |
hadoop.http.authentication. simple.anonymous.allowed (排版調整,實際配置不要回車) |
true | false | 簡單驗證專用,預設允許匿名訪問,true |
hadoop.http.authentication. |
HTTP/[email protected]$LOCALHOST | Kerberos驗證專用,參加認證的實體機必須使用HTTP作為K的Name |
hadoop.http.authentication. kerberos.keytab (排版調整,實際配置不要回車) |
/home/xianglei/hadoop.keytab | Kerberos驗證專用,金鑰檔案存放位置 |
hadoop.security.authorization | true|false | Hadoop服務層級驗證安全驗證,需配合hadoop-policy.xml使用,配置好以後用dfsadmin,mradmin -refreshServiceAcl重新整理生效 |
io.file.buffer.size | 131072 | 用作序列化檔案處理時讀寫buffer的大小 |
hadoop.security.authentication | simple | kerberos | hadoop本身的許可權驗證,非http訪問,simple或者kerberos |
hadoop.logfile.size | 1000000000 | 設定日誌檔案大小,超過則滾動新日誌 |
hadoop.logfile.count | 20 | 最大日誌數 |
io.bytes.per.checksum | 1024 | 每校驗碼所校驗的位元組數,不要大於io.file.buffer.size |
io.skip.checksum.errors | true | false | 處理序列化檔案時跳過校驗碼錯誤,不拋異常。預設false |
io.serializations |
org.apache.hadoop.io. (排版需要。實際配置不要回車) |
序列化的編解碼器 |
io.seqfile.compress.blocksize | 1024000 | 塊壓縮的序列化檔案的最小塊大小,位元組 |
webinterface.private.actions | true | false | 設為true,則JT和NN的tracker網頁會出現殺任務刪檔案等操作連線,預設是false |
hdfs-site.xml
name | value | Description |
dfs.default.chunk.view.size | 32768 | namenode的http訪問頁面中針對每個檔案的內容顯示大小,通常無需設定。 |
dfs.datanode.du.reserved | 1073741824 | 每塊磁碟所保留的空間大小,需要設定一些,主要是給非hdfs檔案使用,預設是不保留,0位元組 |
dfs.name.dir | /opt/data1/hdfs/name, /opt/data2/hdfs/name, /nfs/data/hdfs/name |
NN所使用的元資料儲存,一般建議在nfs上保留一份,作為1.0的HA方案使用,也可以在一臺伺服器的多塊硬碟上使用 |
dfs.web.ugi | nobody,nobody | NN,JT等所使用的web tracker頁面伺服器所使用的使用者和組 |
dfs.permissions | true | false | dfs許可權是否開啟,我一般設定false,通過開發工具培訓別人介面操作避免誤操作,設定為true有時候會遇到資料因為許可權訪問不了。 |
dfs.permissions.supergroup | supergroup | 設定hdfs超級許可權的組,預設是supergroup,啟動hadoop所使用的使用者通常是superuser。 |
dfs.data.dir | /opt/data1/hdfs/data, /opt/data2/hdfs/data, /opt/data3/hdfs/data, ... |
真正的datanode資料儲存路徑,可以寫多塊硬碟,逗號分隔 |
dfs.datanode.data.dir.perm | 755 | datanode所使用的本地資料夾的路徑許可權,預設755 |
dfs.replication | 3 | hdfs資料塊的複製份數,預設3,理論上份數越多跑數速度越快,但是需要的儲存空間也更多。有錢人可以調5或者6 |
dfs.replication.max | 512 | 有時dn臨時故障恢復後會導致資料超過預設備份數。複製份數的最多數,通常沒什麼用,不用寫配置檔案裡。 |
dfs.replication.min | 1 | 最小份數,作用同上。 |
dfs.block.size | 134217728 | 每個檔案塊的大小,我們用128M,預設是64M。這個計算需要128*1024^2,我碰上過有人直接寫128000000,十分浪漫。 |
dfs.df.interval | 60000 | 磁碟用量統計自動重新整理時間,單位是毫秒。 |
dfs.client.block.write.retries | 3 | 資料塊寫入的最多重試次數,在此次數之前不會捕獲失敗。 |
dfs.heartbeat.interval | 3 | DN的心跳檢測時間間隔。秒 |
dfs.namenode.handler.count | 10 | NN啟動後展開的執行緒數。 |
dfs.balance.bandwidthPerSec | 1048576 | 做balance時所使用的每秒最大頻寬,使用位元組作為單位,而不是bit |
dfs.hosts | /opt/hadoop/conf/hosts.allow | 一個主機名列表檔案,這裡的主機是允許連線NN的,必須寫絕對路徑,檔案內容為空則認為全都可以。 |
dfs.hosts.exclude | /opt/hadoop/conf/hosts.deny | 基本原理同上,只不過這裡放的是禁止訪問NN的主機名稱列表。這在從叢集中摘除DN會比較有用。 |
dfs.max.objects | 0 | dfs最大併發物件數,HDFS中的檔案,目錄塊都會被認為是一個物件。0表示不限制 |
dfs.replication.interval | 3 | NN計算複製塊的內部間隔時間,通常不需寫入配置檔案。預設就好 |
dfs.support.append | true | false | 新的hadoop支援了檔案的APPEND操作,這個就是控制是否允許檔案APPEND的,但是預設是false,理由是追加還有bug。 |
dfs.datanode.failed.volumes.tolerated | 0 | 能夠導致DN掛掉的壞硬碟最大數,預設0就是隻要有1個硬碟壞了,DN就會shutdown。 |
dfs.secondary.http.address | 0.0.0.0:50090 | SNN的tracker頁面監聽地址和埠 |
dfs.datanode.address | 0.0.0.0:50010 | DN的服務監聽埠,埠為0的話會隨機監聽埠,通過心跳通知NN |
dfs.datanode.http.address | 0.0.0.0:50075 | DN的tracker頁面監聽地址和埠 |
dfs.datanode.ipc.address | 0.0.0.0:50020 | DN的IPC監聽埠,寫0的話監聽在隨機埠通過心跳傳輸給NN |
dfs.datanode.handler.count | 3 | DN啟動的服務執行緒數 |
dfs.http.address | 0.0.0.0:50070 | NN的tracker頁面監聽地址和埠 |
dfs.https.enable | true | false | NN的tracker是否監聽在HTTPS協議,預設false |
dfs.datanode.https.address | 0.0.0.0:50475 | DN的HTTPS的tracker頁面監聽地址和埠 |
dfs.https.address | 0.0.0.0:50470 | NN的HTTPS的tracker頁面監聽地址和埠 |
dfs.datanode.max.xcievers | 2048 | 相當於linux下的開啟檔案最大數量,文件中無此引數,當出現DataXceiver報錯的時候,需要調大。預設256 |
mapred-site.xml
name | value | Description |
hadoop.job.history.location | job歷史檔案儲存路徑,無可配置引數,也不用寫在配置檔案裡,預設在logs的history資料夾下。 | |
hadoop.job.history.user.location | 使用者歷史檔案存放位置 | |
io.sort.factor | 30 | 這裡處理流合併時的檔案排序數,我理解為排序時開啟的檔案數 |
io.sort.mb | 600 | 排序所使用的記憶體數量,單位兆,預設1,我記得是不能超過mapred.child.java.opt設定,否則會OOM |
mapred.job.tracker | hadoopmaster:9001 | 連線jobtrack伺服器的配置項,預設不寫是local,map數1,reduce數1 |
mapred.job.tracker.http.address | 0.0.0.0:50030 | jobtracker的tracker頁面服務監聽地址 |
mapred.job.tracker.handler.count | 15 | jobtracker服務的執行緒數 |
mapred.task.tracker.report.address | 127.0.0.1:0 | tasktracker監聽的伺服器,無需配置,且官方不建議自行修改 |
mapred.local.dir | /data1/hdfs/mapred/local, /data2/hdfs/mapred/local, ... |
mapred做本地計算所使用的資料夾,可以配置多塊硬碟,逗號分隔 |
mapred.system.dir | /data1/hdfs/mapred/system, /data2/hdfs/mapred/system, ... |
mapred存放控制檔案所使用的資料夾,可配置多塊硬碟,逗號分隔。 |
mapred.temp.dir | /data1/hdfs/mapred/temp, /data2/hdfs/mapred/temp, ... |
mapred共享的臨時資料夾路徑,解釋同上。 |
mapred.local.dir.minspacestart | 1073741824 | 本地運算資料夾剩餘空間低於該值則不在本地做計算。位元組配置,預設0 |
mapred.local.dir.minspacekill | 1073741824 | 本地計算資料夾剩餘空間低於該值則不再申請新的任務,位元組數,預設0 |
mapred.tasktracker.expiry.interval | 60000 | TT在這個時間內沒有傳送心跳,則認為TT已經掛了。單位毫秒 |
mapred.map.tasks | 2 | 預設每個job所使用的map數,意思是假設設定dfs塊大小為64M,需要排序一個60M的檔案,也會開啟2個map執行緒,當jobtracker設定為本地是不起作用。 |
mapred.reduce.tasks | 1 | 解釋同上 |
mapred.jobtracker.restart.recover | true | false | 重啟時開啟任務恢復,預設false |
mapred.jobtracker.taskScheduler | org.apache.hadoop.mapred. CapacityTaskScheduler org.apache.hadoop.mapred. JobQueueTaskScheduler org.apache.hadoop.mapred. FairScheduler |
重要的東西,開啟工作管理員,不設定的話,hadoop預設是FIFO排程器,其他可以使用公平和計算能力排程器 |
mapred.reduce.parallel.copies | 10 | reduce在shuffle階段使用的並行複製數,預設5 |
mapred.child.java.opts |
-Xmx2048m -Djava.library.path= |
每個TT子程序所使用的虛擬機器記憶體大小 |
tasktracker.http.threads | 50 | TT用來跟蹤task任務的http server的執行緒數 |
mapred.task.tracker.http.address | 0.0.0.0:50060 | TT預設監聽的httpIP和埠,預設可以不寫。埠寫0則隨機使用。 |
mapred.output.compress | true | false | 任務結果採用壓縮輸出,預設false,建議false |
mapred.output.compression.codec | org.apache.hadoop.io. compress.DefaultCodec |
輸出結果所使用的編解碼器,也可以用gz或者bzip2或者lzo或者snappy等 |
mapred.compress.map.output | true | false | map輸出結果在進行網路交換前是否以壓縮格式輸出,預設false,建議true,可以減小頻寬佔用,代價是會慢一些。 |
mapred.map.output.compression.codec | com.hadoop.compression. lzo.LzoCodec |
map階段壓縮輸出所使用的編解碼器 |
map.sort.class | org.apache.hadoop.util. QuickSort |
map輸出排序所使用的演算法,預設快排。 |
mapred.hosts | conf/mhost.allow | 允許連線JT的TT伺服器列表,空值全部允許 |
mapred.hosts.exclude | conf/mhost.deny | 禁止連線JT的TT列表,節點摘除是很有作用。 |
mapred.queue.names | ETL,rush,default | 配合排程器使用的佇列名列表,逗號分隔 |
mapred.tasktracker.map. tasks.maximum |
12 | 每伺服器允許啟動的最大map槽位數。 |
mapred.tasktracker.reduce. tasks.maximum |
6 | 每伺服器允許啟動的最大reduce槽位數 |
相關推薦
hadoop配置檔案屬性解釋
2、mapred.local.dir:儲存作業中間資料的目錄,作業終止時,目錄被清空,以逗號分隔多個目錄 3、mapred.system.dir:作業執行期間儲存共享檔案的位置,相對於fs.default.name,預設是${hadoop.tmp.dir}/mapred/
Spring—@PropertySource讀取properties配置檔案屬性
1、示例程式碼Controller層 @Controller @RequestMapping("/test") @PropertySource("classpath:application.properties") public class TestController { &nb
my.cnf 配置檔案引數解釋
my.cnf 配置檔案引數解釋: #*** client options 相關選項 ***# #以下選項會被MySQL客戶端應用讀取。注意只有MySQL附帶的客戶端應用程式保證可以讀取這段內容。如果你想你自己的MySQL應用程式獲取這些值
讀取配置檔案屬性資訊
package com.facebac.yun.common.utils; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import jav
SpringBoot-配置檔案屬性注入-3種方式
配置檔案: datasource.username = admin datasource.url = /hello/world 方式一: @Value 前提: <!-- JavaBean處理工具包 --> <dependenc
二十七、修改本地臨時檔案儲存目錄及Hadoop配置檔案說明
修改本地臨時檔案儲存目錄及Hadoop配置檔案說明 1、 修改本地臨時檔案儲存目錄 1.1、停止程序 [[email protected] hadoop-2.7.2]
Spring讀取配置檔案屬性
因為要讀取自定義配置檔案的屬性,就學習了一下實現該操作的方法,記錄如下: 1.在resource資料夾下新建配置檔案:system.properties #自定義的系統配置 ftp.username = root ftp.password = root ftp.host
Spring-boot配置檔案屬性大全(2.0.5版本)
# =================================================================== # COMMON SPRING BOOT PROPERTIES # # This sample file is provided as
9、Hadoop配置檔案和HDFS垃圾回收
配置檔案 預設配置檔案:相對應的jar包中 core-default.xml hdfs-default.xml yarn-default.xml mapred-default.xml 自定義配置檔案 $HADOOP_HOME/etc/hadoop/ core-site.xm
springboot中@ConfigurationProperties註解和@EnableConfigurationProperties配合使用獲取配置檔案屬性,封裝到bean
@ConfigurationProperties註解和@EnableConfigurationProperties配合使用 1.配置檔案: smartodn: debug: debug: ${smartodn.debug.debug}
SpringBoot 配置檔案屬性獲取
1. 獲取application.yml或者application.properties中的單個屬性 1.1 在application.yml中自定義屬性 spring: application: name: spring-boot-study se
Hadoop配置檔案的作用
介紹 hadoop-env.sh 用來定義hadoop執行環江相關的配置資訊,比如配置JAVA_HOME環境變數、為hadoop的JVM指定特定的選項、指定日誌檔案所在的目錄路徑一級master和slave檔案的位置等。 core-site.xml 用於定義系統級別的引數
vim配置檔案屬性設定
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" vim配置檔案屬性設定 """"""""""""""""""""""""""""""""
mybatis配置檔案屬性及其順序
mybatis的配置檔案標籤是有順序要求的,下面是配置檔案的順序及其簡要說明:<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE con
hadoop配置檔案core-site.xml
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Licensed under the Apache License,
spring、spring-boot配置檔案屬性內容加解密
實際專案開發過程中,我們的應用程式都有很多的配置檔案(例如properties或者yml檔案等),我們時常會遇到需要對配置檔案敏感欄位的引數內容進行加密處理(比如資料庫連線密碼、與第三方的通訊金鑰等)。 如果採用一定採用傳統的springMVC做系統整合,我們可以繼承P
C# 單例模式讀取xml配置檔案屬性值
單例模式讀取xml配置檔案屬性值要求: 程式啟動後, 配置檔案中的屬性值要保持不變,才能起到作用;如果屬性值在程式執行中一直在變化,那麼就沒有必要使用單例模式。 class SingleXMLConfigInfo { #reg
Hadoop配置檔案與HBase配置檔案
本Hadoop與HBase叢集有1臺NameNode, 7臺DataNode 1. /etc/hostname檔案 NameNode: node1 DataNode 1: node2 DataNode 2: node3 ....
hadoop配置檔案詳解、安裝及相關操作
1.在conf/hadoop-env.sh檔案中增加:export JAVA_HOME=/home/Java/jdk1.6 2.在conf/core-site.xml檔案中增加如下內容: <!-- fs.default.name- 這是一個描述叢集中Na
《Hadoop》之"踽踽獨行"(九)Hadoop叢集的四個配置檔案的屬性解析
在啟動hadoop叢集的守護執行緒時,一定會載入並執行相關的class位元組碼檔案。通過common模組和hdfs模組裡的原始碼可以看到,它們讀取了相關的配置檔案。 hadoop-common-2.7.3-sources.jar下的org.apache.hadoop.conf.Configura