欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:HDFS簡介及元數(shù)據(jù)管理機(jī)制

柚子快報邀請碼778899分享:HDFS簡介及元數(shù)據(jù)管理機(jī)制

http://yzkb.51969.com/

目錄

HDFS簡介

HDFS的一些終端指令

HDFS的元數(shù)據(jù)管理機(jī)制

HDFS的安全模式

一、Apache HDFS入門

1.1、HDFS基本概念

首先是一個文件系統(tǒng),就是用來存儲文件、存儲數(shù)據(jù)。是大數(shù)據(jù)最底層一個服務(wù)。

其次是一個分布式的文件系統(tǒng),分布式意味著多臺機(jī)器存儲。

1.2、HDFS設(shè)計目標(biāo)

具備故障檢測和快速恢復(fù)的能力(容錯/可靠)

面對海量數(shù)據(jù)的存儲,注重吞吐能力,而不是交互式。(延遲高,數(shù)據(jù)處理能力強(qiáng))

支持大文件存儲(越大越開心)

存儲方案其實(shí)就是講大文件拆分開,存儲到不同的服務(wù)上

一次寫入多次讀取模型 (不支持修改操作)

文件內(nèi)容,可以追加,但是不能靈活修改內(nèi)部數(shù)據(jù).

異構(gòu)存儲、可移植性

異構(gòu)存儲: 可以存儲不同格式,不同類型的數(shù)據(jù)文件

可移植性: 其實(shí)就是Java的可移植性

1.3、HDFS重要特性(重要)

節(jié)點(diǎn)的意義:

znode節(jié)點(diǎn): 就是ZooKeeper服務(wù)中存儲的一個集合文件和文件夾特性的數(shù)據(jù)

hdfs中的節(jié)點(diǎn): 說的就是一個服務(wù)角色(在這里節(jié)點(diǎn)時數(shù)據(jù)流轉(zhuǎn)的一個分叉口)

在hdfs集群中,數(shù)據(jù)可以在每一個服務(wù)中進(jìn)行流轉(zhuǎn),此時每一個集群角色都是一個節(jié)點(diǎn).

node1,node2,node3 他是服務(wù)器節(jié)點(diǎn): 也就是在多臺服務(wù)器組成的一個串聯(lián)關(guān)系中,每一個服務(wù)器都是一個節(jié)點(diǎn).

master|slaves 主從架構(gòu)

主角色(主節(jié)點(diǎn)): namenode,主要負(fù)責(zé)元數(shù)據(jù)的管理工作

從角色(從節(jié)點(diǎn)): datanode,主要負(fù)責(zé)數(shù)據(jù)的存儲工作

分塊存儲(在HDFS中數(shù)據(jù)都是以Block塊的形式存儲的)

在hadoop2.x版本之后塊的大小變成了128M,在之前是64M (2018年后基本上絕大多數(shù)公司使用的都是128M)

塊的大小是可以通過調(diào)節(jié)參數(shù)進(jìn)行設(shè)置的,但是一般我們不修改

當(dāng)存儲數(shù)據(jù)較大時,我們會按照指定大小將數(shù)據(jù)進(jìn)行分塊,分塊后存儲在不同的服務(wù)器中,這也就為大數(shù)據(jù)的存儲提供了可能

計算數(shù)據(jù)時,可以多個服務(wù)同時計算不同的塊,最終將結(jié)果進(jìn)行合并,提高了計算效率

舉例:

# 1. 文件 1.txt 大小為300M 該文件會分為幾個塊,每個塊大小是多少?? 3個

blk-1 128M

blk-2 128M

blk-3 44M

# 2. 文件 1.txt 20M 2.txt 200M 3.txt 1M 這幾個文件存儲時會分為幾個塊??? 4個

1.txt blk-1 20M

2.txt blk-2 128M

blk-3 72M

# 3. 文件1.txt 大小為128.1M 這個文件存儲會存為幾個塊??? 1個

在一定的范圍內(nèi),可以將超出塊大小一丁點(diǎn)的內(nèi)容保存為一個塊,減少小文件的出現(xiàn)

==副本機(jī)制==

在HDFS中默認(rèn)采用的是三副本機(jī)制(一個文件存儲3份)

在分布式存儲系統(tǒng)中都會進(jìn)行冗余存儲,保證數(shù)據(jù)的安全性

一個數(shù)據(jù)會保存三份,三份數(shù)據(jù),在不同的DataNode節(jié)點(diǎn)中

當(dāng)有一個DataNode節(jié)點(diǎn)宕機(jī)了,數(shù)據(jù)就會丟失,此時副本數(shù)量就不夠3個了

