hadoop原始碼解讀一

2021-08-10 06:48:00 字數 1602 閱讀 5417

開啟已經編譯的hadoop資料夾,bin:看來像hadoop下的各種服務和元件,有cotainer,hdfs,mapred,yarn;

sbin:hadoop各項服務的啟動指令碼,配置指令碼;反正裡面全是指令碼;設定各方面的都有;

etc:各項的配置檔案,只要可以配置的都在裡面,包括dfs配置,排程器配置,namenode,datanode,埠,環境,容錯,快取,等等;

include:裡面時hadoop的c++實現庫;

lib:下面是以so結尾的檔案,感覺像是庫;

libexe:kms-config.sh密匙管理配置啟動指令碼?,mapred,yarn,hdfs,hadoop,httpfs,配置檔案指令碼;

log:每次啟動或者執行時的日誌檔案存放點;

share:hadoop的各種依賴庫jar,用來執行的邏輯檔案庫;

tmp:儲存資料,其中包括快取資料夾,datanode檔案,namenode檔案存放地;

然後是三個txt檔案,證書,readme,notice;

然後啟動效果看一下,我們一般都啟動的是start-all.sh,當我們啟動了這個檔案之後,如果存在start-dfs.sh這個檔案,then,啟動start-dfs.sh --config,

而在start-dfs.sh中,先啟動了namenode,然後啟動了salves配置檔案和datanode們,接著啟動secondrynamenode,最後生成熱部署?

接著再啟動start-yarn.sh --config

在start-yarn.sh中,首先啟動resourcemanager,然後啟動nodemanager,最後啟動proxyserver;

在啟動這兩個指令碼檔案中,都會去呼叫bin下對應的hadoop-daemon.sh,yarn-daemons.sh;

hadoop包下的功能分析

tool:命令列工具,當然還有其他工具,暫時不知道幹什麼的;

mapreduce:hadoop的mapreduce實現(舊版的)

mapred:hadoop的mapereduce實現(新版)

filecache:hdfs檔案的本地快取,用來加快mapreduce的資料訪問速度;

fs:支援多種檔案系統的統一檔案訪問介面;

hdfs:hdfs的分布式檔案系統的實現;

ipc:乙個ipc的實現:ipc(程序間通訊),依賴於io的編譯碼功能;

io:io傳輸實現,表示層,將各種資料編碼,解碼,便於傳輸,最大的作用是路徑,流的處理;

net:封裝的部分網路功能,例如dns,socket;

conf:系統的配置引數;

metrics:系統統計資料的收集,有兩個,metrics,metrics2;

util:工具類包括資料檢查求和,快取檢視,緩衝池檢視等等;

record:看起來是解析資料的格式的,裡面有csvrecord,xmlrecord等等;

http:裡面有http的servlet,filter,sslserver,等等;

log:日誌,經典log4j日誌;

security:使用者和使用者組的資訊;

test:測試用例;

streaming:流,檔案,壓縮相關;

service:服務註冊;

oncrpc:rpc呼叫;

Hadoop原始碼解讀系列目錄

hadoop原始碼解讀系列 1 hadoop原始碼 common模組 configuration詳解 2 hadoop原始碼 core模組 序列化與壓縮詳解 3 hadoop原始碼 core模組 遠端呼叫與nio詳解 4 hadoop原始碼 core模組 linux檔案系統與nfs檔案系統詳解 5 ...

jQuery原始碼解讀一

前言 我為什麼要看這個原始碼,很簡單,尋找我自己寫的js框架與jquery之間的差異,取長補短,最終目標是提高js程式設計的乙個眼界,看看別人是怎麼想的,因為自己乙個人的想法往往是片面的,也為了能讓自己的主觀漸漸接近客觀事實。雖然jquery框架能直接拿來用,但是對於偏愛研究的人來說,還是喜歡寫原生...

HashMap原始碼解讀(一)

在我們面試過程中,經常會遇到要求說hashmap的底層實現,在jdk原始碼中,oracle公司給出了我們hashmap的原始碼,通過閱讀hashmap的原始碼,我們可以很清楚的知道hashmap是怎麼實現的。下面我們開始閱讀hashmap的原始碼吧。public class hashmap exte...