国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

貴州省建設(shè)監(jiān)理協(xié)會網(wǎng)站是什么如何制作微信小程序店鋪

貴州省建設(shè)監(jiān)理協(xié)會網(wǎng)站是什么,如何制作微信小程序店鋪,建設(shè)工程用地批準(zhǔn)手續(xù)在哪個網(wǎng)站,唐河微網(wǎng)站開發(fā)5.1NN和2NN工作機(jī)制 5.1.1思考:NameNode中的元數(shù)據(jù)是存儲在哪里的? 首先,我們做個假設(shè),如果存儲在NameNode節(jié)點(diǎn)的磁盤中,因為經(jīng)常需要進(jìn)行隨機(jī)訪問,還有響應(yīng)客戶請求,必然是效率過低。因此&am…

5.1NN和2NN工作機(jī)制

5.1.1思考:NameNode中的元數(shù)據(jù)是存儲在哪里的?

首先,我們做個假設(shè),如果存儲在NameNode節(jié)點(diǎn)的磁盤中,因為經(jīng)常需要進(jìn)行隨機(jī)訪問,還有響應(yīng)客戶請求,必然是效率過低。因此,元數(shù)據(jù)需要存放在內(nèi)存中。但如果只存在內(nèi)存中,一旦斷電,元數(shù)據(jù)丟失,整個集群就無法工作了。因此產(chǎn)生在磁盤中備份元數(shù)據(jù)的FsImage。

這樣又會帶來新的問題,當(dāng)在內(nèi)存中的元數(shù)據(jù)更新時,如果同時更新FsImage,就會導(dǎo)致效率過低,但如果不更新,就會發(fā)生一致性問題,一旦NameNode節(jié)點(diǎn)斷電,就會產(chǎn)生數(shù)據(jù)丟失。因此,引入Edits文件(只進(jìn)行追加操作,效率很高)。每當(dāng)元數(shù)據(jù)有更新或者添加元數(shù)據(jù)時,修改內(nèi)存中的元數(shù)據(jù)并追加到Edits中。這樣,一旦NameNode節(jié)點(diǎn)斷電,可以通過FsImage和Edits的合并,合成元數(shù)據(jù)。

但是,如果長時間添加數(shù)據(jù)到Edits中,會導(dǎo)致該文件數(shù)據(jù)過大,效率降低,而且一旦斷電,恢復(fù)元數(shù)據(jù)需要的時間過長。因此,需要定期進(jìn)行FsImage和Edits的合并,如果這個操作由NameNode節(jié)點(diǎn)完成,又會效率過低。因此,引入一個新的節(jié)點(diǎn)SecondaryNamenode,專門用于FsImage和Edits的合并。

Untitled (3)

5.1.2NameNode工作機(jī)制

NN和2NN工作機(jī)制,如下圖所示。

Untitled (4)

  1. 第一階段:NameNode啟動

(1)第一次啟動NameNode格式化后,創(chuàng)建Fsimage和Edits文件。如果不是第一次啟動,直接加載編輯日志和鏡像文件到內(nèi)存。

(2)客戶端對元數(shù)據(jù)進(jìn)行增刪改的請求。

(3)NameNode記錄操作日志,更新滾動日志。

(4)NameNode在內(nèi)存中對數(shù)據(jù)進(jìn)行增刪改。

  1. 第二階段:Secondary NameNode工作

(1)Secondary NameNode詢問NameNode是否需要CheckPoint。直接帶回NameNode是否檢查結(jié)果。

(2)Secondary NameNode請求執(zhí)行CheckPoint。

(3)NameNode滾動正在寫的Edits日志。

(4)將滾動前的編輯日志和鏡像文件拷貝到Secondary NameNode。

(5)Secondary NameNode加載編輯日志和鏡像文件到內(nèi)存,并合并。

(6)生成新的鏡像文件fsimage.chkpoint。

(7)拷貝fsimage.chkpoint到NameNode。

(8)NameNode將fsimage.chkpoint重新命名成fsimage。

5.1.3NN和2NN工作機(jī)制詳解

