1. 程式人生 > >hadoop配置檔案屬性解釋

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,
com.hadoop.compression.lzo.LzoCodec,
com.hadoop.compression.lzo.LzopCodec,
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.BZip2Codec
(排版調整,實際配置不要回車)

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.
AuthenticationFilterInitializer
(排版調整,實際配置不要回車)

需要jobtracker,tasktracker
namenode,datanode等http訪問埠使用者驗證使用,需配置所有節點

 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.
kerberos.principal
(排版調整,實際配置不要回車)

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.
serializer.WritableSerialization

(排版需要。實際配置不要回車)

序列化的編解碼器
 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=
/opt/hadoopgpl/native/
Linux-amd64-64

每個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