当前位置: 首页 > 知识库问答 >
问题:

Hadoop copyFromLocal是否创建了2个副本?-1个在hdfs内部,其他在数据阳极内部?

邢晗日
2023-03-14

我从网上下载了一个文件,并复制到ubuntu本地目录/lab/data中

我已经在Ubuntu中创建了名称为namenodep和datanode的namenode和datanode文件夹(不是hadoop文件夹)。我还在hdfs中创建了一个文件夹作为/input。

当我将文件从ubuntu local复制到hdfs时,为什么该文件同时出现在下面的两个目录中?

$ hadoop fs -copyFromLocal /lab/data/Civil_List_2014.csv /input

$hadoop fs -ls /input/
input/Civil_List_2014.csv   ?????

$cd lab/hdfs/datan1/current
blk_3621390486220058643   ?????
blk_3621390486220058643_1121.meta

共有1个答案

沈栋
2023-03-14

不。只创建一个副本。

在HDFS中创建文件时,文件的内容存储在数据节点的其中一个磁盘上。数据节点存储数据的磁盘位置由配置参数确定:dfs.datanode.Data.dir(存在于hdfs-site.xml中)

检查此属性的说明:

<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///e:/hdpdatadn/dn</value>
    <description>Determines where on the local filesystem an DFS data node
    should store its blocks.  If this is a comma-delimited
    list of directories, then data will be stored in all named
    directories, typically on different devices.
    Directories that do not exist are ignored.
    </description>
    <final>true</final>
  </property>
 类似资料:
  • 我目前正在试用Apache Spark。所有的组件(如HDFS、Spark、Yarn等)都运行良好。在任何这些程序的启动过程中,似乎都没有任何错误。我在一个Vagrant VM中运行它,并对spark/hdfs/yarn进行了对接。 tl;dr:通过Yarn提交作业会导致。 用以下文件提交我的应用程序: 其结果如下: 注意线程“main”org.apache.hadoop.ipc.RemoteEx

  • 默认情况下,Hadoop在文件的块边界上拆分映射器要处理的文件。也就是说,这就是FileInputFormat实现为getSplits()所做的事情。然后,Hadoop确保映射器要处理的块被复制到映射器运行的Datanode上。 现在我想知道,如果我需要在InputSplit外部读取(在RecordReader中,但这是不相关的),与在InputSplit内部读取相比,这花费了我多少钱--假设它外

  • 问题内容: 说我有这个表情 我知道,串池“允许运行时以节省内存在一个池保留不变的字符串” 字符串池 字符串池中将创建多少个字符串? 我最初的猜测是5 -,,,,,因为操作顺序的级联(左到右?),或者是它只是最后的结果,“TomBradyGoat”,存储在字符串池? 问题答案: 在运行时,这段代码将转换为单个对象。编译器将在编译时进行串联,并在常量池中添加一个值。

  • 问题内容: 考虑以下嵌套类。 问题答案: 您可以像这样声明一个对象数组。 并实例化它们,您可以在类中执行类似的操作。

  • 创建第 1 个内核线程 initproc 第0个内核线程主要工作是完成内核中各个子系统的初始化,然后就通过执行cpu_idle函数开始过退休生活了。所以uCore接下来还需创建其他进程来完成各种工作,但idleproc内核子线程自己不想做,于是就通过调用kernel_thread函数创建了一个内核线程init_main。在实验四中,这个子内核线程的工作就是输出一些字符串,然后就返回了(参看init

  • 但一个奇怪的错误正在发生。当我检查Namenode GUI或dfsadmin client以获取datanodes列表时,它只随机显示一个datanode,即有时是datanode-0,有时是DataNode-1。它从不显示两个/所有数据阳极。 这里会有什么问题?我甚至在用无头服务。请帮忙。 运行hdfs dfsadmin-report只随机显示一个datanode,例如有时datanode-0和