Fsimage:NameNode內(nèi)存中元數(shù)據(jù)序列化后形成的文件。

Edits:記錄客戶端更新元數(shù)據(jù)信息的每一步操作(可通過Edits運(yùn)算出元數(shù)據(jù))。

NameNode啟動時,先滾動Edits并生成一個空的edits.inprogress,然后加載Edits和Fsimage到內(nèi)存中,此時NameNode內(nèi)存就持有最新的元數(shù)據(jù)信息。Client開始對NameNode發(fā)送元數(shù)據(jù)的增刪改的請求,這些請求的操作首先會被記錄到edits.inprogress中(查詢元數(shù)據(jù)的操作不會被記錄在Edits中,因為查詢操作不會更改元數(shù)據(jù)信息),如果此時NameNode掛掉,重啟后會從Edits中讀取元數(shù)據(jù)的信息。然后,NameNode會在內(nèi)存中執(zhí)行元數(shù)據(jù)的增刪改的操作。

由于Edits中記錄的操作會越來越多,Edits文件會越來越大,導(dǎo)致NameNode在啟動加載Edits時會很慢,所以需要對Edits和Fsimage進(jìn)行合并(所謂合并,就是將Edits和Fsimage加載到內(nèi)存中,照著Edits中的操作一步步執(zhí)行,最終形成新的Fsimage)。SecondaryNameNode的作用就是幫助NameNode進(jìn)行Edits和Fsimage的合并工作。

SecondaryNameNode首先會詢問NameNode是否需要CheckPoint(觸發(fā)CheckPoint需要滿足兩個條件中的任意一個,定時時間到和Edits中數(shù)據(jù)寫滿了)。直接帶回NameNode是否檢查結(jié)果。SecondaryNameNode執(zhí)行CheckPoint操作,首先會讓NameNode滾動Edits并生成一個空的edits.inprogress,滾動Edits的目的是給Edits打個標(biāo)記,以后所有新的操作都寫入edits.inprogress,其他未合并的Edits和Fsimage會拷貝到SecondaryNameNode的本地,然后將拷貝的Edits和Fsimage加載到內(nèi)存中進(jìn)行合并,生成fsimage.chkpoint,然后將fsimage.chkpoint拷貝給NameNode,重命名為Fsimage后替換掉原來的Fsimage。NameNode在啟動時就只需要加載之前未合并的Edits和Fsimage即可,因為合并過的Edits中的元數(shù)據(jù)信息已經(jīng)被記錄在Fsimage中。

5.2 Fsimage和Edits解析

  1. 概念

NameNode被格式化之后,將在/opt/modult/hadoop-2.7.7/data/tmp/dfs/name/current目錄中產(chǎn)生如下文件

edits_inprogress_0000000000000004969
fsimage_0000000000000004966
seen_txid
VERSION

(1)fsimage文件:HDFS文件系統(tǒng)元數(shù)據(jù)的一個永久性檢查點(diǎn),其中包含HDFS文件系統(tǒng)的所有目錄和文件inode的序列化信息。

(2)edits文件:存放HDFS文件系統(tǒng)的所有更新操作的路徑,文件系統(tǒng)客戶端執(zhí)行的所有寫操作首先會被記錄到edits文件中。

(3)seen_txid文件:存放最后一個edits的數(shù)字。

(4)每次NameNode啟動的時候都會將fsimage文件讀入內(nèi)存,加載edits里面的更新操作,保證內(nèi)存中的元數(shù)據(jù)信息是最新的、同步的,可以看成NameNode啟動的時候就將fsimage文件進(jìn)行了合并。

  1. oiv查看Fsimage文件

(1)查看oiv和oev命令

[root@hdp101 current]# hdfs
oiv            apply the offline fsimage viewer to an fsimage
oev            apply the offline edits viewer to an edits file

(2)基本語法

hdfs oiv -p 文件類型 -i鏡像文件 -o 轉(zhuǎn)換后文件輸出路徑

(3)案例實操

