Hadoop 原始碼解析 No 1 NameNode

2021-08-14 02:06:42 字數 683 閱讀 4319

注:本人使用的版本是 2.9,並且確保你的機器上已經安裝了source

在新版的hadoop 當中 啟動模式已經從

$bin/hadoop  ⇒  $bin/hdfs
我們開啟這個檔案:

if [ "$command" = "namenode" ] ; then

class='org.apache.hadoop.hdfs.server.namenode.namenode'

hadoop_opts="$hadoop_opts $hadoop_namenode_opts"

可以看到最終指向的是 org.apache.hadoop.hdfs.server.namenode.namenode 方法。

開啟對應的檔案,可以看到官方給的注釋。

每乙個hdfs系統都包含有乙個單一的 「namenode」 (在這裡備份的 namenode 不算)。 namenode 可以作為hdfs中檔案目錄和檔案分配的管理者,儲存最重要的東西,主要有這兩個:

1. 檔名    ⇒  塊序列(命名空間)

2. 資料塊 ⇒ 機器列表(inode)

其中 檔案到資料塊 對映儲存在 namenode 當中,而 資料塊到機器 對映關係則由 datanode 上報之後建立起來。

未完待續

hadoop原始碼閱讀 1 原始碼目錄結構

由於版本的不同,可能部分目錄有些不同.bin 此目錄下為進行hadoop配置 執行以及管理的shell命令集合 c 此目錄下為linux下amd64 64位系統以及i386 32位系統提供的庫檔案集合 conf 此目錄下為執行與配置hadoop環境需要的配置檔案以及示例檔案集合,實際執行時可以對照此...

hadoop原始碼閱讀 1 原始碼目錄結構

由於版本的不同,可能部分目錄有些不同.bin 此目錄下為進行hadoop配置 執行以及管理的shell命令集合 c 此目錄下為linux下amd64 64位系統以及i386 32位系統提供的庫檔案集合 conf 此目錄下為執行與配置hadoop環境需要的配置檔案以及示例檔案集合,實際執行時可以對照此...

Qt原始碼解析 1

本文 感謝原創者分享 如果你閱讀了 qt 的源 你會看到一堆奇奇怪怪的巨集,例如 q d,q q。我們的qt原始碼之旅就從理解這些巨集說起。下面先看乙個c 的例子。cpp class person person string name void setname string name int age...