hadoop叢集搭建配置檔案優化引數
Hadoop搭建優化
作業系統(os)
禁用Linux邏輯管理卷(LVM)
掛載資料分割槽時禁用檔案atime和目錄atime
Linux核心引數調整(/etc/sysctl.conf)vm.swappiness = 0;
HDFS引數優化
無特別標識均為:hdfs-site.xml屬性。
- fs.default.name(core-site.xml)
定義客戶端所使用的預設檔案系統的URL
dfs.name.dir(重要)
定義了一個用逗號(中間不加空格)分割的不同的本地檔案路徑,NameNode要在這些路徑上儲存一個HDFS檔案資料的備份。
dfs.data.dir
定義了DataNode在哪裡存放HDFS資料塊
- Io.file.buffer.size(core-site.xml)
用來設定hadoop訪問檔案IO的快取大小。預設值為:4kb。參考值:64mb(65536 byte)
- dfs.balance.bandwidthPerSec
定義了HDFS平衡器(balancer) 平衡每個DataNode平衡操作所允許的最大頻寬,單位是byte
- dfs.block.size
定義了所有新建檔案的預設資料塊大小。預設值:64MB 參考值:128MB (134217728)
- dfs.DataNode.du.reserved
定義了每個dfs.data.dir所定義的硬碟空間需要保留的大小。以byte為大小 預設值為0,參考值:10737418240
- dfs.NameNode.handler.count
定義NameNode工作執行緒池(用來處理客戶端的遠端過程呼叫及叢集守護程式呼叫)工作執行緒大小。該值一般原則是將值設為叢集的自然對數乘以20 即:20logN N為叢集大小。
dfs.DataNode.failed.volumes.tolerated 定義整個DataNode宣告失敗前,允許多少個硬碟出現故障。預設值為:0參考值:1
fs.trash.interval(core-site.xml)
定義.Trash目錄檔案下檔案被永久刪除前保留的時間。預設值:0(不儲存) 推薦值:1440(24小時)注意:垃圾回收功能只是針對命令式。對javaApi呼叫的刪除無效。
MapReduce
無特別宣告均為mapred-site.xml屬性。
- mapred.job.tracker
定義了主機名和埠資訊,jobtracker在該埠監聽遠端過程呼叫(RPC)。
- mapred.local.dir
定義了map端中間結果檔案儲存路徑。如果設定路徑為專有硬碟,那麼就沒必要配置hdfs-site.xml 中的 dfs.DataNode.du.reserved屬性了
- mapred.java.child.opts
Tasktracker是在一個獨立的JVM程式裡啟動子任務的,啟動時可以把一些引數傳遞給它。比較常見的是設定記憶體的使用。 預設值為:200MB 參考值為:-Xms2g.
mapred.child.ulimit 可以對JVM子任務最大堆疊大小進行補充(即它規定一個程式在它執行結束前可以使用的最大虛擬記憶體) 該值一般大致可設為JVM最大堆疊大小的1.5倍。
mapred.tasktracker.map(和 reduce).tasks.maximum
hadoop mapreduce 任務併發數可能等於mapred.tasktracker.map.tasks.
maximum 和mapred.tasktracker.reduce.tasks.maximum之和 每個任務都在一個獨立的JVM上執行。根據
mapred.java.child.opts設定的記憶體,如果mapred.java.child.opts設定為2g ,
mapred.tasktracker.map.tasks.maximum
設定為12則map任務就消耗24g記憶體。該值一般情況下為每個物理CPU配置1.5個任務,
cup*1.5=mapreduce併發任務總個數, 然後將三分之二處理時間分片給map任務 三分之一留給reduce任務
- io.sort.mb
map任務的一些輸出會寫在迴圈緩衝區內,該緩衝區大小是由該屬性指定的,當該緩衝區使用率達到80%時,就會啟動一個後臺程式將溢位資料寫到mapred.local.dir指定的路徑下。預設值為:100MB同時注意該資料所指定的記憶體是包含在子任務的JVM堆疊空間中的。
- io.sort.factor
它定義了一次效能合併的檔案數目,以下兩種情況會觸發MapReduce的檔案合併操作:第一種是map任務執行完畢spill檔案需要合併,第二種是在reduces獲取了所有map任務輸出檔案後以及使用者呼叫reduce程式碼之前。增大每一輪開啟檔案個數進行合併可以減少資料讀取和寫入硬碟的時間,也減少了硬碟IO的操作。但合併更多的檔案意味著需要更多的記憶體。
- mapred.compress.map.output
啟用map端的壓縮 參考值:true
- mapred.map.output. compression.codec
定義了在MapReduce任務中使用的map輸出壓縮碼,如果該值為空則org.apache.hadoop.io.compress.defaultCodec會被呼叫 參考值:org.apache.hadoop.io.compress.SnappyCodec
- mapred.output. compression.type
如果MapReduce任務的輸出需要寫成SequenceFile格式,那麼該引數會確定所使用的壓縮型別。可配值有三個:第一種是記錄(RECORD),該值會使得SequenceFile的每個資料都被單獨壓縮。第二種值是塊(BLOCK)該值會使得所有關鍵資料按固定大小分塊壓縮。第三種是無(NONE)設定該值就不會為資料進 行壓縮。參考值:BLOCK。
- mapred.job.tracker.handler.count
jobtracker會維護一個工作執行緒池來處理遠端過程呼叫,該值用來控制執行緒池大小。參考值 20logN N為叢集大小。
mapred.reduce.parallel.copies 在MapReduce作業洗牌(shuffle)過程中,每個reducer任務需要從各個tasktrackers中獲取同一作業執行map任務產生的中間資料。該引數可以設定reducer可以並行獲取資料個數。一般可以設定為 4*logN N為叢集大小。
mapred.reduce.tasks 該引數規定了作業要產生的reduce個數。
Tasktracker.http.threads
控制每個tasktracker用於處理請求的並行工作執行緒數。HTTP執行緒的個數與叢集reduce槽的數量,和被許可並行處理的資料份數是成正比的。
- Mapred.reduce.slowstart.completed.maps
一旦一些map任務生成了中間結果,就可以提前讓reducer對這些資料進行洗牌(shuffle),儘可能早的拷貝資料,可以使reduce任務在最後一個map任務完成時就可以直接執行。 該屬性定義允許啟動reduce程式時map任務完成的百分比。參考值:0.8 即80%
Hbase搭建重要的hdfs引數
1 dfs.support.append
Hbase需要持久到HDFS這個引數必須被明確設定為true
2 dfs.datanode.max.xcievers
預設值為256建議值為2048這個值太小在客戶端IO負載密集時會報IOException.
相關文章
- 基於Hadoop不同版本搭建hive叢集(附配置檔案)HadoopHive
- hadoop-叢集管理(1)——配置檔案Hadoop
- Hadoop叢集機器的hosts檔案配置Hadoop
- Hadoop叢集搭建Hadoop
- Hadoop搭建叢集Hadoop
- Kafka_2.12-2.5.1叢集搭建與引數調優Kafka
- 4.4 Hadoop叢集搭建Hadoop
- Hadoop叢集搭建(一)Hadoop
- hadoop叢集篇--從0到1搭建hadoop叢集Hadoop
- hadoop-叢集管理(3)——不常用引數Hadoop
- spark叢集的配置檔案Spark
- hadoop分散式叢集搭建Hadoop分散式
- Hadoop叢集搭建文件Hadoop
- hadoop叢集環境搭建Hadoop
- hadoop2.2.0叢集搭建Hadoop
- MySQL引數配置優化MySql優化
- MySQL配置檔案my.cnf引數優化和中文詳解MySql優化
- MySQL配置檔案mysql.ini引數詳解、MySQL效能優化MySql優化
- 大資料叢集核心引數調優大資料
- Hadoop HA叢集簡單搭建Hadoop
- HADOOP SPARK 叢集環境搭建HadoopSpark
- Hadoop-2.7.4 叢集快速搭建Hadoop
- Hadoop分散式叢集搭建_1Hadoop分散式
- Kafka - 配置檔案引數最佳化方案Kafka
- 13、nginx服務叢集搭建以及優化Nginx優化
- FreeBSD下安裝配置Hadoop叢集(效能調優)Hadoop
- Hadoop完全分散式叢集配置Hadoop分散式
- hadoop叢集配置和啟動Hadoop
- hadoop-2.5.0-cdh5.3.6叢集搭建HadoopH5
- 大資料7.1 - hadoop叢集搭建大資料Hadoop
- 從零自學Hadoop(06):叢集搭建Hadoop
- Hadoop引數調優Hadoop
- ganglia 監控hadoop 叢集的配置檔案問題的一個說明.Hadoop
- 靜態引數檔案配置
- Hadoop叢集是配置時間同步!Hadoop
- 基於 ZooKeeper 搭建 Hadoop 高可用叢集Hadoop
- 基於kerberos的hadoop安全叢集搭建ROSHadoop
- 大資料平臺Hadoop叢集搭建大資料Hadoop