1. 程式人生 > >hadoop 引數配置

hadoop 引數配置

Hadoop引數彙總

@(hadoop)[配置]

linux引數

以下引數最好優化一下:

  1. 檔案描述符ulimit -n
  2. 使用者最大程序 nproc (hbase需要 hbse book)
  3. 關閉swap分割槽
  4. 設定合理的預讀取緩衝區
  5. 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

    相關推薦

    hadoop 引數配置

    Hadoop引數彙總 @(hadoop)[配置] linux引數 以下引數最好優化一下: 檔案描述符ulimit -n 使用者最大程序 nproc (hbase需要 hbse book) 關閉swap分割槽 設定合理的預讀取緩衝區 Linux的核心的IO排程器

    Hadoop YARN配置引數剖析—Fair Scheduler相關引數

    首先在yarn-site.xml中,將配置引數yarn.resourcemanager.scheduler.class設定為org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler。 Fair Sched

    Hadoop YARN配置引數剖析—Capacity Scheduler相關引數

    Capacity Scheduler是YARN中預設的資源排程器。 想要了解Capacity Scheduler是什麼,可閱讀我的這篇文章“Hadoop Capacity Scheduler分析”。 在Capacity Scheduler的配置檔案中,佇列queueX的引數Y的配置名稱為ya

    Hadoop 學習研究(四):MapReduce shuffle過程剖詳解及引數配置調優

    MapReduce簡介    在Hadoop  MapReduce中,框架會確保reduce收到的輸入資料是根據key排序過的。資料從Mapper輸出到Reducer接收,是一個很複雜的過程,框架

    HDP 2.2 ( Hadoop 2.6 ) 叢集的記憶體引數配置引數調優 (Yarn/MapReduce2)

    近期在根據叢集上的各節點的物理機配置對叢集的記憶體引數進行調整。  因此較系統的學習了一下hadoop裡對資源調配的各元件的相關引數的含義。 作為示例的配置叢集版本是2.6, hortonworks 2.2.  首先要理解, hadoop 中 yarn 作為資源管理器,

    hadoop streaming引數配置

    Streaming簡介 Hadoop Streaming 是Hadoop提供的一個程式設計工具,Streamining框架允許任何可執行檔案或者指令碼檔案作為Mapper和Reducer在Hadoop MapReduce中使用,方便已有程式向Hadoop平臺移

    Hadoop YARN配置引數剖析(4)—Fair Scheduler相關引數

    首先在yarn-site.xml中,將配置引數yarn.resourcemanager.scheduler.class設定為org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler

    Hadoop叢集引數配置原則

    dfs.datanode.handler.count datanode上用於處理RPC的執行緒數。預設為3,較大叢集,可適當調大些,比如8。需要注意的是,每新增一個執行緒,需要的記憶體增加。tasktracker.http.threads HTTP server上的執行緒數

    hadoop引數彙總配置檔案引數詳解

    Hadoop引數彙總 @(hadoop)[配置] linux引數 以下引數最好優化一下: 檔案描述符ulimit -n使用者最大程序 nproc (hbase需要 hbse book)關閉swap分割槽設定合理的預讀取緩衝區Linux的核心的I

    Hadoop配置過程(虛擬機中的偽分布模式)

    關鍵字 系統默認 ati out source 網絡設置 道理 發包 啟動 1引言 hadoop如今已經成為大數據處理中不可缺少的關鍵技術,在如今大數據爆炸的時代,hadoop給我們處理海量數據提供了強有力的技術支撐。因此,了解hadoop的原理與應用方法是必要的技術知識。

    Hadoop-HA配置詳細步驟

    eno col ice nbsp 版本 files tab des frame 1. HA服務器配置 對hdfs做高可用 1.1服務器詳情 服務器:centos7 Hadoop:2.6.5 Jdk:1.8 共四臺服務器 192.168.1.111 node1 192

    hadoop一路配置到spark

    scala fault pub address linux pla 日誌 efi 端口號 安裝 jdk-8u131-linux-x64.gz scala-2.11.8.tgz hadoop-2.7.3.tar.gz spark-2.1.1-bin-had

    hadoop https配置

    optional -c ssl .keystore like form .com conf 最終 在 hadoop1生成ca並拷貝至hadoop2,hadoop2. cd /etc/https openssl req -new -x509 -keyout hdfs_c

    Hadoop CapacitySchedule配置

    cat 包含 def schedule fault cto cnblogs script ant 下面是Hadoop中CapacitySchedule配置,包含了新建隊列和子隊列 1 <configuration> 2 3 &

    Hadoop配置文件設置(HDFS HA)

    stop love edi 搶占 守護 core .html 搶占式 zookeep 參考:http://hadoop.apache.org/docs/r2.7.4/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWi

    (十二)linux下hadoop安裝配置

    -i host 配置文件 localhost mapreduce stat reboot app table 1.準備Linux環境 1.1關閉防火墻 #查看防火墻狀態 service iptables status #關閉防火墻 service iptables

    安裝hadoop配置hadoop,啟動namenode和設置免密登錄的詳細解析!

    啟動namenode和hadoop的配置首先安裝hadoop要安裝好java的開發環境,配置好jdk其實創建一個hadoop的用戶cd到這個用戶的目錄下創建一個apps的目錄。以後所有的東西都解壓進入apps解壓後的目錄中的文件如下這裏lib是本地的庫!bin是自己的操作命令,sbin是啟動命令!etc是配置

    HDFS 實驗 (三) hadoop節點配置

    大數據 Hadoop 節點配置 vi /etc/hosts添加節點dns信息192.168.209.157 node1192.168.209.158 node2192.168.209.159 node3vi /etc/profile添加運行目錄export HADOOP_HOME=/home/ha

    hadoop 官方配置文件解析

    http img 官網 png code 技術 nbsp 文件 配置文件 比如我的版本是2.8.4 官網文檔是: http://hadoop.apache.org/docs/r2.8.4/ 基本配置文件:包括一般的端口 hadoop 官方配置文件解析

    HADOOP HBASE配置註意事項

    home data summary detail log 命令 時間 註意事項 要去 1、yum安裝的jdk工具1.8版本,在配置hbase1.2版本需要在hbase-env.sh配置文件中註釋掉下面的內容:export HBASE_MASTER_OPTS="$H