![Hadoop面試題 內容參考_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-6/1/4494380f-d7fa-4208-9820-b7179e5482cf/4494380f-d7fa-4208-9820-b7179e5482cf1.gif)
![Hadoop面試題 內容參考_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-6/1/4494380f-d7fa-4208-9820-b7179e5482cf/4494380f-d7fa-4208-9820-b7179e5482cf2.gif)
免費預覽已結束,剩余14頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1.Hadoop集群可以運行的3個模式?單機(本地)模式偽分布式模式全分布式模式2. 單機(本地)模式中的注意點?在單機模式(standalone)中不會存在守護進程,所有東西都運行在一個JVM上。這里同樣沒有DFS,使用的是本地文件系統(tǒng)。單機模式適用于開發(fā)過程中運行MapReduce程序,這也是最少使用的一個模式。3. 偽分布模式中的注意點?偽分布式(Pseudo)適用于開發(fā)和測試環(huán)境,在這個模式中,所有守護進程都在同一臺機器上運行。4. VM是否可以稱為Pseudo?不是,兩個事物,同時Pseudo只針對Hadoop。5. 全分布模式又有什么注意點?全分布模式通常被用于生產環(huán)境,這里我們使用N臺主機組成一個Hadoop集群,Hadoop守護進程運行在每臺主機之上。這里會存在Namenode運行的主機,Datanode運行的主機,以及task tracker運行的主機。在分布式環(huán)境下,主節(jié)點和從節(jié)點會分開。6. Hadoop是否遵循UNIX模式?是的,在UNIX用例下,Hadoop還擁有“conf”目錄。7. Hadoop安裝在什么目錄下?Cloudera和Apache使用相同的目錄結構,Hadoop被安裝在cd/usr/lib/hadoop-0.20/。8. Namenode、Job tracker和task tracker的端口號是?Namenode,70;Job tracker,30;Task tracker,60。9. Hadoop的核心配置是什么?Hadoop的核心配置通過兩個xml文件來完成:1,hadoop-default.xml;2,hadoop-site.xml。這些文件都使用xml格式,因此每個xml中都有一些屬性,包括名稱和值,但是當下這些文件都已不復存在。10. 那當下又該如何配置?Hadoop現在擁有3個配置文件:1,core-site.xml;2,hdfs-site.xml;3,mapred-site.xml。這些文件都保存在conf/子目錄下。11. RAM的溢出因子是?溢出因子(Spill factor)是臨時文件中儲存文件的大小,也就是Hadoop-temp目錄。12. fs.mapr.working.dir只是單一的目錄?fs.mapr.working.dir只是一個目錄。13. hdfs-site.xml的3個主要屬性?.dir決定的是元數據存儲的路徑以及DFS的存儲方式(磁盤或是遠端)dfs.data.dir決定的是數據存儲的路徑fs.checkpoint.dir用于第二Namenode14. 如何退出輸入模式?退出輸入的方式有:1,按ESC;2,鍵入:q(如果你沒有輸入任何當下)或者鍵入:wq(如果你已經輸入當下),并且按下Enter。15. 當你輸入hadoopfsck /造成“connection refused java exception”時,系統(tǒng)究竟發(fā)生了什么?這意味著Namenode沒有運行在你的VM之上。16. 我們使用Ubuntu及Cloudera,那么我們該去哪里下載Hadoop,或者是默認就與Ubuntu一起安裝?這個屬于Hadoop的默認配置,你必須從Cloudera或者Edureka的dropbox下載,然后在你的系統(tǒng)上運行。當然,你也可以自己配置,但是你需要一個Linux box,Ubuntu或者是Red Hat。在Cloudera網站或者是Edureka的Dropbox中有安裝步驟。17. “jps”命令的用處?這個命令可以檢查Namenode、Datanode、Task Tracker、 Job Tracker是否正常工作。18. 如何重啟Namenode?點擊stop-all.sh,再點擊start-all.sh。鍵入sudo hdfs(Enter),su-hdfs (Enter),/etc/init.d/ha(Enter),及/etc/init.d/hadoop-0.20-namenode start(Enter)。19. Fsck的全名?全名是:File System Check。20. 如何檢查Namenode是否正常運行?如果要檢查Namenode是否正常工作,使用命令/etc/init.d/hadoop-0.20-namenode status或者就是簡單的jps。21. mapred.job.tracker命令的作用?可以讓你知道哪個節(jié)點是Job Tracker。22. /etc /init.d命令的作用是?/etc /init.d說明了守護進程(服務)的位置或狀態(tài),其實是LINUX特性,和Hadoop關系不大。23. 如何在瀏覽器中查找Namenode?如果你確實需要在瀏覽器中查找Namenode,你不再需要localhost:8021,Namenode的端口號是50070。24. 如何從SU轉到Cloudera?從SU轉到Cloudera只需要鍵入exit。25. 啟動和關閉命令會用到哪些文件?Slaves及Masters。26. Slaves由什么組成?Slaves由主機的列表組成,每臺1行,用于說明數據節(jié)點。27. Masters由什么組成?Masters同樣是主機的列表組成,每臺一行,用于說明第二Namenode服務器。28. hadoop-env.sh是用于做什么的?hadoop-env.sh提供了Hadoop中. JAVA_HOME的運行環(huán)境。29. Master文件是否提供了多個入口?是的你可以擁有多個Master文件接口。30. Hadoop-env.sh文件當下的位置?hadoop-env.sh現在位于conf。31. 在Hadoop_PID_DIR中,PID代表了什么?PID代表了“Process ID”。32. /var/hadoop/pids用于做什么?/var/hadoop/pids用來存儲PID。33. perties文件的作用是?perties被用做“Reporting”,控制Hadoop報告,初始狀態(tài)是“not to report”。34. Hadoop需求什么樣的網絡?Hadoop核心使用Shell(SSH)來驅動從節(jié)點上的服務器進程,并在主節(jié)點和從節(jié)點之間使用password-less SSH連接。35. 全分布式環(huán)境下為什么需求password-less SSH?這主要因為集群中通信過于頻繁,Job Tracker需要盡可能快的給Task Tracker發(fā)布任務。36. 這會導致安全問題嗎?完全不用擔心。Hadoop集群是完全隔離的,通常情況下無法從互聯網進行操作。與眾不同的配置,因此我們完全不需要在意這種級別的安全漏洞,比如說通過互聯網侵入等等。Hadoop為機器之間的連接提供了一個相對安全的方式。37. SSH工作的端口號是?SSH工作的端口號是NO.22,當然可以通過它來配置,22是默認的端口號。38. SSH中的注意點還包括?SSH只是個安全的shell通信,可以把它當做NO.22上的一種協議,只需要配置一個密碼就可以安全的訪問。39. 為什么SSH本地主機需要密碼?在SSH中使用密碼主要是增加安全性,在某些情況下也根本不會設置密碼通信。40. 如果在SSH中添加key,是否還需要設置密碼?是的,即使在SSH中添加了key,還是需要設置密碼。41. 假如Namenode中沒有數據會怎么樣?沒有數據的Namenode就不能稱之為Namenode,通常情況下,Namenode肯定會有數據。42. 當Job Tracker宕掉時,Namenode會發(fā)生什么?當Job Tracker失敗時,集群仍然可以正常工作,只要Namenode沒問題。43. 是客戶端還是Namenode決定輸入的分片?這并不是客戶端決定的,在配置文件中以及決定分片細則。44. 是否可以自行搭建Hadoop集群?是的,只要對Hadoop環(huán)境足夠熟悉,你完全可以這么做。45. 是否可以在Windows上運行Hadoop?你最好不要這么做,Red Hat Linux或者是Ubuntu才是Hadoop的最佳操作系統(tǒng)。在Hadoop安裝中,Windows通常不會被使用,因為會出現各種各樣的問題。因此,Windows絕對不是Hadoop的推薦系統(tǒng)。Hadoop就業(yè)面試寶典 1.0 簡要描述如何安裝配置apache的一個開源hadoop,只描述即可,無需列出具體步驟, 列出具體步驟更好。 答:1使用root賬戶登錄 2 修改IP 3 修改host主機名 4 配置SSH免密碼登錄 5 關閉防火墻 6 安裝JDK 7 解壓hadoop安裝包 8 配置hadoop的核心文件 hadoop-env.sh,core-site.xml , mapred-site.xml , hdfs-site.xml 9 配置hadoop環(huán)境變量 10 格式化 hadoop namenode-format 11 啟動節(jié)點 start-all.sh 2.0 請;列出正常的hadoop集群中hadoop都分別需要啟動 哪些進程,他們的作用分別都是什么,請盡量列的詳細一些。 答:namenode:管理集群,存儲數據的原信息,并管理記錄datanode中的文件信息。 Secondname:可以做冷備,對一定范圍內數據做快照性備份。 Datanode:存儲數據 Jobtracker :管理任務,并將任務分配給 tasktracker。 Tasktracker: 執(zhí)行JobTracker分配的任務。 3.0請寫出以下的shell命令 (1)殺死一個job (2)刪除hdfs上的 /tmp/aaa目錄 (3) 加入一個新的存儲節(jié)點和刪除一個節(jié)點需要執(zhí)行的命令 答:(1)hadoop job list 得到job的id,然后執(zhí) 行 hadoop job -kill jobId就可以殺死一個指定jobId的job工作了。 (2)hadoop fs -rmr /tmp/aaa (3) 增加一個新的節(jié)點在新的幾點上執(zhí)行 Hadoop daemon.sh start datanode Hadooop daemon.sh start tasktracker 然后在主節(jié)點中執(zhí)行 hadoop dfsadmin -refreshnodes 刪除一個節(jié)點的時候,只需要在主節(jié)點執(zhí)行 hadoop mradmin -refreshnodes 4.0 請列出你所知道的hadoop調度器,并簡要說明其工作方法 答:Fifo schedular :默認,先進先出的原則 Capacity schedular :計算能力調度器,選擇占用最小、優(yōu)先級高的先執(zhí)行,依此類推。 Fair schedular:公平調度,所有的 job 具有相同的資源。 5.0 請列出你在工作中使用過的開發(fā)mapreduce的語言 答:java,hive 6.0 當前日志采樣格式為 a , b , c , d b , b , f , e a , a , c , f 請你用最熟悉的語言編寫mapreduce,計算第四列每個元素出現的個數 Static final String 答: public class WordCount1 public static final String INPUT_PATH = hdfs:/hadoop0:9000/in; public static final String OUT_PATH = hdfs:/hadoop0:9000/out; public static void main(String args) throws Exception Configuration conf = new Configuration(); FileSystem fileSystem = FileSystem.get(conf); if(fileSystem.exists(new Path(OUT_PATH) fileSystem.delete(new Path(OUT_PATH),true); Job job = new Job(conf,WordCount1.class.getSimpleName(); /1.0讀取文件,解析成key,value對 FileInputFormat.setInputPaths(job,new Path(INPUT_PATH); /2.0寫上自己的邏輯,對輸入的可以,value進行處理,轉換成新的key,value對進行輸出 job.setMapperClass(MyMapper.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(LongWritable.class); /3.0對輸出后的數據進行分區(qū) /4.0對分區(qū)后的數據進行排序,分組,相同key的value放到一個集合中 /5.0對分組后的數據進行規(guī)約 /6.0對通過網絡將map輸出的數據拷貝到reduce節(jié)點 /7.0 寫上自己的reduce函數邏輯,對map輸出的數據進行處理 job.setReducerClass(MyReducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(LongWritable.class); FileOutputFormat.setOutputPath(job, new Path(OUT_PATH); job.waitForCompletion(true); static class MyMapper extends Mapper Override protected void map(LongWritable k1, Text v1, org.apache.hadoop.mapreduce.Mapper.Context context) throws IOException, InterruptedException String split = v1.toString().split(t); for(String words :split) context.write(split3, 1); static class MyReducer extends Reducer protected void reduce(Text k2, Iterable v2, org.apache.hadoop.mapreduce.Reducer.Context context) throws IOException, InterruptedException Long count = 0L; for(LongWritable time : v2) count += time.get(); context.write(v2, new LongWritable(count); 7.0 你認為用java , streaming , pipe方式開發(fā)map/reduce , 各有哪些優(yōu)點 就用過 java 和 hiveQL。 Java 寫 mapreduce 可以實現復雜的邏輯,如果需求簡單,則顯得繁瑣。 HiveQL 基本都是針對 hive 中的表數據進行編寫,但對復雜的邏輯很難進行實現。寫 起來簡單。 8.0 hive有哪些方式保存元數據,各有哪些優(yōu)點 三種:內存數據庫 derby,挺小,不常用 。 本地 mysql。常用 遠程端 mysql。不常用 上網上找了下專業(yè)名稱:single user mode.multi user mode.remote user mode 9.0 請簡述hadoop怎樣實現二級排序 第一種方法是,Reducer將給定key的所有值都緩存起來,然后對它們再做一個Reducer內排序。但是,由于Reducer需要保存給定key的所有值,可能會導致出現內存耗盡的錯誤。 第二種方法是,將值的一部分或整個值加入原始key,生成一個合成key。這兩種方法各有優(yōu)勢,第一種方法可能會更快一些(但有內存耗盡的危險),第二種方法則是將排序的任務交給MapReduce框架,更符合Hadoop/Reduce的設計思想。這篇文章里選擇的是第二種。我們將編寫一個Partitioner,確保擁有相同key(原始key,不包括添加的部分)的所有數據被發(fā)往同一個Reducer,還將編寫一個Comparator,以便數據到達Reducer后即按原始key分組。 10.簡述hadoop實現jion的幾種方法 利用dataJoin來實現mapreduce的jion問題。 11.0 請用java實現非遞歸二分查詢 1. public class BinarySearchClass 2. 3. 4. public static int binary_search(int array, int value) 5. 6. int beginIndex = 0;/ 低位下標 7. int endIndex = array.length - 1;/ 高位下標 8. int midIndex = -1; 9. while (beginIndex = endIndex) 10. midIndex = beginIndex + (endIndex - beginIndex) / 2;/防止溢出 11. if (value = arraymidIndex) 12. return midIndex; 13. else if (value TextInputFormat - RecordReader - LineRecordReader - LineReader 5、 參考下列M/R系統(tǒng)的場景:hdfs塊大小為64MB,輸入類為FileInputFormat,有3個文件的大小分別為64KB, 65MB, 127MB Hadoop框架會把這些文件拆分為多少塊? 5塊 6、 hadoop中RecordReader的作用是什么? RecorderReader是一個接口,主要是用來讀取文件的輸入鍵值對的,我們也可以自定義輸入的key,value對的讀取規(guī)則 7、 Map階段結束后,Hadoop框架會處理:Partitioning, Shuffle和Sort,在這個階段都發(fā)生了什么? Partition是對輸出的key,value進行分區(qū),可以自定義分區(qū),按照業(yè)務需求,將map的輸出歸分到多個不同的文件中 將map的輸出作為輸入傳給reducer 稱為shuffle sort是排序的過程,將map的輸出,作為reduce的輸入之前,我們可以自定義排序,按照key來對map的輸出進行排序 8、 如果沒有定義partitioner,那數據在被送達reducer前是如何被分區(qū)的? hadoop有一個默認的分區(qū)類,HashPartioer類,通過對輸入的k2去hash值來確認map輸出的k2,v2送到哪一個reduce中去執(zhí)行。 9、 什么是combiner? combiner就是規(guī)約操作,通過對map輸出的數量進行規(guī)約,可以減少reduce的數量,提高執(zhí)行效率 combiner的輸入輸出類型必須和mapper的輸出以及reducer的輸入類型一致 10、分別舉例什么情況要使用 combiner,什么情況不使用? 求平均數的時候就不需要用combiner,因為不會減少reduce執(zhí)行數量。在其他的時候,可以依據情況,使用combiner, 來減少map的輸出數量,減少拷貝到reduce的文件,從而減輕reduce的壓力,節(jié)省網絡開銷,提升執(zhí)行效率 11、Hadoop中job和tasks之間的區(qū)別是什么? 首先通過jobTracker接收到了用戶的操作請求之后,就會產生job任務,job然后將任務分配給tasks分配給多個機器去并行的 執(zhí)行,通過將job任務分解為多個tasks任務并行的執(zhí)行,提高了執(zhí)行的效率。 12、hadoop中通過拆分任務到多個節(jié)點運行來實現并行計算,但某些節(jié)點運行較慢會拖慢整個任務的運行,hadoop采用全程機制應對這個情況? 對于那些較慢的tasks任務,hadoop 13、流API中的什么特性帶來可以使map/reduce任務可以以不同語言(如perl, ruby, awk等)實現的靈活性? 14、有可能使hadoop任務輸出到多個目錄中嗎?如果可以,怎么做? 可以,hadoop 15、如何為一個hadoop任務設置mappers的數量? 1 map的數量 map的數量通常是由hadoop集群的DFS塊大小確定的,也就是輸入文件的總塊數,正常的map數量的并行規(guī)模大致是每一個Node是10100個,對于CPU消耗較小的作業(yè)可以設置Map數量為300個左右,但是由于hadoop的沒一個任務在初始化時需要一定的時間,因此比較合理的情況是每個map執(zhí)行的時間至少超過1分鐘。具體的數據分片是這樣的,InputFormat在默認情況下會根據hadoop集群的DFS塊大小進行分片,每一個分片會由一個map任務來進行處理,當然用戶還是可以通過參數mapred.min.split.size參數在作業(yè)提交客戶端進行自定義設置。還有一個重要參數就是mapred.map.tasks,這個參數設置的map數量僅僅是一個提示,只有當InputFormat 決定了map任務的個數比mapred.map.tasks值小時才起作用。同樣,Map任務的個數也能通過使用JobConf 的conf.setNumMapTasks(int num)方法來手動地設置。這個方法能夠用來增加map任務的個數,但是不能設定任務的個數小于Hadoop系統(tǒng)通過分割輸入數據得到的值。當然為了提高集群的并發(fā)效率,可以設置一個默認的map數量,當用戶的map數量較小或者比本身自動分割的值還小時可以使用一個相對交大的默認值,從而提高整體hadoop集群的效率。 16、如何為一個hadoop任務設置要創(chuàng)建reduder的數量? 2 reduece的數量 reduce在運行時往往需要從相關map端復制數據到reduce節(jié)點來處理,因此相比于map任務。reduce節(jié)點資源是相對比較缺少的,同時相對運行較慢,正確的reduce任務的個數應該是0.95或者1.75 *(節(jié)點數 mapred.tasktracker.tasks.maximum參數值)。如果任務數是節(jié)點個數的0.95倍,那么所有的reduce任務能夠在 map任務的輸出傳輸結束后同時開始運行。如果任務數是節(jié)點個數的1.75倍,那么高速的節(jié)點會在完成他們第一批reduce任務計算之后開始計算第二批 reduce任務,這樣的情況更有利于負載均衡。同時需要注意增加reduce的數量雖然會增加系統(tǒng)的資源開銷,但是可以改善負載勻衡,降低任務失敗帶來的負面影響。同樣,Reduce任務也能夠與 map任務一樣,通過設定JobConf 的conf.setNumReduceTasks(int num)方法來增加任務個數。 xxx信息技術有限公司 1、你們的集群規(guī)模? 開發(fā)集群:10臺(8臺可用)8核cpu 2、你們的數據是用什么導入到數據庫的?導入到什么數據庫? 處理之前的導入:通過hadoop命令導入到hdfs文件系統(tǒng) 處理完成之后的導出:利用hive處理完成之后的數據,通過sqoop導出到mysql數據庫中,以供報表層使用 3、你們業(yè)務數據量多大?有多少行數據?(面試了三家,都問這個問題) 開發(fā)時使用的是部分數據,不是全量數據,有將近一億行(8、9千萬,具體不詳,一般開發(fā)中也沒人會特別關心這個問題) 4、你們處理數據是直接讀數據庫的數據還是讀文本數據? 將日志數據導入到hdfs之后進行處理 5、你們寫hive的hql語句,大概有多少條? 不清楚,我自己寫的時候也沒有做過統(tǒng)計 6、你們提交的job任務大概有多少個?這些job執(zhí)行完大概用多少時間?(面試了三家,都問這個問題) 沒統(tǒng)計過,加上測試的,會與很多 7、hive跟hbase的區(qū)別是? 這個可以百度 8、你在項目中主要的工作任務是? 利用hive分析數據 9、你在項目中遇到了哪些難題,是怎么解決的? 某些任務執(zhí)行時間過長,且失敗率過高,檢查日志后發(fā)現沒有執(zhí)行完就失敗,原因出在hadoop的job的timeout過短(相對于集群的能力來說),設置長一點即可 10、你自己寫過udf函數么?寫了哪些? 這個我沒有寫過 11、你的項目提交到job的時候數據量有多大?(面試了三家,都問這個問題) 不清楚是要問什么 12、reduce后輸出的數據量有多大? 不清楚 1.一個網絡商城1天大概產生多少G的日志? 2.大概有多少條日志記錄(在不清洗的情況下)? 3.日訪問量大概有多少個? 4.注冊數大概多少? 5.我們的日志是不是除了apache的訪問日志是不是還有其他的日志? 6.假設我們有其他的日志是不是可以對這個日志有其他的業(yè)務分析?這些業(yè)務分析都有什么(*) 1.問:你們的服務器有多少臺? 2.問:你們服務器的內存多大? 3.問:你們的服務器怎么分布的?(這里說地理位置分布,最好也從機架方面也談談) 4.問:你平常在公司都干些什么(一些建議) 下面是HBASE我非常不懂的地方: 1.hbase怎么預分區(qū)? 2.hbase怎么給web前臺提供接口來訪問(HTABLE可以提供對HTABLE的訪問,但是怎么查詢同一條記錄的多個版本數據)? 3.htable API有沒有線程安全問題,在程序中是單例還是多例? 4.我們的hbase大概在公司業(yè)務中(主要是網上商城)大概都幾個表,幾個表簇,大概都存什么樣的數據? 5.hbase的并發(fā)問題? 1、將現有邏輯在Spark上面實現。2、數據傾斜怎么處理? 數據傾斜有很多解決方案,本例子簡要介紹一種實現方式,假設表A 和表B連接,表A 數據傾斜,只有一個key傾斜,首先對A進行采樣,統(tǒng)計出最傾斜的key,將A 表分隔為A1 只有傾斜 key, A2 不包含傾斜key, 然后分別與 表B 連接。 最后將結果合并, union3 、各完成一個awk和sed的例子,最簡單的應用即可,并說明。 cat /etc/passwd |awk -F : print $1 讀取文件,指定文本分隔符,然后打印第一個域 cat test.sh | sed 2,50d 讀取文件的每一行,然后對每一行進行處理后打印在控制臺, 有很多模式,很多方法。還可以直接修改文件4、簡要描述你知道的數據挖掘算法和使用場景(一)基于分類模型的案例 ( 1)垃圾郵件的判別 通常會采用樸素貝葉斯的方法進行判別 (2)醫(yī)學上的腫瘤判斷 通過分類模型識別 (二)基于預測模型的案例 (1)紅酒品質的判斷 分類回歸樹模型進行預測和判斷紅酒的品質 ( 2)搜索引擎的搜索量和股價波動(三)基于關聯分析的案例:沃爾瑪的啤酒尿布(四)基于聚類分析的案例:零售客戶細分(五)基于異常值分析的案例:支付中的交易欺詐偵測(六)基于協同過濾的案例:電商猜你喜歡和推薦引擎(七)基于社會網絡分析的案例:電信中的種子客戶(八)基于文本分析的案例(1)字符識別:掃描王APP(2)文學著作與統(tǒng)計:紅樓夢歸屬5、列舉你知道的常用的Hadoop管理和監(jiān)控的命令、比如hdfs dfs -mkdir /usr -ls -cat -text -cp -put -chmod -chown -du -get -copyFromLocal -copyToLocal -mv -rm - tail -chgrp6、評述hadoop運行原理 站在高處,大的方面講解 1、有hdfs 負責數據存放 是Hadoop的分布式文件存儲系統(tǒng)將大文件分解為多個Block,每個Block保存多個副本。提供容錯機制,副本丟失或者宕機時自動恢復。默認每個Block保存3個副本,64M為1個Block。將Block按照key-value映射到內存當中。 2、有mapreduce負責計算,Map(映射)和Reduce(歸約) 7、講述mapreduce的原理ApplicationMaster 是一個詳細的框架庫,它結合從 ResourceManager 獲得的資源和 NodeManager 協同工作來運行和監(jiān)控任務。ResourceManager 支持分層級的應用隊列,這些隊列享有集群一定比例的資源。從某種意義上講它就是一個純粹的調度器,ApplicationMaster 的職責有:向調度器索要適當的資源容器,運行任務,跟蹤應用程序的狀態(tài)和監(jiān)控它們的進程,處理任務的失敗原因。輸入分片(input split)map階段:combiner階段:8、JVM&垃圾回收機制三個代:年輕代(Young Generation)、年老代(Old Generation)和持久代(Permanent Generation)。9、找出公共好友:/lucius/p/3483494.html/thread-18826-1-1.html 原理:A 有好友 B ,C,D F 有好友 D E F 其實A 的好友也是他好友的好友 其實F 的好友也是他的好友的好友 那么D 的共同好友就是 A F 10、combiner作用 Combiner最基本是實現本地key的聚合,對map輸出的key排序、value進行迭代。 Combiner還有本地reduce功能(其本質上就是一個reduce): 使用Combiner先完成在map端的本地聚合,可以減少網絡傳輸數據量,提高性能。 平均數的歸約算法不能多次調用。11、在mr環(huán)節(jié)中,那些環(huán)節(jié)需要優(yōu)化,如何優(yōu)化,請詳細說明。 1、 setNumReduceTasks 適當的設置reduce的數量,如果數據量比較大,那么可以增加reduce的數量 2、適當的時候使用 combine 函數,減少網絡傳輸數據量 3、壓縮map和reduce的輸出數據 4、使用SequenceFile二進制文件。 5、通過application 的ui頁面觀察job的運行參數 6、太多小文件,造成map任務過多的問題,應該可以先合并小文件,或者有一個特定的map作為處理小文件的輸入 7、map端效率低原因分析源文件的大小遠小于HDFS的塊的大小。這意味著任務的開啟和停止要耗費更多的時間,就沒有足夠的時間來讀取并處理輸入數據。源文件無法分塊。這導致需要通過網絡IO從其他節(jié)點讀取文件塊。一個節(jié)點的本地磁盤或磁盤控制器運行在降級模式中,讀取寫入性能都很差。這會影響某個節(jié)點,而不是全部節(jié)點。源文件不來自于HDFS。則可能是Hadoop節(jié)點和數據源之間的延遲導致了性能低下。Map任務從其他數據節(jié)點讀取數據。可以從JobTracker的map任務細節(jié)信息和任務運行嘗試中找到輸入塊的位置。如果輸入塊的位置不是任務執(zhí)行的節(jié)點,那就不是本地數據了。技術33 Reduce實例不足或過多技術34 診斷reduce段的數據傾斜的問題技術35 確定reduce任務是否存在整體吞吐量過低技術36 緩慢的洗牌(shuffle)和排序技術37 作業(yè)競爭和調度器限制1.查找硬件的失效CPU競爭3 內存交換4 磁
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 聯創(chuàng)聯建協議書
- 供應商保密協議承諾書
- 馬鈴薯種薯購銷合同書
- 2025年山東貨運從業(yè)資格證答題技巧與方法
- 電力項目開發(fā)合同(2篇)
- 電力合同結束協議(2篇)
- 2024秋六年級語文上冊 第一單元 4 花之歌說課稿 新人教版
- 六年級上冊數學計算題200道(含答案)
- 川教版信息技術(2019)五年級上冊第三單元 圖形化編程之聰明的角色 3 克隆躲避隕石-說課稿
- 服務員月初工作計劃范本
- 《工程電磁場》配套教學課件
- 遼寧省錦州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細及行政區(qū)劃代碼
- 改革開放的歷程(終稿)課件
- 職位管理手冊
- IPQC首檢巡檢操作培訓
- 餐飲空間設計課件ppt
- 肉制品加工技術完整版ppt課件全套教程(最新)
- (中職)Dreamweaver-CC網頁設計與制作(3版)電子課件(完整版)
- 行政人事助理崗位月度KPI績效考核表
- 紀檢監(jiān)察機關派駐機構工作規(guī)則全文詳解PPT
- BP-2C 微機母線保護裝置技術說明書 (3)
評論
0/150
提交評論