天天看點

面試題總結--Hadoop面試題總結–Hadoop

面試題總結–Hadoop

文章目錄

  • 面試題總結--Hadoop
    • 1. Hadoop常用端口号
    • 2. HDFS讀流程和寫流程
    • 3. MapReduce的程式的運作流程

1. Hadoop常用端口号

元件 節點 預設端口 配置 用途說明
HDFS DataNode 50010 dfs.datanode.address datanode服務端口,用于資料傳輸
HDFS DataNode 50075 dfs.datanode.http.address http服務的端口
HDFS DataNode 50475 dfs.datanode.https.address https服務的端口
HDFS DataNode 50020 dfs.datanode.ipc.address ipc服務的端口
HDFS NameNode 50070 dfs.namenode.http-address http服務的端口
HDFS NameNode 50470 dfs.namenode.https-address https服務的端口
HDFS NameNode 8020 fs.defaultFS 接收Client連接配接的RPC端口,用于擷取檔案系統metadata資訊。
HDFS journalnode 8485 dfs.journalnode.rpc-address RPC服務
HDFS journalnode 8480 dfs.journalnode.http-address HTTP服務
HDFS ZKFC 8019 dfs.ha.zkfc.port ZooKeeper
YARN ResourceManager 8032 yarn.resourcemanager.address RM的applications
YARN ResourceManager 8030 yarn.resourcemanager.scheduler.address scheduler元件的IPC端口
YARN ResourceManager 8031 yarn.resourcemanager.resource-tracker.address IPC
YARN ResourceManager 8033 yarn.resourcemanager.admin.address IPC
YARN ResourceManager 8088 yarn.resourcemanager.webapp.address http服務端口
YARN NodeManager 8040 yarn.nodemanager.localizer.address localizer
YARN NodeManager 8042 yarn.nodemanager.webapp.address http服務端口
YARN NodeManager 8041 yarn.nodemanager.address NM中container
YARN JobHistory Server 10020 mapreduce.jobhistory.address IPC
YARN JobHistory Server 19888 mapreduce.jobhistory.webapp.address http服務端口

2. HDFS讀流程和寫流程

HDFS的讀資料流程:

用戶端将要讀取的檔案路徑發送給namenode,namonode擷取檔案的元資訊(主要是block的存放位置資訊)傳回給用戶端,用戶端根據傳回的資訊找到相應datanode逐個擷取檔案的block并在用戶端本地進行資料追加合并進而獲得整個檔案。

HDFS的寫資料流程:

用戶端要向HDFS寫資料,首先要跟namenode通信以确認可以寫檔案并獲得接受檔案block的datanode,然後,用戶端按順序将檔案逐個block傳遞給相應datanode,并由接收到block的datanode負責向其他datanode複制block的副本

  1. client發寫資料請求
  2. namenode響應請求,然後做一系列校驗,如果能上傳該資料,則傳回該檔案的所有切塊應該被存在哪些datanode上的datanodes清單

    blk-001:hadoop02 hadoop03

    blk-002:hadoop03 hadoop04

  3. client拿到datanode清單之後,開始傳資料
  4. 首先傳第一塊blk-001,datanode清單就是hadoop02,hadoop03,client就把blk-001傳到hadoop02和hadoop03上
  5. …用傳帶一個資料塊同樣的方式傳其他的資料
  6. 當所有的資料塊都傳完之後,client會給namenode傳回一個狀态資訊,表示資料已全部寫入成功,或者是失敗的資訊
  7. namenode接受到client傳回的狀态資訊來判斷當次寫入資料的請求是否成功,如果成功,就需要更新中繼資料資訊。

3. MapReduce的程式的運作流程

繼續閱讀