新都网站建设/seo诊断工具

新都网站建设,seo诊断工具,建设网站公司怎么收费,查看自己网站访问量1.NameNode元数据多目录 HDFS集群中可以在hdfs-site.xml中配置“dfs.namenode.name.dir”属性来指定NameNode存储数据的目录,默认NameNode数据存储在${hadoop.tmp.dir}/dfs/name目录,“hadoop.tmp.dir”配置项在core-site.xml中。 我们也可以将NameNod…

1.NameNode元数据多目录

HDFS集群中可以在hdfs-site.xml中配置“dfs.namenode.name.dir”属性来指定NameNode存储数据的目录,默认NameNode数据存储在${hadoop.tmp.dir}/dfs/name目录,“hadoop.tmp.dir”配置项在core-site.xml中。

我们也可以将NameNode存储元数据的目录设置为多个, 每个目录中存储内容相同,两者相当于是备份,这样可以增加元数据安全可靠性。例如:元数据目录设置2个,一个目录设置在A磁盘上,一个目录设置到B磁盘上,这样当磁盘A坏掉后,NameNode存储元数据也不会丢失。

具体配置可以按照如下步骤进行。

配置hdfs-site.xml文件

这里在node1 NameNode节点上配置dfs.namenode.name.dir,指定两个目录。

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

分发hdfs-site.xml

如果其他节点的NameNode节点磁盘目录和node1节点一样,可以将配置好的hdfs-site.xml分发到其他节点,否则不需要分发,那么就只有node1的NameNode节点按照此配置有2个元数据目录。

这里将hdfs-site.xml分发到其他NameNode节点上(node2、node3)。

[root@node1 ~]# cd /software/hadoop-3.3.6/etc/hadoop/
[root@node1 hadoop]# scp ./hdfs-site.xml node2:`pwd`
[root@node1 hadoop]# scp ./hdfs-site.xml node3:`pwd`

删除原有集群数据

配置NameNode多数据目录需要重新格式化集群才能生效,所以在开始搭建集群的时候就要进行规划。现在已经有了HDFS集群,那么需要停止原有集群,删除原有集群zookeeper中数据和各个节点HDFS角色数据目录。

删除zookeeper中数据:

[root@node5 ~]# zkCli.sh 
[zk: localhost:2181(CONNECTED) 2] deleteall /hadoop-ha

node1~node5各个节点删除角色数据目录:

#node1~node5 节点上删除NameNode和DataNode数据目录
rm -rf /opt/data/hadoop/#node3~node5 节点上删除JournalNode数据目录
rm -rf /opt/data/journal

重新格式化集群

#在node3,node4,node5节点上启动zookeeper
zkServer.sh start#在node1上格式化zookeeper
[root@node1 ~]# hdfs zkfc -formatZK#在每台journalnode中启动所有的journalnode,这里就是node3,node4,node5节点上启动
hdfs --daemon start journalnode#在node1中格式化namenode,只有第一次搭建做,以后不用做
[root@node1 ~]# hdfs namenode -format#在node1中启动namenode,以便同步其他namenode
[root@node1 ~]# hdfs --daemon start namenode#高可用模式配置namenode,使用下列命令来同步namenode(在需要同步的namenode中执行,这里就是在node2、node3上执行):
[root@node2 software]# hdfs namenode -bootstrapStandby
[root@node3 software]# hdfs namenode -bootstrapStandby

通过HDFS WebUI查看NameNode存储目录信息:

2. DataNode 数据多目录

DataNode负责存储HDFS数据,HDFS中数据默认存储在各个DataNode节点file://${hadoop.tmp.dir}/dfs/data 路径中,可以通过hdfs-site.xml文件中的参数hadoop.tmp.dir来配置,我们也可以给该参数配置多个路径,不同路径挂载到不同磁盘来解决datanode存储空间不足问题。

需要注意:hadoop.tmp.dir 设置多个路径后不需重新格式化HDFS集群,只需要重启即可生效。此外,DataNode多个路径中数据并不是副本关系,而是不同目录存储不同数据。

配置hdfs-site.xml文件

这里在node3 DataNode节点上配置dfs.datanode.data.dir,指定两个目录。

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

分发hdfs-site.xml

如果其他节点的DataNode节点磁盘目录和node3节点一样,可以将配置好的hdfs-site.xml分发到其他节点,否则不需要分发,那么就只有node3的DataNode节点按照此配置有2个数据目录。

