草庐IT

hadoop - 如何将 mapreduce 输出存储在不同的节点中???

我想将分类数据存储在hadoop的不同节点中。例如:Node-1>>Animal.txtNode-2>>Sports.txtNode-3>>Life.txt...Node-n>>nnnnn.txt有没有办法做到这一点。**抱歉,如果我的描述不力。 最佳答案 也许可以对数据进行分区,使每个子集(动物、运动、生命)都位于同一节点的本地,尽管您无法可靠地选择存储它们的物理节点的标识。只要您能以编程方式将每条记录识别为集合的一部分(在您的案例中是动物、运动、生活等),那么您就可以实现自己的Partitioner.这类似于实现哈希函数,其中具

hadoop - 从 hdfs 远程检索文件并将其存储在本地节点中

我想编写一个作业,其中每个映射器检查来自hdfs的文件是否存储在正在执行的节点中。如果没有发生,我想从hdfs检索它并将其本地存储在该节点中。这可能吗?编辑:我正在尝试执行此操作(3)RepartitionJoin的预处理,如下所述:link 最佳答案 DistributedCacheHadoop中的特性可用于分发完成作业所需的边数据或辅助数据。这里(1,2)是一些有趣的文章。 关于hadoop-从hdfs远程检索文件并将其存储在本地节点中,我们在StackOverflow上找到一个类似

hadoop - 在多个节点中运行 Pig 脚本

我已经配置了一个包含三个节点的Hadoop集群。所有节点都工作正常并已连接。我已经在HDFS中上传了28GB的文件并执行Pig脚本来处理该文件。当我执行脚本时。它仅在单个节点中运行。能否请您给我建议并解释为什么它只在单节点上运行?我在配置中遗漏了什么吗?我使用的是Hadoop2.2.0和Pig0.12版本。 最佳答案 您是否尝试在脚本中设置parallel?您有三个节点,因此您可以尝试设置为parallel3。将它与以下任何运算符一起使用是有意义的:组合作小组加入限制订购与众不同语法示例:groupxbyyparallel3;你的文

shell - 如何在 OOZIE 决策节点中使用逻辑运算符?

我有第一个要求,我必须检查文件是否存在于给定的HDFS位置。如果文件存在,我必须测试文件的大小是否大于200字节。根据这两个结果,我必须向用户发送电子邮件通知。我可以借助下面的代码检查文件是否存在${fs:exists("/user/cloudera/trdat/test.txt")}我可以借助下面的代码检查文件大小${fs:fileSize("/user/cloudera/trdat/test.txt")gt200*B}我必须创建一个工作流程来检查文件是否存在,如果不存在,则发送电子邮件通知“文件不存在”,就像向用户发送该消息一样。如果存在,那么我们必须检查文件大小是否大于200字节

hadoop - 数据节点和名称节点中不兼容的 clusterID

我检查了这个站点中的解决方案。我去(hadoop文件夹)/data/dfs/datanode改了ID。但是,datanode文件夹中没有任何东西。我能做什么?感谢阅读。如果你能帮助我,我将不胜感激。附言2017-04-1120:24:05,507WARNorg.apache.hadoop.hdfs.server.common.Storage:添加存储目录失败[DISK]file:/tmp/hadoop-knu/dfs/data/java.io.IOException:/tmp/hadoop-knu/dfs/data中不兼容的clusterID:namenodeclusterID=CID

hadoop - hadoop中的hdfs如何利用数据节点中 block 的空闲空间?

我的文件大小为10MB,我将其存储在hadoop中,但hdfs中的默认block大小为64MB。因此,我的文件使用了64MB中的10MB。HDFS将如何利用同一block中剩余的54MB空闲空间? 最佳答案 从逻辑上讲,如果您的文件小于block大小,HDFS会将该特定文件的block大小减小到文件的大小。所以HDFS只会使用10MB来存储10MB的小文件。它不会浪费54MB或留空。这里详细描述了HDFS的小文件:http://blog.cloudera.com/blog/2009/02/the-small-files-proble

apache - 如何使用 Windows 在单个节点中启动分布式钻头?

我想在Windows中以分布式模式启动drillbitsevrer但没有成功,我启动了ZooKeeper并使用“zkServer.cmd”正常工作,并使用cygwin命令开始钻取,如下所示:“shdrillbit.shstart”但服务器没有启动并在drillbit.out日志文件中给出此错误:C:\Drill/bin/runbit:line107:exec:C:\Program:notfound 最佳答案 问题可能是您的JAVA_HOME位于带空格的目录中(例如:ProgramFiles)。要解决这个问题,您有两种选择:在没有空格

hadoop - 是否所有具有相同行键的数据都存储在同一个节点中?

我有一个关于hbase数据库的问题。我们首先通过定义行键、列族访问数据,最后通过列限定符访问数据。我的问题是HBase是否会将具有相同行键的所有列族一起存储在一个节点中?更新:例如,我想在map/reduce作业中乘以val1和val2。而val1和val2在数据库中的存储方式如下:Row=00000ColumnFamily:M,m000001_1234567=val1,Row=00000ColumnFamily:R,r000001_1234567=val2。我能否确保在运行map的同一节点中可以访问val1和val2? 最佳答案

hadoop - 直接在数据节点中读取 block 的内容

在HDFS中,block分布在事件节点/从属之间。block的内容是简单的文本,那么有什么方法可以查看读取或访问每个数据节点中存在的block吗? 最佳答案 作为整个文件还是乱序读取单个block(比如block号3)?您可以通过包括JavaAPI在内的各种机制读取文件,但您不能从文件中间开始读取(例如,在block3的开头)。 关于hadoop-直接在数据节点中读取block的内容,我们在StackOverflow上找到一个类似的问题: https://st

hadoop - 我是否必须在所有节点中运行历史服务器才能在 Hadoop Cluster WebUI 中获取作业历史记录

我在Hadoop集群中遇到一个问题。我有一个包含5个数据节点和一个边缘/网关节点的Hadoop集群。我的问题是我必须在每个节点(1个名称节点和5个数据节点)中启动历史服务器,以从hadoopwebUI获取任何提交作业的作业历史记录。我在mapred-site.xml中添加了mapreduce.jobhistory.address和mapreduce.jobhistory.webapp.address但我猜它不能正常工作。如果我仅在名称节点或任何其他节点中启动历史服务器,HadoopClusterWeb-UI将无法向我显示作业历史记录并以一些错误结束。我的映射站点XMLmapred.jo