namenode format做了些什麼

2021-09-30 10:36:55 字數 1349 閱讀 4716

在hadoop的hdfs部署好了之後並不能馬上使用,而是先要對配置的檔案系統進行格式化。在這裡要注意兩個概念,乙個是檔案系統,此時的檔案系統在物理上還不存在,或許是網路磁碟來描述會更加合適;二就是格式化,此處的格式化並不是指傳統意義上的本地磁碟格式化,而是一些清除與準備工作。本文接下來將主要討論namenode節點上的格式化。

我們都知道,

namenode主要被用來管理整個分布式檔案系統的命名空間(實際上就是目錄和檔案)的元資料資訊,同時為了保證資料的可靠性,還加入了操作日誌,所以,namenode會持久化這些資料(儲存到本地的檔案系統中)。對於第一次使用hdfs,在啟動namenode時,需要先執行-format命令,然後才能正常啟動namenode節點的服務。那麼,namenode的fromat命令到底做了什麼事情呢?

在namenode節點上,有兩個最重要的路徑,分別被用來儲存

元資料資訊和操作日誌,而這兩個路徑來自於配置檔案,它們對應的屬性分別是dfs.name.dir和dfs.name.edits.dir,同時,它們預設的路徑均是/tmp/hadoop/dfs/name。格式化時,namenode會清空兩個目錄下的所有

檔案,之後,會在目錄

dfs.name.dir下建立檔案/current/fsimage、/current/fstime、/current/version、/image/fsimage,會在目錄

dfs.name.edits.dir下建立檔案/current/edits、/current/fstime、 /current/version、/image/fsimage,那麼這些檔案又是用來幹什麼的呢?

在介紹這檔案的用途之前,我們可以將dfs.name.dir和dfs.name.edits.dir配置成相同的目錄,這樣的話,namenode執行格式化之後,會產生如下的檔案:/current/fsimage、/current/edits、

/current/fstime、/current/version、/image/fsimage,由此可以看出上面名字相同的檔案實際是一樣的,所以在這裡,我建議把dfs.name.dir和dfs.name.edits.dir配置成相同的值,以來提高namenode的效率。ok,現在就來重點的介紹一下這些檔案的用途吧。

fsimage:儲存命名空間(實際上就是目錄和檔案)的元資料資訊,檔案結構如下:

edits

:用來儲存對命名空間

操作的日誌資訊,實現namenode節點的恢復;

fstime:用來儲存check point 的時間;

version:用來儲存namenode版本資訊,內容如下:

/image/fsimage: 上一次提交前的/current/fsimage檔案;

ok,關於namenode執行format命令的情況就介紹到這兒。

做專案,還是做產品?

昨天,聽了乙個講座,是 達內外企it 培訓 單位組織的乙個講座 前半期主講現在世界人才就職趨勢,比較 it及其他行業的優劣 一併介紹了一些 it領域的級別評定標準.最後 則是推薦達內集團 做廣告 聽完這個講座,我知道,很高興,主講總監所提到的東西 我都知道 這不就是我們平時學到的東西嗎 我們平時做專...

做「品牌」還是做「銷量」?

有人說 通過做品牌解決銷售問題是 富人 的遊戲。似乎眾多企業都想通過 製作 品牌來使企業起死回生。但實際上,往往是企業大傷元氣。於是,他們響亮地提出了 不做品牌銷量 的口號。的確,這個話題對銷售經理來說,很吸引人。暫且不論銷售經理的職位短期因素有多大,單應付每月的銷量指標壓力,就沒有空餘的時間讓你來...

做管理還是做技術

做管理還是做技術?如果你現在問我,我會毫不猶豫地告訴你,做管理。做個管理者。做個官,哪怕是小頭目也好。也許你會說,搞管理還是搞技術,都可以的。比如說,愛立信公司,就有管理 技術兩條路線,有些搞技術的工資比管理還要高。放屁。大公司,也許吧。但在中小公司,管理者不僅有更高的薪酬,更重要的是,有分配資源的...