这里将hdfs-site.xml分发到其他DataNode节点上(node4、node5)。

[root@node3 ~]# cd /software/hadoop-3.3.6/etc/hadoop/
[root@node3 hadoop]# scp ./hdfs-site.xml node4:`pwd`
[root@node3 hadoop]# scp ./hdfs-site.xml node5:`pwd`

重启集群并检查DataNode数据目录

#重启集群
[root@node1 ~]# stop-all.sh
[root@node1 ~]# start-all.sh#每台DataNode节点检查数据目录,可以看到data1、data2目录
ls /opt/data/hadoop/dfs/
data  data1  data2  name1  name2

HDFS WebUI查看每个DataNode节点的数据存储路径如下:

 

测试

向HDFS中存储数据时,HDFS会自动均衡负载(轮询方式)决定将数据块存储在哪个目录中。此外,我们还可以配置HDFS每个目录的存储策略,决定将不同HDFS 目录的数据存储在不同的DataNode磁盘目录中,详细参考“HDFS 异构存储”小节。

例如将如下data.txt数据上传至HDFS:

#data.txt数据
1,zs
2,ls
3,ww
4,ml
5,tq[root@node5 ~]# hdfs dfs -put ./data.txt /

以上数据文件上传至HDFS后,可以看到只有一个block,3个副本,默认block数据存储在各个DataNode节点的data1目录下

[root@node3 subdir0]#  ll /opt/data/hadoop/dfs/data1/current/BP-187707191-192.168.179.4-1715610189467/current/finalized/subdir0/subdir0
blk_1073741825 blk_1073741825_1001.meta

movieData.txt大文件上传至HDFS后,该文件会产生3个block ,3个block分别按照轮询方式存储在data1和data2目录中:

[root@node3 ~]# ls /opt/data/hadoop/dfs/data1/current/BP-187707191-192.168.179.4-1715610189467/current/finalized/subdir0/subdir0
blk_1073741825 blk_1073741825_1001.meta blk_1073741827 blk_1073741827_1003.meta blk_1073741829 blk_1073741829_1005.meta[root@node3 ~]# ls /opt/data/hadoop/dfs/data2/current/BP-187707191-192.168.179.4-1715610189467/current/finalized/subdir0/subdir0
blk_1073741826 blk_1073741826_1002.meta blk_1073741828 blk_1073741828_1004.meta

3.HDFS异构存储

在Hadoop中,异构存储指的是根据数据的使用模式和特性,将数据分配到不同类型或特性的存储介质上。在企业中,HDFS中的数据根据使用频繁程度分为不同类型,这些类型包括热、温、冷数据,我们可以通过异构存储将不同类型数据根据存储策略存储在不同的介质中,例如:将不活跃或冷数据存储在成本较低的设备上(机械硬盘),而将活跃数据存储在性能更高的设备上(固态硬盘SSD),这样的存储策略通过平衡性能、成本和数据访问模式,提高了数据存储的效率和经济性。

异构存储是Hadoop2.6.0版本引入的特性,使得在存储数据时可以更好地利用不同存储介质的优势,从而提高整个系统的性能和灵活性。

3.1数据存储类型及存储策略

HDFS中数据存储类型有如下几种:

  • DISK:DISK存储类型表示数据存储在普通机械硬盘上,默认的存储类型
  • ARCHIVE:ARCHIVE存储类型通常用于归档数据,这些归档数据通常以压缩文件方式长期存储,具备存储密度高、不经常访问的特点,例如:历史备份数据。这类数据存储介质一般可选普通磁盘。
  • SSD:SSD存储类型表示数据存储在固态硬盘上,相比于传统的机械硬盘,SSD具有更快的读写速度和更低的访问延迟。
  • RAM_DISK:RAM_DISK存储类型表示数据存储在内存中模拟的硬盘中,由于内存的读写速度非常快,因此RAM_DISK存储类型通常用于对数据访问速度要求非常高的场景。

我们可以在hdfs-site.xml中配置dfs.datanode.data.dir配置项给DataNode配置数据存储目录,这些目录可以配置多个并可以指定以上不同的存储类型。当向HDFS中写入数据时,哪些数据存储在对应的存储类型中就需要根据HDFS中目录的存储策略来决定,这些存储策略需要用户来执行对应命令来指定。

