1. hadoop 使用什么版本,CDH版本號,是5.3.6 。hadoop的版本是2.72,記住cdh的版本號和hadoop版本號不一樣。
2. flume是單節點采集數據還是多節點采集數據?flume是自定義框架還是用官方提供的框架?官方框架開發中有什么問題嗎?
flume是多節點采集數據,框架用的是官方的框架,基於官網進行配置。官網提供的flume會出現丟包的情況,但是數據量不是很大的情況下,我們沒有考慮丟包這個問題。
3. Flume采集數據時如果出現了數據擁堵應該怎么處理?
4. Flume開發中主要的source源頭?
1. Avro Source監聽AVRO端口來接受來自外部AVRO客戶端的事件流。利用Avro Source可以實現多級流動、扇出流、扇入流等效果。另外也可以接受通過flume提供的Avro客戶端發送的日志信息。
2. Spooling Directory Source這個Source允許你將將要收集的數據放置到"自動搜集"目錄中。這個Source將監視該目錄,並將解析新文件的出現。事件處理邏輯是可插拔的,當一個文件被完全讀入通道,它會被重命名或可選的直接刪除。
3.NetCat Source一個NetCat Source用來監聽一個指定端口,並將接收到的數據的每一行轉換為一個事件。
4.HTTP Source:HTTP Source接受HTTP的GET和POST請求作為Flume的事件,其中GET方式應該只用於試驗。該Source需要提供一個可插拔的"處理器"來將請求轉換為事件對象,這個處理器必須實現HTTPSourceHandler接口,該處理器接受一個 HttpServletRequest對象,並返回一個Flume Envent對象集合。從一個HTTP請求中得到的事件將在一個事務中提交到通道中。因此允許像文件通道那樣對通道提高效率。如果處理器拋出一個異常,Source將會返回一個400的HTTP狀態碼。如果通道已滿,無法再將Event加入Channel,則Source返回503的HTTP狀態碼,表示暫時不可用。要注意的是,放置到自動搜集目錄下的文件不能修改,如果修改,則flume會報錯。另外,也不能產生重名的文件,如果有重名的文件被放置進來,則flume會報錯。
5. 定時任務用什么,如果hive出現任務失敗了怎么辦?
這個可以用oozie用來監控任務調度,如果任務失敗可以在oozie端發現,並且重新啟動任務。
6. 項目中的一些參數,項目架構介紹?要很熟悉自己的項目,包括項目中一些參數。比如簡要介紹一下某個項目的架構流程。以及某個項目的開發周期,開發中遇到了什么問題?(記住,大廠問具體知識點,小公司面試都是直接擼項目的)
7. 項目流程,要對自己的項目中參數很熟悉,參數配置容易
8. shuffle過程,簡要概述一下。
9. hive使用中的參數配置?
這個比如針對實際開發中,依據實際開發中job的大小和集群的配置,比如設置,job內存大小,cpu核數等等,就是hive的開發優化吧。
10. exec什么意思,hadoop常見的文件格式
比如:SequenceFile,RCFile,Avro等等。
11. Flume和kafka的使用,搭配,如何進行攔截。
12. 快排,歸並排序?遞歸?
13.kafka如果producer產生的數據源流量遠大於sonsumer的消費能力怎么辦?有什么好的解決方式嗎?
這是個坑,實際開發中只能增加kafka集群,提高吞吐量,沒有什么好的優化措施。
14.Spark跟storm的區別?spark不算是完全實時計算。
15.spark跟mr相比,主要快在哪里?