Hadoop ViewFs 官方文檔解讀
官方文檔地址:
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/ViewFs.html
1、簡介
ViewFs是用來管理多個Hadoop namespace的一種方案。
具體思路和一些Linux/Unix系統的掛載表十分相似。
ViewFs可以生成某個namespace的視圖,或者說某個集群的文件視圖。
簡單的說,ViewFs解決了多個集群多個namespace的問題,例如Federation的client-side mount table
。
2、舊時代-在Federation之前
一個集群擁有一個namenode,它為集群提供一個單一的文件系統namespace。假設有很多集群,那么它們的namespace是彼此獨立的。更重要的是,物理存儲也沒有在集群之間進行共享。
單namenode集群
每個集群的core-site.xml有一個配置參數設置默認文件系統的namenode:
<property>
<name>fs.default.name</name>
<value>hdfs://namenodeOfClusterX:port</value>
</property>
按照這樣配置,如果我們要訪問路徑/foo/bar
,那么hdfs地址就為hdfs://namenodeOfClusterX:port/foo/bar
。
3、新時代-Federation和ViewFS
假設我們有多個集群,每個集群又有一個或多個namenode。每個namenode有自己的namespace。一個namenode只會屬于一個集群,同一個集群中的namenode共享該集群的物理存儲(datanodes)。同時不同集群的namespace依舊保持其獨立性。
使用ViewFs得到集群的全局namespace
ViewFs用于為每個集群創建一個獨立的集群namespace的視圖,它等價于Federation出現以前的namespace。
下圖展示了一個掛載表中掛載了4個namespace的情況:
其中藍色的點表示客戶去訪問的namespace,而下面四個為實際去訪問的namespace。
4、ViewFS配置方法
這邊附上配置方法,轉自https://www.cnblogs.com/jichui/p/10444556.html
ViewFS配置(在master節點配置):
配置前先關閉集群
1、配置core-site.xml:
原:
<configuration >
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9999</value>
<description>表示HDFS的基本路徑</description>
</property>
</configuration>
改成:
<configuration xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="mountTable.xml"/>
<property>
<name>fs.default.name</name>
<value>viewfs://my-cluster</value>
</property>
</configuration>
其余的<property></property>
內容保持不變(可以選擇注釋)
2、增加mountTable.xml:
<configuration>
<property>
<name>fs.viewfs.mounttable.my-cluster.link./user</name>
<value>hdfs://master:9999/user</value>
</property>
<property>
<name>fs.viewfs.mounttable.my-cluster.link./tmp</name>
<value>hdfs://master:9999/tmp</value>
</property>
<property>
<name>fs.viewfs.mounttable.my-cluster.link./projects/foo</name>
<value>hdfs://slave1:9999/projects/foo</value>
</property>
<property>
<name>fs.viewfs.mounttable.my-cluster.link./projects/bar</name>
<value>hdfs://slave1:9999/projects/bar</value>
</property>
</configuration>
3、將core-site.xml mountTable.xml同步到slave1、slave2上
scp core-site.xml mountTable.xml hadoop-twq@slave1:~/bigdata/hadoop-2.7.5/etc/hadoop/
scp core-site.xml mountTable.xml hadoop-twq@slave2:~/bigdata/hadoop-2.7.5/etc/hadoop/
4、啟動集群
5、在master、slave1上執行hadoop fs -ls /
發現看到的數據都一樣,如此一來,無論是在master、slave1還是slave2上執行hadoop fs -ls viewfs://my-cluster/
這個基本路徑后看到數據都一樣,這樣用戶就不用記住NameNode安裝在那里,方便了用戶
6、通過執行hadoop fs -ls viewfs://my-cluster/
我們看到的結果是一樣的,這是呈現給用戶的,而實際上,我們看到的結果在第二步mountTable.xml
文件中配置得到的,通過這個配置我們可以知道,結果中呈現的viewfs://my-cluster/user
這個目錄由master的這個NameNode來管理的,viewfs://my-cluster/tmp
這個目錄也是由master的這個NameNode來管理的,而viewfs://my-cluster/projects
這個目錄是由slave1這個NameNode來管理的。
智能推薦
What、Why、How?解讀Webpack官方文檔
What is Webpack? Webpack具有Grunt、Gulp對于靜態資源自動化構建的能力,但更重要的是,Webpack彌補了requireJS在模塊化方面的缺陷,同時兼容AMD與CMD的模塊加載規范,具有更強大的JS模塊化的功能。 因此我理解的Webpack,就是一個更出色的前端自動化構建工具、模塊化工具、資源管理工具。 webpack is a module bundler. web...
Xgboost官方文檔的解讀(python)
Xgboost的官方文檔在這里 https://xgboost.readthedocs.io/en/latest/ 我們今天直接從代碼部分開始學習 見下圖黑色圈內的部分 首先來看XGBoost參數(黑圈里的第二行) 在運行XGBoost之前,一定要設定好三類參數: 一般參數:即我們使用什么基學習器模型(一般樹?線性模型?)來構建boosting算法(這里沒有boosting算法的同學請自己簡要補一...
Hadoop Balancer源代碼解讀
前言 近期在做一些Hadoop運維的相關工作,發現了一個有趣的問題,我們公司的Hadoop集群磁盤占比數值參差不齊,高的接近80%。低的接近40%。并沒有充分利用好上面的資源,可是balance的操作跑的也是正常的啊。所以打算看一下Hadoop的balance的源碼,更深層次的去了解Hadoop Balance的機制。 Balancer和Distpatch 上面2個類的設計就是與Hadoop Ba...
Hadoop集群搭建文檔
Hadoop集群搭建文檔 以下為本文介紹目錄: 環境: Linux系統 Ubuntu12.0.4 64 bit JDK jdk-linux-i586.tar.gz Hadoop hadoop-1.2.1.tar.gz 一.環境搭建: 1.安裝完成Ubuntu12.0.4,需要安裝JDK,(注意:安裝JDK需要處理一些其他問題,JDK必須是Linux版本的,還有就是JDK要和操作系統的位數相符合,比...
【中英雙語】Spark官方文檔解讀(一)——Spark概述
文章目錄 Apache Spark is a unified analytics engine for large-scale data processing. 1. Speed 2. Ease of Use 3. Generality 4. Runs Everywhere 個人總結 如果你從本文中學習到絲毫知識,那么請您點點關注、點贊、評論和收藏 大家好,我是愛做夢的魚,我是東北大學大數據實驗班...
猜你喜歡
性能測試工具--Locust官方文檔(API)解讀(全)
文章略長 Locust學習筆記匯總 若有錯誤,請指正 內容以官網為準 https://locust.io/ Locust簡介 Locust是什么? Locust是一個簡單易用的分布式用戶負載測試工具。它用于web站點(或其他系統)的負載測試,并計算一個系統可以處理多少并發用戶。 在測試中,一群locusts(蝗蟲)會攻擊你的網站。每個locusts (或者測試用戶)的行為由您定義,集群過程由web...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...