HDFS中支持如下不同的存储策略:

以上表格有如下两点解释:

  • PROVIDED存储策略指的是在HDFS之外存储数据。LAZY_PERSIST存储策略指Block副本首先写在RAM_DISK中,然后惰性的保存在磁盘中。
  • #3列表示该策略下Block的分别,例如:“[SSD, DISK]”表示第一个block块存储在SSD存储类型中,其他block块存储在 DISK 存储类型中。
  • 关于#4列和#5列的解释如下:当#3列数据存储介质有足够的空间时,block存储按照#3指定的进行存储,如果空间不足,创建新文件和数据副本将按照#4和#5列中指定的介质存储。
  • HOT存储策略是默认的存储策略。常用的存储策略有COLD、WARN、HOT、ONE_SSD、ALL_SSD几种。

3.2HDFS存储类型配置

HDFS数据存储在DataNode中,设置HDFS存储类型与DataNode数据多目录设置一样,直接通过hdfs-site.xml文件中的参数hadoop.tmp.dir来配置,可以在目录前面指定“DISK、ARCHIVE、SSD、RAM_DISK”不同的存储类型,如果不配置默认所有存储类型为DISK。

在现有HDFS集群中,DataNode节点有3个(node3~node5),分别给每个DataNode节点设置多目录,并在不同的DataNode节点中给不同目录指定不同的存储类型。

hadoop.tmp.dir 设置多个路径后不需重新格式化HDFS集群,只需要重启即可生效。

按照如下步骤给DataNode设置多个存储磁盘路径及存储类型。

开启存储策略功能

在所有HDFS DataNode节点上,配置hdfs-site.xml文件中“dfs.storage.policy.enabled”配置项为true,该值默认为true,表示开启HDFS存储策略功能。

在node3~node5所有DataNode节点上配置hdfs-site.xml:

<property><name>dfs.storage.policy.enabled</name><value>true</value></property>

配置hdfs-site.xml文件

修改node3 DataNode节点上hdfs-site.xml中配置项dfs.datanode.data.dir,指定两个目录存储类型为DISK和ARCHIVE。

<property><name>dfs.datanode.data.dir</name><value>[DISK]file://${hadoop.tmp.dir}/dfs/disk,[ARCHIVE]file://${hadoop.tmp.dir}/dfs/archive</value></property>

修改node4 DataNode节点上hdfs-site.xml中配置项dfs.datanode.data.dir,指定两个目录存储类型为ARCHIVE和SSD。

<property><name>dfs.datanode.data.dir</name><value>[ARCHIVE]file://${hadoop.tmp.dir}/dfs/archive,[SSD]file://${hadoop.tmp.dir}/dfs/ssd</value></property>

修改node5 DataNode节点上hdfs-site.xml中配置项dfs.datanode.data.dir,指定两个目录存储类型为SSD和RAM_DISK。

<property><name>dfs.datanode.data.dir</name><value>[SSD]file://${hadoop.tmp.dir}/dfs/ssd,[DISK]file://${hadoop.tmp.dir}/dfs/disk</value></property>

 重启集群并检查DataNode数据目录

#重启集群
[root@node1 ~]# stop-all.sh
[root@node1 ~]# start-all.sh#node3 DataNode节点检查数据目录,可以看到disk、archive目录
[root@node3 hadoop]# ls /opt/data/hadoop/dfs/
archive  data  data1  data2  disk  name1  name2#node4 DataNode节点检查数据目录,可以看到archive、ssd目录
[root@node4 hadoop]# ls /opt/data/hadoop/dfs/
archive  data  data1  data2  ssd#node5 DataNode节点检查数据目录,可以看到ssd、ramdisk目录
[root@node5 hadoop]# ls /opt/data/hadoop/dfs/
data  data1  data2  ramdisk  ssd

通过HDFS WebUI查看每个DataNode节点的数据存储路径,由于给每个DataNode配置了新的数据目录,原有HDFS中的数据文件会找不到原来数据的block信息,出现如下提示:

解决以上问题,只需要执行删除损坏文件block命令即可:

#查看缺失文件block
[root@node5 hadoop]# hdfs fsck /
... ...
/data.txt: MISSING 1 blocks of total size 25 B.
/movieData.txt: MISSING 3 blocks of total size 269317754 B.
... ...#删除缺失的文件,正常文件不会被删除
[root@node5 hadoop]# hdfs fsck  / -delete

