溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Hadoop DataNode工作機(jī)制是怎樣的

發(fā)布時(shí)間:2021-12-09 14:16:09 來源:億速云 閱讀:198 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“Hadoop DataNode工作機(jī)制是怎樣的”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Hadoop DataNode工作機(jī)制是怎樣的”吧!

一、工作機(jī)制

1、基礎(chǔ)描述

Hadoop DataNode工作機(jī)制是怎樣的

DataNode上數(shù)據(jù)塊以文件形式存儲(chǔ)在磁盤上,包括兩個(gè)文件,一個(gè)是數(shù)據(jù)本身,一個(gè)是數(shù)據(jù)塊元數(shù)據(jù)包括長度、校驗(yàn)、時(shí)間戳;

DataNode啟動(dòng)后向NameNode服務(wù)注冊,并周期性的向NameNode上報(bào)所有的數(shù)據(jù)塊元數(shù)據(jù)信息;

DataNode與NameNode之間存在心跳機(jī)制,每3秒一次,返回結(jié)果帶有NameNode給該DataNode的執(zhí)行命令,例如數(shù)據(jù)復(fù)制刪除等,如果超過10分鐘沒有收到DataNode的心跳,則認(rèn)為該節(jié)點(diǎn)不可用。

2、自定義時(shí)長

通過hdfs-site.xml配置文件,修改超時(shí)時(shí)長和心跳,其中中的heartbeat.recheck.interval的單位為毫秒,dfs.heartbeat.interval的單位為秒。

<property>
    <name>dfs.namenode.heartbeat.recheck-interval</name>
    <value>600000</value>
</property>
<property>
    <name>dfs.heartbeat.interval</name>
    <value>6</value>
</property>

3、新節(jié)點(diǎn)上線

當(dāng)前機(jī)器的節(jié)點(diǎn)為hop01、hop02、hop03,在此基礎(chǔ)上新增節(jié)點(diǎn)hop04。

基本步驟

基于當(dāng)前一個(gè)服務(wù)節(jié)點(diǎn)克隆得到hop04環(huán)境;

修改Centos7相關(guān)基礎(chǔ)配置,并刪除data和log文件;

啟動(dòng)DataNode,即可關(guān)聯(lián)到集群;

4、多目錄配置

該配置同步集群下服務(wù),格式化啟動(dòng)hdfs及yarn,上傳文件測試。

<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///${hadoop.tmp.dir}/dfs/data01,file:///${hadoop.tmp.dir}/dfs/data02</value>
</property>

二、黑白名單配置

1、白名單設(shè)置

配置白名單,該配置分發(fā)到集群服務(wù)下;

[root@hop01 hadoop]# pwd
/opt/hadoop2.7/etc/hadoop
[root@hop01 hadoop]# vim dfs.hosts
hop01
hop02
hop03

配置hdfs-site.xml,該配置分發(fā)到集群服務(wù)下;

<property>
    <name>dfs.hosts</name>
    <value>/opt/hadoop2.7/etc/hadoop/dfs.hosts</value>
</property>

刷新NameNode

[root@hop01 hadoop2.7]# hdfs dfsadmin -refreshNodes

刷新ResourceManager

[root@hop01 hadoop2.7]# yarn rmadmin -refreshNodes

2、黑名單設(shè)置

配置黑名單,該配置分發(fā)到集群服務(wù)下;

[root@hop01 hadoop]# pwd
/opt/hadoop2.7/etc/hadoop
[root@hop01 hadoop]# vim dfs.hosts.exclude
hop04

配置hdfs-site.xml,該配置分發(fā)到集群服務(wù)下;

<property>
    <name>dfs.hosts.exclude</name>
    <value>/opt/hadoop2.7/etc/hadoop/dfs.hosts.exclude</value>
</property>

刷新NameNode

[root@hop01 hadoop2.7]# hdfs dfsadmin -refreshNodes

刷新ResourceManager

[root@hop01 hadoop2.7]# yarn rmadmin -refreshNodes

三、文件存檔

1、基礎(chǔ)描述

HDFS存儲(chǔ)的特點(diǎn),適合海量數(shù)據(jù)的大文件,如果每個(gè)文件都很小,會(huì)產(chǎn)生大量的元數(shù)據(jù)信息,占用過多的內(nèi)存,并且在NaemNode和DataNode交互的時(shí)候變的緩慢。

Hadoop DataNode工作機(jī)制是怎樣的

HDFS可以對一些小的文件進(jìn)行歸檔存儲(chǔ),這里可以理解為壓縮存儲(chǔ),即減少NameNode的消耗,也較少交互的負(fù)擔(dān),同時(shí)還允許對歸檔的小文件訪問,提高整體的效率。

2、操作流程

創(chuàng)建兩個(gè)目錄

# 存放小文件
[root@hop01 hadoop2.7]# hadoop fs -mkdir -p /hopdir/harinput
# 存放歸檔文件
[root@hop01 hadoop2.7]# hadoop fs -mkdir -p /hopdir/haroutput

上傳測試文件

[root@hop01 hadoop2.7]# hadoop fs -moveFromLocal LICENSE.txt /hopdir/harinput
[root@hop01 hadoop2.7]# hadoop fs -moveFromLocal README.txt /hopdir/harinput

歸檔操作

[root@hop01 hadoop2.7]# bin/hadoop archive -archiveName output.har -p /hopdir/harinput /hopdir/haroutput

查看歸檔文件

[root@hop01 hadoop2.7]# hadoop fs -lsr har:///hopdir/haroutput/output.har

Hadoop DataNode工作機(jī)制是怎樣的

這樣就可以把原來的那些小文件塊刪除即可。

解除歸檔文件

# 執(zhí)行解除
[root@hop01 hadoop2.7]# hadoop fs -cp har:///hopdir/haroutput/output.har/* /hopdir/haroutput
# 查看文件
[root@hop01 hadoop2.7]# hadoop fs -ls /hopdir/haroutput

四、回收站機(jī)制

1、基礎(chǔ)描述

如果開啟回收站功能,被刪除的文件在指定的時(shí)間內(nèi),可以執(zhí)行恢復(fù)操作,防止數(shù)據(jù)被誤刪除情況。HDFS內(nèi)部的具體實(shí)現(xiàn)就是在NameNode中啟動(dòng)一個(gè)后臺(tái)線程Emptier,這個(gè)線程專門管理和監(jiān)控系統(tǒng)回收站下面的文件,對于放進(jìn)回收站的文件且超過生命周期,就會(huì)自動(dòng)刪除。

2、開啟配置

該配置需要同步到集群下的所有服務(wù);

[root@hop01 hadoop]# vim /opt/hadoop2.7/etc/hadoop/core-site.xml 
# 添加內(nèi)容
<property>
   <name>fs.trash.interval</name>
    <value>1</value>
</property>

fs.trash.interval=0,表示禁用回收站機(jī)制,=1表示開啟。

感謝各位的閱讀,以上就是“Hadoop DataNode工作機(jī)制是怎樣的”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Hadoop DataNode工作機(jī)制是怎樣的這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI