hadoop實戰3(web管理介面介紹及NN,DN,SNN介紹)

shaozi74108發表於2019-02-20

hadoop練習2

1.hosts檔案

無論Linux還是window系統都有hosts檔案


Linux/mac配置hadoop網路:
區域網內網機器 /VM : 內網ip
雲伺服器: 內網ip + 外網ip(ssh連結、開啟服務web介面、對外提供服務,也就是 類似的堡壘機 )
雲伺服器的host檔案也是配置 內網IP
[root@hadoop001 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6



本地瀏覽器訪問hadoop的web管理介面問題?
在本地訪問hadoop web管理介面時,需配置網路
1.情況    本地-----------VM虛擬機器中hadoop
連結線路:本地瀏覽器外網----windows hosts-----本地VM-----hadoop
方法:配置C:\Windows\System32\drivers\etc\hosts
192.168.1.100   hadoop   # IP為虛擬機器中的 內網 IP
2.情況    本地-------------雲服務中hadoop
連結線路 :本地瀏覽器外網----windows hosts-----雲伺服器外網-----雲伺服器內網-----hadoop
方法:配置C:\Windows\System32\drivers\etc\hosts
XXXXXXXXXX   hadoop   # IP為雲伺服器的 外網 IP
提醒: 在windows上進行apache hbase 開發時,windows配置hbase叢集的時候
hosts檔案 都要配置hbase叢集的節點的i “IP    HOSTNAME”。



hadoop web介面介紹

1.透過hdfs上傳檔案


2.web界一覽表
首頁--Hadoop  顯示hdfs檔案資訊
到根目錄下 這個檔案。包括檔案的 詳細資訊


首頁--Overview  檢視節點資訊


SUMARY資訊,也是提供節點資訊,生產一般看DFS Remaining剩餘空間



首頁--Overview   Startup Progress

yarn的web介面介紹


配置yarn的記憶體大小
預設是8G,如果yarn的作業無法提交,需要調大此記憶體。



HDFS架構設計:

塊block介紹
hdfs-default.xml  尋找blocksize,配置塊大小引數。

dfs.blocksize  #塊的大小預設128M
134217728
dfs.replication  #塊的副本數預設3份
3



生產HDFS儲存小檔案問題?
答:生產HDFS不適合存放小檔案,
HDFS將檔案以塊的方式儲存,塊預設128M。比如一個260M的檔案,實際存塊情況如下
實際儲存      規格
塊A: 128M      128M  A0 A1 A2
塊B: 128M      128M  B0 B1 B2
塊C: 4M       128M  C0 C1 C2
(生產上 hdfs不適合儲存小檔案?為什麼不合適?如果真的有小檔案,該怎麼辦?該怎麼合併)
將檔案以塊的方式分割,去儲存
面試題:
一個檔案160m,塊大小128m,副本數2。
請問實際幾個塊,實際物理儲存多少?
塊1  128m
塊2   32m
各自備份:
  1. 塊3  128m
  2. 塊4   32m
  3. 所以4個塊,實際大小為160m *2 =320m
  4. 3.HDFS架構設計


程式介紹
namenode                     簡稱nn  名稱節點
secondary namenode    簡稱snn 第二名稱節點
datanode                        簡稱dn   資料節點
每個節點存放塊。相鄰節點中塊是互相備份關係, 主從架構
Rack :  機櫃 可以放多個主機 10個 GPU主機 5個
機櫃:
1.物理的   類似圖中的機櫃

2.虛擬的   類似虛擬機器劃分割槽域



namenode作用:

1.管理檔案系統的名稱空間,維護檔案系統(可理解成維護一些檔案的資料字典)

2.存放在【名稱空間映象檔案-fsimage】和【編輯日誌editlog】永久儲存在磁碟上。
資訊包括:
a.檔名稱
b.檔案目錄結構
c.檔案屬性 建立時間 許可權 副本數
d.檔案對應哪些資料塊
e.資料塊對應哪些datanode節點上。

每個節點的塊有損壞等因素,nn節點不會持久化儲存塊的對映關係,故需要namenode與datanode   之間有一個動態維  護關係,叫做blockmap。


blockmap
datanode定期向namenode傳送blockreport資訊。
以此namenode在【記憶體】中動態維護這種對映關係。


假設 nn 8G,爆了
關於生產上 hdfs不適合儲存小檔案的思考, 生產上 hdfs不適合儲存小檔案?為什麼不合適?如果真的有小檔案,該怎麼辦?該怎麼合併。
假設namenode有8G大小,nn節點需要250位元組,有1億個小檔案即1億*250位元組大小,是很佔空間的
因為解決方案是:將碎片檔案儘量合併為小於一個塊的大小 ,例如:120m <=128m
hdfs合併檔案有具體方法,百度搜尋。
尋找存放檔案資訊:
su  - hadopp
ll
cd dfs/name/current
[root@hadoop001 current]# pwd
/tmp/hadoop-hadoop/dfs/name/current
[root@hadoop001 current]# ll
total 1040
-rw-r--r--. 1 root root 1048576 Feb 17 20:23 edits_inprogress_0000000000000000001   #存放檔案資訊位置, 記錄讀寫請求
-rw-r--r--. 1 root root     321 Feb 17 19:23 fsimage_0000000000000000000   #存放檔案資訊
-rw-r--r--. 1 root root      62 Feb 17 19:23 fsimage_0000000000000000000.md5
-rw-r--r--. 1 root root       2 Feb 17 19:23 seen_txid
-rw-r--r--. 1 root root     219 Feb 17 19:23 VERSION
提示:secoundarynode 程式就是透過備份edits_inprogress_0000000000000000001 和 fsimage_0000000000000000000來防止,檔案目錄樹字典的丟失 達到保護檔案資訊的目的。




datanode作用:  讀寫檔案的資料塊。

1.儲存【資料塊】和【資料塊的校驗和】
“資料塊的校驗和” 作用比如在上海寫入A塊和杭州寫入B塊。使用者在讀取資料先判斷       塊是否有損壞,再就近原則拿塊,高容錯的做法。
2.與namenode通訊:
a.每隔3秒傳送一個心跳,通知自己的連結狀態。
b.每10次心跳傳送一次當前節點的blockreport,以便namenode及時更新各節點塊資訊檔案。



snn作用:

1.讀取namenode日誌資訊,定時備份,將fsimage+editlog檔案合併為新的fsimage檔案,防止namenode掛掉。
2.將合併後的檔案推送給nn節點,簡稱為checkpoint
引數 :
dfs.namenode.checkpoint.period  3600s ,相當於1小時備份一次。


editlog與fsiamge的關係
editlog是小碎片檔案,fsiamge是一段時間內對editlog日誌檔案的歸併。
例如:editlog-001
editlog-002      統一合併為     fsiamge-001
editlog-003
editlog-004
editlog-001          
editlog-002    
editlog-003
editlog-004    統一合併為     fsiamge-002
editlog-005
editlog-006
editlog-007
editlog-008
這裡要注意:  fsiamge檔案是對前面 editlog日誌檔案的全量歸併,而不是增量。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28339956/viewspace-2636494/,如需轉載,請註明出處,否則將追究法律責任。

相關文章