关闭hadoop hdfs后数据丢失?

5f0d552i  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(897)

嗨,我正在学习hadoop,我有一个简单的愚蠢的问题:在我关闭hdfs(通过调用hadoop\u home/sbin/stop dfs.sh)之后,hdfs上的数据是丢失了还是可以取回?

8tntrjer

8tntrjer1#

如果停止hdfs,数据不会丢失,前提是将namenode和datanode的数据存储在使用以下属性指定的持久位置: dfs.namenode.name.dir ->确定dfs名称节点应在本地文件系统上的何处存储名称表(fsimage)。如果这是一个以逗号分隔的目录列表,那么名称表将复制到所有目录中,以实现冗余。默认值:
file://${hadoop.tmp.dir}/dfs/name dfs.datanode.data.dir ->确定dfs数据节点应在本地文件系统上的何处存储其块。如果这是一个以逗号分隔的目录列表,那么数据将存储在所有命名的目录中,通常存储在不同的设备上。不存在的目录将被忽略。默认值: file://${hadoop.tmp.dir}/dfs/data 如您所见,这两个属性的默认值都指向 ${hadoop.tmp.dir} 默认情况下 /tmp . 您可能已经知道 /tmp 在基于unix的系统中,在重新启动时清除get。
所以,如果您指定dir位置 /tmp 然后hadoophdfs守护进程在重启时能够读回数据,因此即使在集群重启时也不会丢失数据。

6ljaweal

6ljaweal2#

请确保您没有删除存储在hdfs中的数据的元数据,如果您保持 dfs.namenode.name.dir 以及 dfs.datanode.data.dir untoucted,表示不删除这些标记中的路径,这些标记在您的 hdfs-site.xml 文件。

相关问题