HDFS WebUI查看每个DataNode节点的数据存储路径如下:

 

 

 3.3存储策略操作命令

列出HDFS支持的存储策略

[root@node5 ~]# hdfs storagepolicies -listPolicies
Block Storage Policies:BlockStoragePolicy{PROVIDED:1, storageTypes=[PROVIDED, DISK], creationFallbacks=[PROVIDED, DISK], replicationFallbacks=[PROVIDED, DISK]}BlockStoragePolicy{COLD:2, storageTypes=[ARCHIVE], creationFallbacks=[], replicationFallbacks=[]}BlockStoragePolicy{WARM:5, storageTypes=[DISK, ARCHIVE], creationFallbacks=[DISK, ARCHIVE], replicationFallbacks=[DISK, ARCHIVE]}BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], replicationFallbacks=[ARCHIVE]}BlockStoragePolicy{ONE_SSD:10, storageTypes=[SSD, DISK], creationFallbacks=[SSD, DISK], replicationFallbacks=[SSD, DISK]}BlockStoragePolicy{ALL_SSD:12, storageTypes=[SSD], creationFallbacks=[DISK], replicationFallbacks=[DISK]}BlockStoragePolicy{LAZY_PERSIST:15, storageTypes=[RAM_DISK, DISK], creationFallbacks=[DISK], replicationFallbacks=[DISK]}

B. 测试默认的存储策略HOT

在HDFS中创建目录 data,并查询该data目录的默认存储策略,可以通过命令“hdfs storagepolicies -getStoragePolicy -path <path>”来查询对应路径的存储策略。

#创建data目录,并查询存储策略
[root@node5 ~]# hdfs dfs -mkdir /data[root@node5 ~]# hdfs storagepolicies -getStoragePolicy -path /data/
The storage policy of /data/ is unspecified

将上文中data.txt文件上传至HDFS /data目录下,然后通过“hdfs fsck -files -blocks -locations ”命令查询文件对应的block位置信息。

#上传
[root@node5 ~]# hdfs dfs -put ./data.txt  /data/#查询
[root@node5 ~]# hdfs fsck /data/data.txt -files -blocks -locations
/data/data.txt 25 bytes, replicated: replication=3, 1 block(s):  OK
0. BP-187707191-192.168.179.4-1715610189467:blk_1073741837_1013 len=25 Live_repl=3  [DatanodeInfoWithStorage[192.168.179.6:9866,DS-5f383d24-b137-
4208-b63f-01ff76f44394,DISK], DatanodeInfoWithStorage[192.168.179.8:9866,DS-6a5907f2-3065-4ea6-a097-70e2b3be4f5e,DISK], DatanodeInfoWithStorage[192.168.179.7:9866,DS-ac3a21d4-5503-4c39-bf63-fe1bc596d1c5,ARCHIVE]]

默认认的文件存储策略为HOT,将block数据存储在DISK存储类型中,由于集群中node3、node5节点有DISK存储类型,所以其Block副本会存在node3和node5节点,剩余一个block副本会根据“后备创建副本存储类型”选择ARCHIVE存储类型的节点node4。也可以通过HDFS WebUI查看对应的文件block所在的节点信息。

C. 创建HDFS路径并指定存储策略

下面对常用的COLD、WARN、HOT、ONE_SSD、ALL_SSD存储策略进行测试。创建HDFS 如下5个路径并给5个目录指定对应的存储策略存储热、温、冷等其他数据,给HDFS路径指定存储策略的命令为:hdfs storagepolicies -setStoragePolicy -path <Path> -policy <Policy> 。

