Tag: hadoop

如何使用Java从Hadoop读取偏移量的文件

问题:我想从HDFS读取文件的一部分并将其返回,例如1000行的文件中的行101-120。 我不想使用seek因为我读过它很贵。 我有日志文件,我正在使用PIG处理成有意义的数据集。 我一直在编写一个API来返回数据以供前端消费和显示。 那些经过处理的数据集可以足够大,我不想在一个啜食中读出Hadoop中的整个文件,以节省线路时间和带宽。 (比方说5 – 10MB) 目前我正在使用BufferedReader返回工作正常的小摘要文件 ArrayList lines = new ArrayList(); … for (FileStatus item: items) { // ignoring files like _SUCCESS if(item.getPath().getName().startsWith(“_”)) { continue; } in = fs.open(item.getPath()); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String line; line = br.readLine(); while (line != null) { line = line.replaceAll(“(\\r|\\n)”, “”); lines.add(line.split(“\t”)); line = […]

使用java 5的0.20.2 API hadoop版本

我已经开始尝试在java 1.5.0_14中实现MapReduce算法的maven项目。 我选择了0.20.2 API hadoop版本。 在pom.xml中,我正在使用以下依赖项: org.apache.hadoop hadoop-core 0.20.2 但是当我使用导入到org.apache.hadoop类时,我收到以下错误: 坏类文件:$ {HOME_DIR} \ repository \ org \ apache \ hadoop \ hadoop-core \ 0.20.2 \ hadoop-core-0.20.2.jar(org / apache / hadoop / fs / Path.class)类文件有错误的版本50.0,应该是49.0 。 有人知道我该如何解决这个问题。 谢谢。

什么是Hadoop上的HDFS位置?

我正在尝试在遵循一些在线教程后在Hadoop中运行WordCount示例。 但是,当我们执行以下命令时,我不清楚文件从本地文件系统复制到HDFS的位置。 hadoop fs -copyFromLocal /host/tut/python-tutorial.pdf /usr/local/myhadoop-tmp/ 当我执行以下命令时,我没有在HDFS上看到我的python-tutorial.pdf。 hadoop fs -ls 这让我很困惑。 我已经在core-site.xml中指定了“myhadoop-tmp”目录。 我以为这个目录将成为存储所有输入文件的HDFS目录。 core-site.xml ============= hadoop.tmp.dir /usr/local/myhadoop-tmp A base for other temporary directories. 如果不是HDFS位于我的机器上的情况? 什么配置决定HDFS目录以及输入文件从本地文件系统复制到HDFS时的位置?

设置classpath后,包org.apache.hadoop.conf不存在

我是hadoop的初学者,使用hadoop的初学者指南作为教程。 我使用的是mac osx 10.9.2和hadoop 1.2.1版 我在终端中调用echo $ PATH时设置了所有相应的类路径: 这是我得到的结果: /Library/Frameworks/Python.framework/Versions/2.7/bin:/Users/oladotunopasina/hadoop-1.2.1/hadoop-core-1.2.1.jar:/Users/oladotunopasina/hadoop-1.2.1/bin:/ USR /股/ Grails的/ bin中:在/ usr /共享/常规/斌:/Users/oladotunopasina/.rvm/gems/ruby-2.1.1/bin:/Users/oladotunopasina/.rvm/gems/ruby-2.1.1 @全球/斌:/Users/oladotunopasina/.rvm/rubies/ruby-2.1.1/bin:在/ usr /本地/ Heroku的/ bin中:在/ usr / bin中:/ bin中:/ usr / sbin目录:/ sbin目录:/ USR /local/bin:/Users/oladotunopasina/.rvm/bin:/Users/oladotunopasina/.rvm/bin 我尝试编译WordCount1.java,我收到以下错误: WordCount1.java:2: package org.apache.hadoop.conf does not exist import org.apache.hadoop.conf.Configuration ; ^ WordCount1.java:3: package org.apache.hadoop.fs does not exist import org.apache.hadoop.fs.Path; ^ WordCount1.java:4: package org.apache.hadoop.io does […]

无法在hadoop 2.4.0上运行MapReduce作业

我是hadoop的新手,这是我的问题。 我在3台机器的集群上配置了带有jdk1.7.60的hadoop 2.4.0。 我能够执行hadoop的所有命令。 现在我修改了wordcount示例并创建了jar文件。 我已经在hadoop 1.2.1上使用这个jar文件执行并得到了结果。 但是现在在hadoop 2.4.0上我没有得到任何结果。 用于执行的命令 $hadoop jar WordCount.jar WordCount /data/webdocs.dat /output 我从设置中得到以下消息: 14/06/29 19:35:18 INFO client.RMProxy: Connecting to ResourceManager at /192.168.2.140:8040 14/06/29 19:35:18 WARN mapreduce.JobSubmitter: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy this. 14/06/29 19:35:19 INFO input.FileInputFormat: Total input […]

为什么YARN java堆空间内存错误?

我想尝试在YARN中设置内存,所以我将尝试在yarn-site.xml和mapred-site.xml上配置一些参数。 顺便说一句,我使用hadoop 2.6.0。 但是,当我做mapreduce工作时,我收到一个错误。 它像这样说: 15/03/12 10:57:23 INFO mapreduce.Job: Task Id : attempt_1426132548565_0001_m_000002_0, Status : FAILED Error: Java heap space Container killed by the ApplicationMaster. Container killed on request. Exit code is 143 Container exited with a non-zero exit code 143 我认为我已经正确配置了,我给map.java.opts和reduce.java.opts小尺寸= 64 MB。 我尝试配置一些参数,比如在mapred-site.xml上更改map.java.opts和reduce.java.opts,我仍然会收到此错误。 我认为我并不真正理解YARN记忆是如何工作的。 顺便说一句,我尝试单节点计算机。

java.sql.SQLException:没有为jdbc找到合适的驱动程序:hive:// localhost:10000 / default

我是Hadoop和生态系统的新手。 我正在尝试用Java编写Hive。 这是我的简单代码,仅用于测试驱动程序: import java.sql.DriverManager; import java.sql.SQLException; public class PrepareHiveTable { private static String driverName = “org.apache.hive.jdbc.HiveDriver”; public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName(driverName); Connection con = DriverManager.getConnection(“jdbc:hive://localhost:10000/default”, “”, “”); } } 我已将org.apache.hive.jdbc.HiveDriver导入到类路径中,这是我的DriverManager上的驱动程序列表: org.apache.calcite.avatica.remote.Driver@45ff54e6 org.apache.calcite.jdbc.Driver@3581c5f3 org.apache.derby.jdbc.AutoloadedDriver40@4f8e5cde com.mysql.jdbc.Driver@6f75e721 org.apache.hive.jdbc.HiveDriver@69222c14 但是,当我运行代码时,我收到此错误: Exception in thread “main” java.sql.SQLException: No suitable driver found for jdbc:hive://localhost:10000/default at java.sql.DriverManager.getConnection(DriverManager.java:689) […]

Apache Hadoop setXIncludeAware UnsupportedOperationException

我正在尝试运行Apache Hadoop 1.21,但我遇到了这个exception: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@2662e5cf:java.lang.UnsupportedOperationException 完整堆栈跟踪: 13/10/17 17:22:52 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@2662e5cf:java.lang.UnsupportedOperationException: setXIncludeAware is not supported on this JAXP implementation or earlier: class org.apache.xerces.jaxp.DocumentBuilderFactoryImpl java.lang.UnsupportedOperationException: setXIncludeAware is not supported on this JAXP implementation or earlier: class org.apache.xerces.jaxp.DocumentBuilderFactoryImpl at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:589) at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1131) at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1107) at […]

如何配置maven shade插件以在我的jar中包含测试代码?

我使用shade maven插件来构建我的项目,以便它的所有依赖项都包含在一个jar中(这使得在Hadoop上运行它更容易)。 Shade似乎默认排除了我的测试代码,这是可以理解的。 由于我想对我的集群运行集成测试,我希望设置另一个配置文件来为此目的构建一个单独的jar。 有没有办法配置这个插件还包括测试代码?

我在Hadoop中收到此错误,找不到可执行文件null \ bin \ winutils.exe

我是Hadoop系统的新手,我在尝试获取Hadoop(HDFS)的文件系统时遇到以下错误。该设置是在Ubuntu Server 15.05上运行的Hadoop。 以及在Windows上运行的Java程序,使用Java连接文件并将文件添加到Hadoop系统。 错误是: 15/07/14 11:23:30 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable 15/07/14 11:23:30 ERROR util.Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. 使用以下行参考: FileSystem hdfs = FileSystem.get(new URI(“hdfs://10.0.0.1:54310”), configuration);