hadoop - 关闭hadoop HDFS后数据丢失?

标签 hadoop hdfs

您好,我正在学习 hadoop,我有一个简单的愚蠢问题:在我关闭 HDFS(通过调用 hadoop_home/sbin/stop-dfs.sh)后,HDFS 上的数据丢失了还是可以恢复?

最佳答案

如果您停止 HDFS,数据不会丢失,前提是您将 NameNode 和 DataNode 的数据存储在使用属性指定的持久位置:

  • dfs.namenode.name.dir -> 确定 DFS 名称节点应在本地文件系统上的何处存储名称表 (fsimage)。如果这是一个以逗号分隔的目录列表,那么名称表将复制到所有目录中,以实现冗余。默认值:file://${hadoop.tmp.dir}/dfs/name
  • dfs.datanode.data.dir -> 确定 DFS 数据节点应在本地文件系统中存储其 block 的位置。如果这是一个逗号分隔的目录列表,那么数据将存储在所有命名的目录中,通常在不同的设备上。不存在的目录将被忽略。默认值:file://${hadoop.tmp.dir}/dfs/data

如您所见,这两个属性的默认值都指向 ${hadoop.tmp.dir},默认情况下为 /tmp。您可能已经知道,在基于 Unix 的系统中,/tmp 中的数据会在重新启动时被清除。

因此,如果您指定的目录位置不是 /tmp,那么 Hadoop HDFS 守护程序在重新启动时将能够读回数据,因此即使在集群重新启动时也不会丢失数据。

关于hadoop - 关闭hadoop HDFS后数据丢失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28379048/

相关文章:

hdfs - 为什么 Google Dataproc HDFS Namenode 处于安全模式?

java - 强制 HDFS globStatus 跳过它没有权限的目录

scala - Spark : Would a dataframe repartitioned to one node experience a shuffle when a groupBy is called on it?

java - camel-hdfs2没有用于方案的文件系统:hdfs

hadoop - zookeeper和HBase或HBase(包括ZooKeeper)

hadoop - Spark 不利用 parquet 的 hdfs 分区

hadoop - Hive将文件存放在HDFS的什么地方?

python - 在此MapReduce问题中,如何选择有选择的值之和大于3?

hadoop - 如何为 Hive 的分区表指定 HDFS Location

hadoop - Hive:Decimal(12,9) 的列类型使用 JSONSerDe 抛出 NullPointerException