#创建hot 、warm、cold 、onessd、allssd五个HDFS目录
[root@node5 ~]# hdfs dfs -mkdir /hot
[root@node5 ~]# hdfs dfs -mkdir /warm
[root@node5 ~]# hdfs dfs -mkdir /cold
[root@node5 ~]# hdfs dfs -mkdir /onessd
[root@node5 ~]# hdfs dfs -mkdir /allssd#给以上5个路径指定对应的存储策略
[root@node5 ~]# hdfs storagepolicies -setStoragePolicy -path /hot -policy HOT
[root@node5 ~]# hdfs storagepolicies -setStoragePolicy -path /warm -policy WARM
[root@node5 ~]# hdfs storagepolicies -setStoragePolicy -path /cold -policy COLD
[root@node5 ~]# hdfs storagepolicies -setStoragePolicy -path /onessd -policy ONE_SSD
[root@node5 ~]# hdfs storagepolicies -setStoragePolicy -path /allssd -policy ALL_SSD#再次查询5个路径的存储策略
[root@node5 ~]# hdfs storagepolicies -getStoragePolicy -path /hot
[root@node5 ~]# hdfs storagepolicies -getStoragePolicy -path /warm
[root@node5 ~]# hdfs storagepolicies -getStoragePolicy -path /cold
[root@node5 ~]# hdfs storagepolicies -getStoragePolicy -path /onessd
[root@node5 ~]# hdfs storagepolicies -getStoragePolicy -path /allssd

将data.txt上传到HDFS /hot、/warm、/cold、/onessd、/allssd目录下:

[root@node5 ~]# hdfs dfs -put ./data.txt /hot
[root@node5 ~]# hdfs dfs -put ./data.txt /warm
[root@node5 ~]# hdfs dfs -put ./data.txt /cold
[root@node5 ~]# hdfs dfs -put ./data.txt /onessd
[root@node5 ~]# hdfs dfs -put ./data.txt /allssd

再次查看这些目录下data.txt文件 block的位置信息:

[root@node5 ~]# hdfs fsck /hot/data.txt -files -blocks -locations
/hot/data.txt 25 bytes, replicated: replication=3, 1 block(s):  OK
0. BP-187707191-192.168.179.4-1715610189467:blk_1073741838_1014 len=25 Live_repl=3  [DatanodeInfoWithStorage[192.168.179.6:9866,DS-5f383d24-b137-
4208-b63f-01ff76f44394,DISK], DatanodeInfoWithStorage[192.168.179.8:9866,DS-6a5907f2-3065-4ea6-a097-70e2b3be4f5e,DISK], DatanodeInfoWithStorage[192.168.179.7:9866,DS-ac3a21d4-5503-4c39-bf63-fe1bc596d1c5,ARCHIVE]][root@node5 ~]# hdfs fsck /warm/data.txt -files -blocks -locations
/warm/data.txt 25 bytes, replicated: replication=3, 1 block(s):  OK
0. BP-187707191-192.168.179.4-1715610189467:blk_1073741839_1015 len=25 Live_repl=3  [DatanodeInfoWithStorage[192.168.179.7:9866,DS-ac3a21d4-5503-
4c39-bf63-fe1bc596d1c5,ARCHIVE], DatanodeInfoWithStorage[192.168.179.6:9866,DS-f82bc144-22db-43da-9829-6bbf5abf301b,ARCHIVE], DatanodeInfoWithStorage[192.168.179.8:9866,DS-6a5907f2-3065-4ea6-a097-70e2b3be4f5e,DISK]][root@node5 ~]# hdfs fsck /cold/data.txt -files -blocks -locations
/cold/data.txt 25 bytes, replicated: replication=3, 1 block(s):  Under replicated BP-187707191-192.168.179.4-1715610189467:blk_1073741840_1016. T
arget Replicas is 3 but found 2 live replica(s), 0 decommissioned replica(s), 0 decommissioning replica(s).0. BP-187707191-192.168.179.4-1715610189467:blk_1073741840_1016 len=25 Live_repl=2  [DatanodeInfoWithStorage[192.168.179.7:9866,DS-ac3a21d4-5503-
4c39-bf63-fe1bc596d1c5,ARCHIVE], DatanodeInfoWithStorage[192.168.179.6:9866,DS-f82bc144-22db-43da-9829-6bbf5abf301b,ARCHIVE]][root@node5 ~]# hdfs fsck /onessd/data.txt -files -blocks -locations
/onessd/data.txt 25 bytes, replicated: replication=3, 1 block(s):  OK
0. BP-187707191-192.168.179.4-1715610189467:blk_1073741841_1017 len=25 Live_repl=3  [DatanodeInfoWithStorage[192.168.179.7:9866,DS-4195284f-9608-
4851-9155-861348a90aad,SSD], DatanodeInfoWithStorage[192.168.179.6:9866,DS-5f383d24-b137-4208-b63f-01ff76f44394,DISK], DatanodeInfoWithStorage[192.168.179.8:9866,DS-f2eac39b-64ba-4237-85e8-b8f1957f2753,SSD]][root@node5 ~]# hdfs fsck /allssd/data.txt -files -blocks -locations
/allssd/data.txt 25 bytes, replicated: replication=3, 1 block(s):  OK
0. BP-187707191-192.168.179.4-1715610189467:blk_1073741842_1018 len=25 Live_repl=3  [DatanodeInfoWithStorage[192.168.179.7:9866,DS-4195284f-9608-
4851-9155-861348a90aad,SSD], DatanodeInfoWithStorage[192.168.179.6:9866,DS-5f383d24-b137-4208-b63f-01ff76f44394,DISK], DatanodeInfoWithStorage[192.168.179.8:9866,DS-f2eac39b-64ba-4237-85e8-b8f1957f2753,SSD]]