此時NameNode,檢查副本數(shù)量不足3,就會指揮其他的DataNode節(jié)點(diǎn)進(jìn)行數(shù)據(jù)備份,保證副本數(shù)量達(dá)到3

如果宕機(jī)的DataNode 又連接到集群中,NameNode檢測到副本數(shù)量大于3,此時會指揮部分DataNode 刪除副本

副本數(shù)量可以手動調(diào)節(jié),副本數(shù)量越多越安全,但是對于磁盤的消耗也越大,一般情況下,三副本機(jī)制已經(jīng)足夠安全了.

==namespace 名字空間 命名空間==

命名空間可以理解為使用數(shù)據(jù)模擬出一個目錄樹結(jié)構(gòu),方便我們查詢和使用數(shù)據(jù).

我們將所有文件的名稱都背下來不現(xiàn)實(shí),但是我們將文件分目錄管理,并且按照目錄層級進(jìn)行數(shù)據(jù)查詢就可以找到我們想要的數(shù)據(jù)(類似于linux中的目錄結(jié)構(gòu))

NameNode就是來管理這個命名空間的

命名空間中,同一個目錄結(jié)構(gòu)中的文件名稱只能有一個

==metadata 元數(shù)據(jù)==

元數(shù)據(jù): 描述數(shù)據(jù)的數(shù)據(jù)

我們將大文件拆分為多個block,每一個bolck塊從屬于哪一個文件,文件名,文件大小,塊的位置,副本數(shù)量.....都是元數(shù)據(jù)

NameNode專門負(fù)責(zé)管理這些元數(shù)據(jù)

思考: 如果不記錄這些元數(shù)據(jù)會發(fā)生什么?

寫數(shù)據(jù)的時候,不知道該寫入哪一個服務(wù),讀取數(shù)據(jù)時,不知道該從哪一個服務(wù)中讀取

請求數(shù)據(jù)時不知道該文件是否存在,刪除數(shù)據(jù)時不知道該文件是否刪除成功

所以我們想要存儲數(shù)據(jù)時,要先訪問NameNode獲取寫入的位置

想要讀取數(shù)據(jù)時,要先訪問NameNode,獲取讀取數(shù)據(jù)的位置

write one read many(一次寫入,多次讀取)

HDFS服務(wù)一次寫入多次讀取,不支持修改操作

HDFS更加適用于數(shù)據(jù)的分析工作,不適合作為業(yè)務(wù)服務(wù)數(shù)顯,因為延遲較高

hdfs只能作為大數(shù)據(jù)的存儲方案,其他的業(yè)務(wù)會使用其他存儲方案解決

HDFS不需要支持事務(wù) ,因為不可修改

什么是事務(wù): 多個任務(wù),要么同時成功要么同時失敗就是一個事物

舉例: 在銀行轉(zhuǎn)賬,Jack將1000元轉(zhuǎn)賬給Rose Jack的錢減少, 與Rose的錢增加是一個事物操作

二、HDFS shell操作

2.1、shell常見命令操作

常用的linux指令大部分可以用于hadoop的shell中 : ls mkdir rm cp mv cat .....

還有一些指令也比較重要,和linux中使用方式完全相同

chown: 修改文件歸屬

chgrp: 修改用戶組

chmod: 修改文件權(quán)限

get : 下載

put : 上傳

appendToFile : 追加

getmerge : 合并下載

三、HDFS工作機(jī)制

3.1、namenode、datanode職責(zé)(理解)

namenode 管理元數(shù)據(jù) 維護(hù)namespace

datanode 管理數(shù)據(jù)

3.2、讀寫流程圖

上傳文件寫數(shù)據(jù)流程

HDFS默認(rèn)3副本機(jī)制

我們再存儲副本時,要遵循三副本機(jī)制,

默認(rèn)情況下,我們按照如下策略選擇副本的存放位置

第一個副本,存放在clinet客戶端所在的服務(wù)器中,如果客戶端所在位置沒有DataNode,則在集群中隨機(jī)選擇一個DN進(jìn)行存儲

第二個副本,存放在與副本1不同的機(jī)架的隨機(jī)一個服務(wù)器上.

第三個副本,存放在于第二個副本相同機(jī)架的另外一個服務(wù)器上.

下載文件讀數(shù)據(jù)流程

3.3、NameNode與DataNode通信機(jī)制

dn啟動時

#datanode向nameNode進(jìn)行注冊 并行匯報自己持有數(shù)據(jù)塊信息

注冊表示自己啟動成功 匯報是高速namenode自己保存了哪些數(shù)據(jù)塊

dn后續(xù)工作時

#心跳機(jī)制

datanode每隔3S向namenode進(jìn)行心跳 目的:報活 dfs.heartbeat.interval