[root@hdp101 current]# pwd
/opt/module/hadoop-2.7.7/data/tmp/dfs/name/current
[root@hdp101 current]# hdfs oiv -p XML -i fsimage_0000000000000000025 -o /opt/module/hadoop-2.7.7/fsimage.xml
[root@hdp101 current]# cat /opt/module/hadoop-2.7.7/fsimage.xml

將顯示的xml文件內(nèi)容拷貝到Eclipse中創(chuàng)建的xml文件中,并格式化。

思考:可以看出,Fsimage中沒有記錄塊所對應(yīng)DataNode,為什么?

在集群啟動后,要求DataNode上報數(shù)據(jù)塊信息,并間隔一段時間后再次上報。

  1. oev查看Edits文件

(1)基本語法

hdfs oev -p 文件類型 -i編輯日志 -o 轉(zhuǎn)換后文件輸出路徑

(2)案例實操

[root@hdp101 current]# hdfs oev -p XML -i edits_0000000000000000012-0000000000000000013 -o /opt/module/hadoop-2.7.7/edits.xml[root@hdp101 current]# cat /opt/module/hadoop-2.7.7/edits.xml

將顯示的xml文件內(nèi)容拷貝到Eclipse中創(chuàng)建的xml文件中,并格式化。

5.3CheckPoint時間設(shè)置

(1)通常情況下,SecondaryNameNode每隔一小時執(zhí)行一次。

[hdfs-default.xml]

<property><name>dfs.namenode.checkpoint.period</name><value>3600</value>
</property>

(2)一分鐘檢查一次操作次數(shù),當(dāng)操作次數(shù)達(dá)到1百萬時,SecondaryNameNode執(zhí)行一次。

<property><name>dfs.namenode.checkpoint.txns</name><value>1000000</value><description>操作動作次數(shù)</description>
</property><property><name>dfs.namenode.checkpoint.check.period</name><value>60</value><description> 1分鐘檢查一次操作次數(shù)</description>
</property >

5.4NameNode故障處理

NameNode故障后,可以采用如下兩種方法恢復(fù)數(shù)據(jù)。

方法一:將SecondaryNameNode中數(shù)據(jù)拷貝到NameNode存儲數(shù)據(jù)的目錄;

  1. kill -9 NameNode進(jìn)程
  2. 刪除NameNode存儲的數(shù)據(jù)(/opt/module/hadoop-2.7.7/data/tmp/dfs/name)
[root@hdp101 hadoop-2.7.7]# rm -rf /opt/module/hadoop-2.7.7/data/tmp/dfs/name/*
  1. 拷貝SecondaryNameNode中數(shù)據(jù)到原NameNode存儲數(shù)據(jù)目錄
[root@hdp101 dfs]# scp -r root@hdp103:/opt/module/hadoop-2.7.7/data/tmp/dfs/namesecondary/* ./name/
  1. 重新啟動NameNode
[root@hdp101 hadoop-2.7.7]# sbin/hadoop-daemon.sh start namenode

方法二:使用-importCheckpoint選項啟動NameNode守護(hù)進(jìn)程,從而將SecondaryNameNode中數(shù)據(jù)拷貝到NameNode目錄中。

  1. 修改hdfs-site.xml中的
<property><name>dfs.namenode.checkpoint.period</name><value>120</value>
</property><property><name>dfs.namenode.name.dir</name><value>/opt/module/hadoop-2.7.7/data/tmp/dfs/name</value>
</property>
  1. kill -9 NameNode進(jìn)程

  2. 刪除NameNode存儲的數(shù)據(jù)(/opt/module/hadoop-2.7.7/data/tmp/dfs/name)

[root@hdp101 hadoop-2.7.7]# rm -rf /opt/module/hadoop-2.7.7/data/tmp/dfs/name/*
  1. 如果SecondaryNameNode不和NameNode在一個主機(jī)節(jié)點(diǎn)上,需要將SecondaryNameNode存儲數(shù)據(jù)的目錄拷貝到NameNode存儲數(shù)據(jù)的平級目錄,并刪除in_use.lock文件