注意:以上COLD存储策略中数据文件只有2个block,主要原因是只有2个节点配置了ARCHIVE存储类型。此外,如果使用COLD存储策略,由于其block都会存储在ARCHIVE存储类型中,需要保证集群中DataNode节点有该存储类型,否则上传文件会报错。

D. 取消存储策略

取消目录的存储策略可以使用命令:hdfs storagepolicies -unsetStoragePolicy -path ,下面对allssd目录取消存储策略,操作如下:

#查询allssd目前的存储策略
[root@node5 ~]# hdfs storagepolicies -getStoragePolicy -path /allssd
The storage policy of /allssd:
BlockStoragePolicy{ALL_SSD:12, storageTypes=[SSD], creationFallbacks=[DISK], replicationFallbacks=[DISK]}#取消该目录的存储策略
[root@node5 ~]# hdfs storagepolicies -unsetStoragePolicy -path /allssd
Unset storage policy from /allssd#再次查询allssd存储策略
[root@node5 ~]#  hdfs storagepolicies -getStoragePolicy -path /allssd
The storage policy of /allssd is unspecified

4. Trash回收站

HDFS中提供了类似window回收站的功能,当我们在HDFS中删除数据后,默认数据直接删除,如果开启了Trash回收站功能,数据删除时不会立即清除,而是会被移动到回收站目录中(/usr/${username}/.Trash/current),如果误删了数据,可以通过回收站进行还原数据,此外,我们还可以配置该文件在回收站多长时间后被清空。

按照如下步骤进行回收站配置即可。

1) 修改core-site.xml

在HDFS各个节点上配置core-site.xml,加入如下配置:

... ...  <!-- 回收站文件存活时长 --><property>  <name>fs.trash.interval</name>  <value>1</value>  </property>  <!-- 检查回收站间隔时间 --><property>  <name>fs.trash.checkpoint.interval</name>  <value>0</value>
</property>
... ...

以上参数“fs.trash.interval”默认值为0,表示禁用回收站功能,设置大于0的值表示开启回收站并指定了回收站中文件存活的时长(单位:分钟)。

“fs.trash.checkpoint.interval”参数表示检查回收站文件间隔时间,如果设置为0表示该值和“fs.trash.interval”参数值一样,要求该值配置要小于等于“fs.trash.interval”配置值。

将以上配置文件分发到其他HDFS节点上:

[root@node1 hadoop]# scp ./core-site.xml node2:`pwd`
[root@node1 hadoop]# scp ./core-site.xml node3:`pwd`
[root@node1 hadoop]# scp ./core-site.xml node4:`pwd`
[root@node1 hadoop]# scp ./core-site.xml node5:`pwd`

2) 重启HDFS集群,测试回收站功能

#启动集群
[root@node1 ~]# start-all.sh#上传文件到HDFS 根路径下
[root@node5 ~]# hdfs dfs -put ./data.txt /#删除上传的data.txt文件
[root@node5 ~]# hdfs dfs -rm -r /data.txt
INFO fs.TrashPolicyDefault: Moved: 'hdfs://mycluster/data.txt' to trash at: hdfs://mycluster/user/root/.Trash/Current/data.txt

当执行删除命令后,可以看到数据被移动到“hdfs://mycluster/user/root/.Trash/Current/”目录下,通过HDFS WebUI也可看到对应的路径下文件。如果WebUI用户没有权限,可以通过给/user目录修改访问权限即可。