#數(shù)據(jù)塊匯報機(jī)制 blockreport

datanode每隔6小時向nameNode進(jìn)行數(shù)據(jù)塊匯報自己數(shù)據(jù)塊信息 dfs.blockreport.intervalMsec

四、HDFS namenode元數(shù)據(jù)管理機(jī)制

4.1、namenode元數(shù)據(jù)

元數(shù)據(jù)是什么

元數(shù)據(jù)(Metadata),又稱中介數(shù)據(jù)、中繼數(shù)據(jù),為描述數(shù)據(jù)的數(shù)據(jù)(data about data),主要是描述數(shù)據(jù)屬性(property)的信息,用來支持如指示存儲位置、歷史數(shù)據(jù)、資源查找、文件記錄等功能。

#記錄數(shù)據(jù)的數(shù)據(jù) 描述數(shù)據(jù)的數(shù)據(jù)

hdfs中元數(shù)據(jù)指的是什么

文件系統(tǒng)的元數(shù)據(jù)(namespace、塊的位置)

datanodes狀態(tài)信息(健康、磁盤使用率)

回想首次啟動HDFS集群的時候 進(jìn)行format操作

本質(zhì)就是初始化操作 初始化namenode工作目錄和元數(shù)據(jù)文件。

元數(shù)據(jù)存儲的目錄由參數(shù)dfs.namenode.name.dir決定 在NN部署機(jī)器的本地linux文件系統(tǒng)中

4.2、secondarynamenode功能職責(zé)

要想成為namenode的備份 需要具備兩個東西

數(shù)據(jù)狀態(tài)要和namenode保持一致。

承擔(dān)和namenode一樣的職責(zé)

secondarynamenode根本不是namenode的備份,其主要職責(zé)幫助nameNode進(jìn)行元數(shù)據(jù)的合并。

五、HDFS 安全模式

安全模式(safe mode)是HDFS集群處于一種保護(hù)狀態(tài),文件系統(tǒng)只可以讀,不可以寫。

安全模式如何進(jìn)入離開的?

1.自動進(jìn)入離開

#在HDFS集群剛啟動時候 會自動進(jìn)入 為了演示方便 使用單個進(jìn)程逐個啟動方式

#step1:啟動namenode

hadoop-daemon.sh start namenode

#step2: 執(zhí)行事務(wù)性操作 報錯

[root@node1 ~]# hadoop fs -mkdir /aaaa

mkdir: Cannot create directory /aaaa. Name node is in safe mode.

Safe mode is ON. The reported blocks 0 needs additional 52 blocks to reach the threshold 0.9990 of total blocks 52. The number of live datanodes 0 has reached the minimum number 0. Safe mode will be turned off automatically once the thresholds have been reached.

#1、條件1:已經(jīng)匯報的block達(dá)到總數(shù)據(jù)塊的 0.999

#2、條件2:存活的dn數(shù)量大于等于0 說明這個條件不嚴(yán)格

#step3:依次手動啟動datanode

hadoop-daemon.sh start datanode

Safe mode is ON. The reported blocks 52 has reached the threshold 0.9990 of total blocks 52. The number of live datanodes 2 has reached the minimum number 0. In safe mode extension. Safe mode will be turned off automatically in 25 seconds.

#3、條件3:滿足12條件的情況下 持續(xù)30s 結(jié)束自動離開安全模式

Safemode is off.

#為什么集群剛啟動的時候 要進(jìn)入安全模式

文件系統(tǒng)元數(shù)據(jù)不完整 無法對外提供可高的文件服務(wù) 屬于內(nèi)部的元數(shù)據(jù)匯報、校驗、構(gòu)建的過程。

2.手動進(jìn)入離開

hdfs dfsadmin -safemode enter

hdfs dfsadmin -safemode leave

Safe mode is ON. It was turned on manually. Use "hdfs dfsadmin -safemode leave" to turn safe mode off.

#運(yùn)維人員可以手動進(jìn)入安全模式 進(jìn)行集群的維護(hù)升級等動作 避免了群起群停浪費(fèi)時間。

安全模式的注意事項

剛啟動完hdfs集群之后 等安全模式介紹才可以正常使用文件系統(tǒng) 文件系統(tǒng)服務(wù)才是正??捎?。

后續(xù)如果某些軟件依賴HDFS工作,必須先啟動HDFS且等安全模式結(jié)束才可以使用你的軟件。

啟動-->啟動成功-->可用(安全模式結(jié)束)

柚子快報邀請碼778899分享:HDFS簡介及元數(shù)據(jù)管理機(jī)制

http://yzkb.51969.com/

文章來源

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19558365.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