[root@hdp101 dfs]# scp -r root@hdp103:/opt/module/hadoop-2.7.7/data/tmp/dfs/namesecondary ./[root@hdp101 namesecondary]# rm -rf in_use.lock[root@hdp101 dfs]# pwd
/opt/module/hadoop-2.7.7/data/tmp/dfs
[root@hdp101 dfs]# ls
data  name  namesecondary
  1. 導(dǎo)入檢查點(diǎn)數(shù)據(jù)(等待一會ctrl+c結(jié)束掉)
[root@hdp101 hadoop-2.7.7]# bin/hdfs namenode -importCheckpoint
  1. 啟動NameNode
[root@hdp101 hadoop-2.7.7]# sbin/hadoop-daemon.sh start namenode

5.5 集群安全模式

5.5.1概述

1、NameNode啟動

NameNode啟動時,首先將鏡像文件(Fsimage)載入內(nèi)存,并執(zhí)行編輯日志(Edits)中的各項操作。一旦在內(nèi)存中成功建立文件系統(tǒng)元數(shù)據(jù)的映像,則闖將一個新的Fsimage文件和一個空的編輯日志。此時,NameNode開始監(jiān)聽DataNode的請求。這個過程期間,NameNode一直運(yùn)行在安全模式,即NameNode的文件系統(tǒng)對于客戶端來說是只讀的。

2、DataNode啟動

系統(tǒng)中的數(shù)據(jù)塊的位置并不是由NameNode維護(hù)的,而是以塊列表的形式存儲在DataNode中。在系統(tǒng)正常操作期間,NameNode會在內(nèi)存中保留所有塊位置的映射信息。在安全模式下,各個DataNode會向NameNode發(fā)送最新的塊列表信息,NameNode了解到足夠多的塊信息之后,即可高效運(yùn)行文件系統(tǒng)。

3、安全模式退出判斷

如果滿足“最小副本條件”,NameNode會在30s之后就退出安全模式。所謂的最小副本條件指的是在整個文件系統(tǒng)中99.99%的塊滿足最小副本級別(默認(rèn)值:dfs.replication.min=1)。在啟動一個剛剛格式化的HDFS集群時,因為系統(tǒng)中還沒有任何塊,所以NameNode不會進(jìn)入安全模式。

5.5.2基本語法

集群處于安全模式,不能執(zhí)行重要操作(寫操作)。集群啟動完成后,自動退出安全模式。

(1)bin/hdfs dfsadmin -safemode get (功能描述:查看安全模式狀態(tài))

(2)bin/hdfs dfsadmin -safemode enter (功能描述:進(jìn)入安全模式狀態(tài))

(3)bin/hdfs dfsadmin -safemode leave (功能描述:離開安全模式狀態(tài))

(4)bin/hdfs dfsadmin -safemode wait (功能描述:等待安全模式狀態(tài))

5.5.3案例

模擬等待安全模式

(1)查看當(dāng)前模式

[root@hdp101 hadoop-2.7.7]# hdfs dfsadmin -safemode get
Safe mode is OFF

(2)先進(jìn)入安全模式

[root@hdp101 hadoop-2.7.7]# bin/hdfs dfsadmin -safemode enter

(3)創(chuàng)建并執(zhí)行下面的腳本

在/opt/module/hadoop-2.7.7路徑上,編輯一個腳本safemode.sh

[root@hdp101 hadoop-2.7.7]# touch safemode.sh
[root@hdp101 hadoop-2.7.7]# vim safemode.sh#!/bin/bash
hdfs dfsadmin -safemode wait
hdfs dfs -put /opt/module/hadoop-2.7.7/README.txt /
[root@hdp101 hadoop-2.7.7]# chmod 777 safemode.sh
[root@hdp101 hadoop-2.7.7]# ./safemode.sh

(4)再打開一個窗口,執(zhí)行

[root@hdp101 hadoop-2.7.7]# bin/hdfs dfsadmin -safemode leave

(5)觀察

(a)再觀察上一個窗口
Safe mode is OFF
(b)HDFS集群上已經(jīng)有上傳的數(shù)據(jù)了。

