在某招聘網(wǎng)站2017年上半年各行業(yè)薪資調(diào)研狀況報告中,大數(shù)據(jù)行業(yè)以平均21.2k的月薪高居互聯(lián)網(wǎng)行業(yè)榜首,遠(yuǎn)遠(yuǎn)高于其他各行業(yè)。在大數(shù)據(jù)行業(yè),Hadoop目前絕對算得上是明星產(chǎn)品,在行業(yè)內(nèi)應(yīng)用廣泛。如果你恰好想找一份與Hadoop有關(guān)的工作,不妨先看看基本面試題都有哪些吧!
1、海量日志數(shù)據(jù)提取出某日訪問百度次數(shù)最多的IP,怎么做?
2、有一個1G大小的文件,里面每一行是一個詞,詞的大小不超過16字節(jié),內(nèi)存限制大小是1M。返回頻數(shù)最高的100個詞。
3、更智能&更大的數(shù)據(jù)中心架構(gòu)與傳統(tǒng)的數(shù)據(jù)倉庫架構(gòu)有何不同?
傳統(tǒng)的企業(yè)數(shù)據(jù)倉庫架構(gòu)
基于 Hadoop 的數(shù)據(jù)中心架構(gòu)
4、運(yùn)行Hadoop集群需要哪些守護(hù)進(jìn)程?
DataNode,NameNode,TaskTracker和JobTracker都是運(yùn)行Hadoop集群需要的守護(hù)進(jìn)程。
5、Hadoop支持哪些操作系統(tǒng)部署?
Hadoop的主要操作系統(tǒng)是Linux。 但是,通過使用一些額外的軟件,也可以在Windows平臺上部署,但這種方式不被推薦。
6、Hadoop常見輸入格式是什么?
三種廣泛使用的輸入格式是:
·文本輸入:Hadoop中的默認(rèn)輸入格式。
·Key值:用于純文本文件
·序列:用于依次讀取文件
7、RDBMS和Hadoop的主要區(qū)別是什么?
RDBMS用于事務(wù)性系統(tǒng)存儲和處理數(shù)據(jù),而Hadoop可以用來存儲大量數(shù)據(jù)。
8、給定a、b兩個文件,各存放50億個url,每個url各占64字節(jié),內(nèi)存限制是4G,讓你找出a、b文件共同的URL?
9、如何在生產(chǎn)環(huán)境中部署Hadoop的不同組件?
需要在主節(jié)點上部署jobtracker和namenode,然后在多個從節(jié)點上部署datanode。
10、添加新datanode后,作為Hadoop管理員需要做什么?
需要啟動平衡器才能在所有節(jié)點之間重新平均分配數(shù)據(jù),以便Hadoop集群自動查找新的datanode。要優(yōu)化集群性能,應(yīng)該重新啟動平衡器以在數(shù)據(jù)節(jié)點之間重新分配數(shù)據(jù)。
11、namenode的重要性是什么?
namenonde的作用在Hadoop中非常重要。它是Hadoop的大腦,主要負(fù)責(zé)管理系統(tǒng)上的分配塊,還為客戶提出請求時的數(shù)據(jù)提供特定地址。
12、判斷:Block Size是不可以修改的。(錯誤)
分析:
13、當(dāng)NameNode關(guān)閉時會發(fā)生什么?
如果NameNode關(guān)閉,文件系統(tǒng)將脫機(jī)。
14、是否可以在不同集群之間復(fù)制文件?如果是的話,怎么能做到這一點?
是的,可以在多個Hadoop集群之間復(fù)制文件,這可以使用分布式復(fù)制來完成。
15、是否有任何標(biāo)準(zhǔn)方法來部署Hadoop?
現(xiàn)在有使用Hadoop部署數(shù)據(jù)的標(biāo)準(zhǔn)程序,所有Hadoop發(fā)行版都沒有什么通用要求。但是,對于每個Hadoop管理員,具體方法總是不同的。
16、HDFS,replica如何定位?
17、distcp是什么?
Distcp是一個Hadoop復(fù)制工具,主要用于執(zhí)行MapReduce作業(yè)來復(fù)制數(shù)據(jù)。 Hadoop環(huán)境中的主要挑戰(zhàn)是在各集群之間復(fù)制數(shù)據(jù),distcp也將提供多個datanode來并行復(fù)制數(shù)據(jù)。
18、什么是檢查點?
檢查點是一種采用FsImage的方法。它編輯日志并將它們壓縮成一個新的FsImage。因此,不用重放一個編輯日志,NameNode可以直接從FsImage加載到最終的內(nèi)存狀態(tài),這肯定會降低NameNode啟動時間。
19、什么是機(jī)架感知?
這是一種決定如何根據(jù)機(jī)架定義放置塊的方法。Hadoop將嘗試限制存在于同一機(jī)架中的datanode之間的網(wǎng)絡(luò)流量。為了提高容錯能力,名稱節(jié)點會盡可能把數(shù)據(jù)塊的副本放到多個機(jī)架上。 綜合考慮這兩點的基礎(chǔ)上Hadoop設(shè)計了機(jī)架感知功能。
20、有哪些重要的Hadoop工具?
“Hive”,HBase,HDFS,ZooKeeper,NoSQL,Lucene / SolrSee,Avro,Oozie,F(xiàn)lume,Clouds和SQL是一些增強(qiáng)大數(shù)據(jù)性能的Hadoop工具。
21、什么是投機(jī)性執(zhí)行?
如果一個節(jié)點正在執(zhí)行比主節(jié)點慢的任務(wù)。那么就需要在另一個節(jié)點上冗余地執(zhí)行同一個任務(wù)的一個實例。所以首先完成的任務(wù)會被接受,另一個可能會被殺死。這個過程被稱為“投機(jī)執(zhí)行”。
22、Hadoop及其組件是什么?
當(dāng)“大數(shù)據(jù)”出現(xiàn)問題時,Hadoop發(fā)展成為一個解決方案。這是一個提供各種服務(wù)或工具來存儲和處理大數(shù)據(jù)的框架。這也有助于分析大數(shù)據(jù),并做出用傳統(tǒng)方法難以做出的商業(yè)決策。
23、Hadoop的基本特性是什么?
Hadoop框架有能力解決大數(shù)據(jù)分析的許多問題。它是基于Google大數(shù)據(jù)文件系統(tǒng)的Google MapReduce設(shè)計的。
24、是否可以在Windows上運(yùn)行Hadoop?
可以,但是最好不要這么做,Red Hat Linux或者是Ubuntu才是Hadoop的最佳操作系統(tǒng)。在Hadoop安裝中,Windows通常不會被使用,因為會出現(xiàn)各種各樣的問題。因此,Windows絕不是Hadoop推薦系統(tǒng)。
25、主動和被動“名稱節(jié)點”是什么?
在HA(高可用性)架構(gòu)中,我們有兩個NameNodes - Active“NameNode”和被動“NameNode”。
· 活動“NameNode”是在集群中運(yùn)行的“NameNode”。
· 被動“NameNode”是一個備用的“NameNode”,與“NameNode”有著相似的數(shù)據(jù)。
當(dāng)活動的“NameNode”失敗時,被動“NameNode”將替換群集中的活動“NameNode”。因此,集群永遠(yuǎn)不會沒有“NameNode”,所以它永遠(yuǎn)不會失敗。