我有 1 个集群,有 2 个节点,意味着 1 个主站和 2 个从站(slave1,slave2(,我有一个文本文件(输入.txt 1GB(。hdfs 的块大小为 64MB。
我想做输入文件的字数统计。
首先,我在主节点上的hdfs上复制输入.txt使用
hadoop dfs -copyFromLocal input.txt /
然后
hadoop jar Wordcount.jar Wordcount /input.txt /output
我的问题是
1(以上命令在集群上做字数是对还是错?
2(当我复制输入时.txt它将存储的文件是从属1和从属2数据节点还是主节点?
3(或者我必须首先在 slave1 和 slave2 上复制输入.txt以执行字数统计程序?
2(当您将文件从本地复制到HDFS时,它将分为块,这些块将在可用的数据节点上进行平衡和复制(取决于复制因子等配置(。
3( 否。HadoopHDFS工具负责通过集群分发数据。因此,当您只有两个节点时,两个节点都应包含整个文件。