一、Hadoop入門
1、常用端口号
hadoop3.x
HDFS NameNode 内部通常端口:8020/9000/9820
HDFS NameNode 對使用者的查詢端口:9870
Yarn檢視任務運作情況的:8088
曆史伺服器:19888
hadoop2.x
HDFS NameNode 内部通常端口:8020/9000
HDFS NameNode 對使用者的查詢端口:50070
Yarn檢視任務運作情況的:8088
曆史伺服器:19888
2、常用的配置檔案
3.x core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml workers
2.x core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml slaves
二、HDFS
1、HDFS檔案塊大小(面試重點)
硬碟讀寫速度
在企業中 一般128m(中小公司) 256m (大公司)
2、HDFS的Shell操作(開發重點)
3、HDFS的讀寫流程(面試重點)
三、Map Reduce
1、InputFormat
1)預設的是TextInputformat kv key偏移量,v :一行内容
2)處理小檔案CombineTextInputFormat 把多個檔案合并到一起統一切片
2、Mapper
setup()初始化; map()使用者的業務邏輯; clearup() 關閉資源;
3、分區
預設分區HashPartitioner ,預設按照key的hash值%numreducetask個數
自定義分區
4、排序
1)部分排序 每個輸出的檔案内部有序。
2)全排序: 一個reduce ,對所有資料大排序。
3)二次排序: 自定義排序範疇, 實作 writableCompare接口, 重寫compareTo方法
總流量倒序 按照上行流量 正序
5、Combiner
前提:不影響最終的業務邏輯(求和 沒問題 求平均值)
提前聚合map => 解決資料傾斜的一個方法
6、Reducer
使用者的業務邏輯;
setup()初始化;reduce()使用者的業務邏輯; clearup() 關閉資源;
7、OutputFormat
1)預設TextOutputFormat 按行輸出到檔案
2)自定義
四、Yarn
1、Yarn的工作機制(面試題)
2、Yarn的排程器
1)FIFO/容量/公平
2)apache 預設排程器 容量; CDH預設排程器 公平
3)公平/容量預設一個default ,需要建立多隊列
4)中小企業:hive spark flink mr
5)中大企業:業務子產品:登入/注冊/購物車/營銷
6)好處:解耦 降低風險 11.11 6.18 降級使用
7)每個排程器特點:
相同點:支援多隊列,可以借資源,支援多使用者
不同點:容量排程器:優先滿足先進來的任務執行
公平排程器,在隊列裡面的任務公平享有隊列資源
8)生産環境怎麼選:
中小企業,對并發度要求不高,選擇容量
中大企業,對并發度要求比較高,選擇公平。
3、開發需要重點掌握:
1)隊列運作原理
2)Yarn常用指令
3)核心參數配置
4)配置容量排程器和公平排程器。
5)tool接口使用。