原创 Hadoop 集羣啓動一直處於safemode解決方法

Hadoop集羣啓動的時候一切正常,但一直處於safemode,只能讀不能寫,這種時候應該查看namenode的logs,當然這可能會出現不同的情況... 下面僅介紹一種錯誤處理方案,希望能拋磚引玉,能對大家有所啓發。 以下是日誌提示(

原创 MapReduce: 提高MapReduce性能的七點建議

Cloudera提供給客戶的服務內容之一就是調整和優化MapReduce job執行性能。MapReduce和HDFS組成一個複雜的分佈式系統,並且它們運行着各式各樣用戶的代碼,這樣導致沒有一個快速有效的規則來實現優化代碼性能的目的。在我

原创 hadoop lzo壓縮

在hadoop中使用lzo的壓縮算法可以減小數據 的大小和數據的磁盤讀寫時間,不僅如此,lzo是基於block分塊的,這樣他就允許數據被分解成chunk,並行的被hadoop處理。這樣的特點,就可以讓lzo在hadoop上成爲一種非常好

原创 MapReduce:詳解Shuffle過程

 Shuffle過程是MapReduce的核心,也被稱爲奇蹟發生的地方。要想理解MapReduce, Shuffle是必須要了解的。我看過很多相關的資料,但每次看完都雲裏霧裏的繞着,很難理清大致的邏輯,反而越攪越混。前段時間在做MapRe

原创 Incompatible namespaceIDS 錯誤解決辦法

Hadoop集羣在namenode格式化(bin/hadoop namenode -format)後重啓集羣,datanode log會出現如下       Incompatible namespaceIDS in ... :name

原创 mapred.map.tasks 如何影響map的個數

且具體到底產生多少個分片(split)  因爲多少個map 是有關係。(此處是根據新的API來分析,因爲新的API 終究要調用到就得API來做具體的動作) 可能會說這個值 是系統根據文件大小 和根據文件分片大小 算出來的,那具體是如何算出

原创 Hadoop中map數的計算

Hadoop中在計算一個JOB需要的map數之前首先要計算分片的大小。計算分片大小的公式是: goalSize = totalSize / mapred.map.tasks minSize = max {mapred.min.spl

原创 Hadoop集羣上使用Lzo壓縮

自從Hadoop集羣搭建以來,我們一直使用的是Gzip進行壓縮 當時,我對gzip壓縮過的文件和原始的log文件分別跑MapReduce測試,最終執行速度基本差不多 而且Hadoop原生支持Gzip解壓,所以,當時就直接採用了Gzi

原创 Hadoop中Partition解析

1.解析Partition Map的結果,會通過partition分發到Reducer上,Reducer做完Reduce操作後,通過OutputFormat,進行輸出,下面我們就來分析參與這個過程的類。 Mapper的結果,可能送到

原创 hadoop的Jobid

在hadoop的任務job中,jobid是標誌一個任務的唯一標誌,可以用於定位到該job,查詢該job相關信息,kill掉該job 。 jobId是如何生成的呢  ? 在一般的服務集羣上我們通過JobTracker來管理job,該id既是

原创 Hadoop的TaskTracker黑名單機制

Note:這裏描述的黑名單是指jobtracker網頁summary表格中顯示的”Blacklisted Nodes",稱之爲集羣黑名單.     在HADOOP-4305之前,Hadoop中每個job會維護一個TaskTracker

原创 Hadoop FS Shell命令

FS Shell 調用文件系統(FS)Shell命令應使用 bin/hadoop fs <args> 的形式。 所有的的FS shell命令使用URI路徑作爲參數。URI格式是scheme://authority/path 。對 HD

原创 hadoop中每個節點map和reduce個數的設置調優

map red.tasktracker.map.tasks.maximum 這個是一個task tracker中可同時執行的map的最大個數,默認值爲2,看《pro hadoop》:it is common to set this v