#修改/user目录访问权限
[root@node5 ~]# hdfs dfs -chmod -R 777 /user

 

大约等待1分钟左右数据会自动从回收站中清空。如果想要还原数据需要手动执行命令将数据move移动到对应目录中。

[root@node5 ~]# hdfs dfs -mv /user/root/.Trash/Current/data.txt /

注意:只有通过HDFS shell操作命令将数据文件删除后,才会进入回收站,如果在HDFS WebUI中删除文件,这种删除操作不会进入到回收站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/896374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TFChat:腾讯大模型知识引擎(DeepSeek R1)+飞书机器人实现AI智能助手

效果 TFChat项目地址 https://github.com/fish2018/TFChat 腾讯大模型知识引擎用的是DeepSeek R1&#xff0c;项目为sanic和redis实现&#xff0c;利用httpx异步处理流式响应&#xff0c;同时使用buffer来避免频繁调用飞书接口更新卡片的网络耗时。为了进一步减少网络IO消耗&…

布署elfk-准备工作

建议申请5台机器部署elfk&#xff1a; filebeat(每台app)--> logstash(2台keepalived)--> elasticsearch(3台)--> kibana(部署es上)采集输出 处理转发 分布式存储 展示 ELK中文社区: 搜索客&#xff0c;搜索人自己的社区 官方…

DeepSeek:我的AI助手之旅

★【前言】: 初次使用AI助手帮我写作,就像摸石头过河一样,一点点的前行。我在慢慢的摸索,慢慢的体会中,感悟出的一点个人心得体会现分享给大家。这也说明一个问题,网站上各种使用方法和技巧是对于已经使用过的人来说的方便和快捷,但对于刚刚接触的使用者来说,网上的各…

esp8266 rtos sdk开发环境搭建

1. 安装必要的工具 1.1 安装 Git Git 用于从远程仓库克隆代码&#xff0c;你可以从Git 官方网站下载 Windows 版本的安装程序。安装过程中可保持默认设置&#xff0c;安装完成后&#xff0c;在命令提示符&#xff08;CMD&#xff09;或 PowerShell 中输入git --version&#…

C# | GDI+图像测距辅助线的实现思路

C# | GDI图像测距辅助线的实现思路 文章目录 C# | GDI图像测距辅助线的实现思路一、辅助线需求概述二、坐标系与角度计算2.1 笛卡尔坐标系2.2 线长和角度计算方法2.3 文本角度矫正计算方法2.4 坐标变换实现步骤 三、与if判断方式对比四、总结 一、辅助线需求概述 在图像测量工…

记录此刻:历时两月,初步实现基于FPGA的NVMe SSD固态硬盘存储控制器设计!

背景 为满足实验室横向项目需求&#xff0c;在2024年12月中下旬导师提出基于FPGA的NVMe SSD控制器研发项目。项目核心目标为&#xff1a;通过PCIe 3.0 x4接口实现单盘3000MB/s的持续读取速率。 实现过程 调研 花了半个月的时间查阅了一些使用FPGA实现NVME SSD控制器的论文、…

python编写liunx服务器登陆自动巡检脚本

前言&#xff1a; 用户需要一份用Python编写的Linux系统巡检脚本&#xff0c;检查内存、磁盘、CPU使用率&#xff0c;还有网络连通性。 首先&#xff0c;我得确定用户的使用场景。可能用户是系统管理员&#xff0c;需要定期监控服务器状态&#xff0c;确保系统正常运行。 或者…

springboot015基于SpringBoot的在线视频教育平台的设计与实现(源码+数据库+文档)

源码地址&#xff1a;基于SpringBoot的在线视频教育平台的设计与实现 文章目录 1.项目简介2.部分数据库结构与测试用例3.系统功能结构4.包含的文件列表&#xff08;含论文&#xff09;前端运行截图后端运行截图 1.项目简介 ​ 随着科学技术的飞速发展&#xff0c;各行各业都在…

可以免费无限次下载PPT的网站

前言 最近发现了一个超实用的网站&#xff0c;想分享给大家。 在学习和工作的过程中&#xff0c;想必做PPT是一件让大家都很头疼的一件事。 想下载一些PPT模板减少做PPT的工作量&#xff0c;但网上大多精美的PPT都是需要付费才能下载使用。 即使免费也有次数限制&#xff0…

Android OpenGLES2.0开发(十一):渲染YUV

