草庐IT

hadoop-worker

全部标签

java - Hadoop实际上是如何接受MR作业和输入数据的?

我可以在Hadoop上找到的所有介绍性教程和文档都有简单/人为的(字数统计风格)示例,其中每个示例都通过以下方式提交给MR:通过SSH连接到JobTracker节点确保包含MR作业的JAR文件位于HDFS上运行bin/hadoopjarshare/hadoop/mapreduce/my-map-reduce.jar形式的HDFS命令实际运行Hadoop/MR从命令行读取MR结果或打开包含结果的文本文件虽然这些示例非常适合向所有新手展示如何使用Hadoop,但它并没有向我展示Java代码实际上如何在API级别与Hadoop/MR集成。我猜想我有点期待:Hadoop公开了某种客户端访问/A

java - Hadoop如何在 "real-time"针对非陈旧数据运行?

我对Hadoop及其“数据摄取”工具(例如Flume或Sqoop)的极度初级理解是,Hadoop必须始终针对数据运行其MR作业存储在其HDFS上的结构化文件中。而且,这些工具(同样是Flume、Sqoop等)基本上负责将数据从不同的系统(RDBMS、NoSQL等)导入HDFS。对我来说,这意味着Hadoop将始终在“陈旧”(缺少更好的词)数据(分钟/小时/等)上运行。老的。因为,将大数据从这些不同的系统导入到HDFS需要时间。当MR甚至可以运行时,数据已经过时并且可能不再相关。假设我们有一个应用程序,它具有在发生某事后500毫秒内做出决定的实时限制。假设我们有大量数据流正在导入HDFS

hadoop - 安全模式下的 Oozie 无效用户

配置oozie以使用hadoop-2.6.0并启用kerberos安全性。我没有使用kinit命令获得票证,但是当我使用以下命令提交作业时,ooziejob-ooziehttp://hostname:11000/oozie-configjob.properties-run它抛出以下异常,Error:E0501:E0501:Couldnotperformauthorizationoperation,User:oozie/hostname@EXAMPLE.COMisnotallowedtoimpersonateKumar我知道如何解决上述错误,但我的问题是Kumar是我的本地帐户用户名。当

json - Hadoop 中的 Twitter json 数据

我已经将Twitter数据流式传输到HDFS。这是我的Twitter代理配置:#settingpropertiesofagentTwitter-agent.sources=source1Twitter-agent.channels=channel1Twitter-agent.sinks=sink1#configuringsourcesTwitter-agent.sources.source1.type=com.cloudera.flume.source.TwitterSourceTwitter-agent.sources.source1.channels=channel1Twitter

hadoop - Hadoop中的HBASE和HDFS有什么区别?

实际区别是什么,当需要存储数据时应该何时使用另一个? 最佳答案 请阅读此post一个很好的解释。但一般来说,HBASE运行在HDFS之上。HDFS是一个分布式文件系统,就像任何其他文件系统(Unix/Windows)一样,而HBASE就像一个数据库,它像任何其他数据库(MySQL、MSSQL)一样从该文件系统读取和写入。 关于hadoop-Hadoop中的HBASE和HDFS有什么区别?,我们在StackOverflow上找到一个类似的问题: https://

hadoop - Output.collect mapreduce 似乎没有取正确的值?

我是Hadoop的新手,两天来我一直在努力弄清楚为什么output.collect没有收集正确的值。我自己解释一下:事实上,(为了简化起见)我有以下映射方法:publicvoidmap(LongWritablekey,Textvalue,OutputCollectoroutput,Reporterreporter)throwsIOException{try{ForXmlHandlingmessage=(ForXmlHandling)unmarshaller.unmarshal(newStringReader(value.toString()));MyObjectrow=XmlParse

hadoop - Hadoop 中的内部存储

我是Hadoop新手,对它的内部存储有疑问。据我所知,HDFS中的所有内容都存储为键/值对。现在,在Yarn的帮助下,出现了不同的技术来从RDMBS(使用Sqoop)导入不同类型的数据,如流和数据。这些类型的数据如何存储在HDFS内部?例如,关系表的行是否以某种方式转换为键/值对?即使使用Hive和Hcatalog,您也可以创建表并向其中加载数据。所有这些都是如何在hadoop内部完成的?提前致谢 最佳答案 我认为数据不会作为键/值存储在HDFS上。它的存储方式与普通文件一样,以非结构化格式存储。但是,当您运行MapReduce作业

hadoop - 如何在 oozie 工作流任务之间传递数据

Oozie有一组丰富的指令来描述任务之间所需的控制流。它是否有任何有助于在这些任务之间传递数据的东西?还是传递数据是一项完全留给用户的练习?更新:我正在使用shell操作来调用spark,因此我需要一个足够通用的解决方案来涵盖该用例。 最佳答案 为了在Oozie工作流任务之间传递数据,您需要将工作流2的输入定义为工作流1的输出。例如:${jobTracker}${nameNode}mapred.input.dir${workflow1_Input}mapred.output.dir${workflow1_Output}${jobTr

java - 发现 nn/hadoop-kerberos@HADOOP-KERBEROS 不支持的 key 类型 (8)

我正在尝试在启用Kerberos身份验证的安全模式下设置单节点Hadoop集群,使用hadoop-2.4.0和jdk1.7.0_25.为此,我按照文档中的描述创建了key表文件。在调试具有属性HADOOP_OPTS的东西时设置为-Dsun.security.krb5.debug=true我看到以下错误消息:Foundunsupportedkeytype(8)fornn/hadoop-kerberos@HADOOP-KERBEROSAddedkey:23version:4Addedkey:16version:4Addedkey:17version:4Addedkey:18version:

java - Hadoop MapReduce 有条件地打印名称对

所以我想弄清楚这个MapReduce程序问题的逻辑,我不需要代码,只需要逻辑方面的帮助,因为我对MapReduce还是新手,我不太熟悉所有可能的解决方法一个问题。我尝试查找类似的程序,但没有成功。问题:给定一个名称列表(为简单起见,只考虑第一个字符)输入:A,BD,FP,EA,BA,CB,AE,P我需要使用MapReduce仅打印那些按字母顺序和相反顺序提到的对(按字母顺序)。所以输出将是:A,BE,P注意:打印的是E,P而不是P,E,因为它必须按字母顺序排列。有人能帮忙吗? 最佳答案 在Map-Reduce程序中,主要问题是:什么