5.6 NameNode多目錄配置

  1. NameNode的本地目錄可以配置成多個,且每個目錄存放內(nèi)容相同,增加了可靠性
  2. 具體配置如下

(1)在hdfs-site.xml文件中增加如下內(nèi)容

<property><name>dfs.namenode.name.dir</name><value>file:///${hadoop.tmp.dir}/dfs/name1,file:///${hadoop.tmp.dir}/dfs/name2</value>
</property>

(2)停止集群,集群中刪除data和logs中所有數(shù)據(jù)。

[root@hdp101 hadoop-2.7.7]$ rm -rf data/ logs/
[root@hadoop103 hadoop-2.7.7]$ rm -rf data/ logs/
[root@hadoop104 hadoop-2.7.7]$ rm -rf data/ logs/

(3)格式化集群并啟動。

[root@hdp101 hadoop-2.7.7]$ bin/hdfs namenode –format
[root@hdp101 hadoop-2.7.7]$ sbin/start-dfs.sh

(4)查看結(jié)果

[root@hdp101 dfs]$ ll
總用量 12
drwx------. 3 root root 4096 1211 08:03 data
drwxrwxr-x. 3 root root 4096 1211 08:03 name1
drwxrwxr-x. 3 root root 4096 1211 08:03 name2
http://aloenet.com.cn/news/47464.html

相關(guān)文章:

  • 東莞免費(fèi)企業(yè)網(wǎng)站模板推廣搜狗網(wǎng)站收錄入口
  • 余姚企業(yè)網(wǎng)站建設(shè)青島seo推廣
  • 有沒有適合寶媽找工作做兼職的網(wǎng)站web免費(fèi)網(wǎng)站
  • 東莞高端品牌網(wǎng)站建設(shè)營銷推廣的工具有哪些
  • 怎樣獲得做網(wǎng)站的客戶源碼之家
  • wordpress快速扒站網(wǎng)站seo方案案例
  • 專業(yè)做網(wǎng)站排名多少錢網(wǎng)上如何推廣自己的產(chǎn)品
  • 抖音小程序變現(xiàn)真的能賺錢嗎seo優(yōu)化報價
  • h5制作多少錢seo教程最新
  • 保定網(wǎng)站制作軟件天津百度推廣電話號碼
  • 如何搭建一個簡單的網(wǎng)站seo推廣排名平臺有哪些
  • 蘇州高端網(wǎng)站建設(shè)設(shè)計深圳百度搜索排名優(yōu)化
  • 如何做英文網(wǎng)站推廣廣州百度快速優(yōu)化排名
  • 網(wǎng)站建設(shè)主要產(chǎn)品網(wǎng)盤資源
  • 貴州省城鄉(xiāng)與建設(shè)廳網(wǎng)站網(wǎng)絡(luò)營銷圖片素材
  • 本地的唐山網(wǎng)站建設(shè)零基礎(chǔ)seo入門教學(xué)
  • 網(wǎng)站設(shè)置安全哈爾濱seo優(yōu)化
  • 用ih5做微網(wǎng)站博客可以做seo嗎
  • 提升網(wǎng)站收錄網(wǎng)絡(luò)銷售平臺排名
  • 哈爾濱網(wǎng)站開發(fā)制作岳陽seo快速排名
  • 自己建立公司網(wǎng)站 怎樣做怎么做好營銷推廣
  • 使網(wǎng)站有流量萬能搜索引擎
  • 網(wǎng)站開發(fā)輔助工具地推怎么做最有效
  • 企業(yè)網(wǎng)站建設(shè)框架圖2345網(wǎng)址導(dǎo)航瀏覽器下載
  • 二手車網(wǎng)站模版售價美國站外推廣網(wǎng)站
  • 做博客的網(wǎng)站有哪些功能seo知識是什么意思
  • aspnet東莞網(wǎng)站建設(shè)多少錢alexa排名查詢統(tǒng)計
  • 做游戲代練去那個網(wǎng)站石家莊最新疫情
  • 路橋做網(wǎng)站衡陽seo優(yōu)化首選
  • 婚禮禮網(wǎng)站如何做的aso優(yōu)化服務(wù)站