人生如逆旅&#xff0c;我亦是行人 Android OpenGLES开发&#xff1a;EGL环境搭建Android OpenGLES2.0开发&#xff08;一&#xff09;&#xff1a;艰难的开始Android OpenGLES2.0开发&#xff08;二&#xff09;&#xff1a;环境搭建Android OpenGLES2.0开发&#xff08;三&am…

日语Learn、英语的再认识

背单词这件事感觉到了某个瓶颈了&#xff0c;没有什么新的区域可以发现&#xff0c;变成了一种类似纯粹的机械记忆&#xff0c;感觉英语的规范程度很低&#xff0c;很多词明明可以通过相近的形式变换&#xff0c;达到更好的学习效果&#xff0c;但却做的很麻烦&#xff0c;同一…

文心一言AI创意画

介绍 文心一言是百度推出的新一代知识增强大语言模型&#xff0c;属于文心大模型家族的新成员。‌它能够与人对话互动、回答问题、协助创作&#xff0c;高效便捷地帮助人们获取信息、知识和灵感。‌ 特点 文心一言基于数万亿数据和数千亿知识进行融合学习&#xff0c;采用预训…

洛谷 P8705:[蓝桥杯 2020 省 B1] 填空题之“试题 E :矩阵” ← 卡特兰数

【题目来源】 https://www.luogu.com.cn/problem/P8705 【题目描述】 把 1∼2020 放在 21010 的矩阵里。要求同一行中右边的比左边大&#xff0c;同一列中下边的比上边的大。一共有多少种方案? 答案很大&#xff0c;你只需要给出方案数除以 2020 的余数即可。 【答案提交】 …

我是如何从 0 到 1 找到 Web3 工作的?

作者&#xff1a;Lotus的人生实验 关于我花了一个月的时间&#xff0c;从 0 到 1 学习 Web3 相关的知识和编程知识。然后找到了一个 Web3 创业公司实习的远程工作。 &#x1f447;&#x1f447;&#x1f447; 我的背景: 计算机科班&#xff0c;学历还可以(大厂门槛水平) 毕业工…

2025最新智能优化算法:人工旅鼠算法(Artificial Lemming Algorithm, ALA)求解23个经典函数测试集,MATLAB

一、人工旅鼠优化算法 人工旅鼠算法&#xff08;Artificial Lemming Algorithm, ALA&#xff09;是2025年提出的一种新型生物启发式优化算法&#xff0c;受旅鼠的四种典型行为启发&#xff1a;长距离迁徙、挖洞、觅食和躲避捕食者。该算法通过模拟这些行为来解决复杂的优化问题…

Python游戏编程之赛车游戏6-2

3.2 move()方法的定义 Player类的move()方法用于玩家控制汽车左右移动&#xff0c;当玩家点击键盘上的左右按键时&#xff0c;汽车会相应地进行左右移动。 move()方法的代码如图7所示。 图7 move()方法的代码 其中&#xff0c;第20行代码通过pygame.key.get_pressed()函数获…

华为hcia——Datacom实验指南——二层交换原理

实验配置 eNSP 什么是二层交换 二层交换是指在同一个ip网段内&#xff0c;数据通过二层交换机进行转发。 什么是mac地址 mac地址也叫做硬件地址&#xff0c;是以太网协议的链路层地址。简单的来说&#xff0c;mac地址就是我们硬件的身份证&#xff0c;独一无二。它是由48个bi…

Android之图片保存相册及分享图片

文章目录 前言一、效果图二、实现步骤1.引入依赖库2.二维码生成3.布局转图片保存或者分享 总结 前言 其实现在很多分享都是我们自定义的&#xff0c;更多的是在界面加了很多东西&#xff0c;然后把整个界面转成图片保存相册和分享&#xff0c;而且现在分享都不需要第三方&…

故障诊断 | Matlab实现基于DBO-BP-Bagging多特征分类预测/故障诊断

故障诊断 | Matlab实现基于DBO-BP-Bagging多特征分类预测/故障诊断 目录 故障诊断 | Matlab实现基于DBO-BP-Bagging多特征分类预测/故障诊断分类效果基本介绍模型描述DBO-BP-Bagging蜣螂算法优化多特征分类预测一、引言1.1、研究背景和意义1.2、研究现状1.3、研究目的与方法 二…