Tag: hadoop

使用Hadoop Streaming时通过脚本运行Java应用程序:java.lang.NoClassDefFoundError

我使用Hadoop Streaming在tcsh中执行脚本文件: — First copy the jar files to the Hadoop filesystem, so that they are next to inputdir and outputdir. — cp App/* /hadoop/jardir/ — Run Hadoop — hadoop jar /usr/lib/hadoop/contrib/streaming/hadoop-streaming-0.20.2-cdh3u4.jar \\ -D mapred.task.timeout=120000000 \\ -input “/hadoop/inputdir/” -output “/hadoop/outputdir/” \\ -mapper script.sh -reducer script.sh -file script.sh \\ -jobconf mapred.map.tasks=1 -jobconf mapred.reduce.tasks=0 >>& log.txt 这个脚本文件像这样调用Java: […]

Hadoop中的setJarByClass()

在Hadoop算法的驱动程序方法的某些时刻,我们将作业链接到设置为Mapper和Reducer的类的引用。 例如: job.setMapperClass(MyMapper.class); job.setReducerClass(MyReducer.class); 通常驱动程序方法是main而映射器和reducer是作为内部静态类实现的。 假设MyMapper.class和MyReducer.class是MyClass.class内部静态类,并且该驱动程序方法是MyClass.class的主要部分。 有时我看到在上面两个之后添加了以下行: job.setJarByClass(Myclass.class); 这个配置步骤的含义是什么,什么时候有用或强制? 在我的情况下(我有一个单节点集群安装),如果我删除此行,我可以继续正确运行该作业。 为什么?

使用hadoop-yarn-server-nodemanager编译错误

我想在windows7上安装hadoop 2.3.0 使用Windows sdk 7.1 maven命令: mvn package -Pdist,native-win -DskipTests -Dtar 我收到以下错误: 我搜索了这个错误,但我找不到任何解决方案 [ERROR] location: class ApplicationImpl [ERROR] C:\hdfs\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-s erver-nodemanager\src\main\java\org\apache\hadoop\yarn\server\nodemanager\contai nermanager\application\ApplicationImpl.java:[391,6] error: cannot find symbol [ERROR] symbol: class ApplicationContainerFinishedEvent [ERROR] location: class AppFinishTransition [ERROR] C:\hdfs\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-s erver-nodemanager\src\main\java\org\apache\hadoop\yarn\server\nodemanager\contai nermanager\application\ApplicationImpl.java:[392,11] error: cannot find symbol [ERROR] symbol: class ApplicationContainerFinishedEvent [ERROR] location: class AppFinishTransition [ERROR] C:\hdfs\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-s erver-nodemanager\src\main\java\org\apache\hadoop\yarn\server\nodemanager\contai nermanager\application\ApplicationImpl.java:[416,14] error: cannot […]

Hbase读取性能exception变化

我安装了HBase 0.94.0。 我必须通过扫描提高我的阅读性能。 我已经随机插入了100000条记录。 当我设置setCache(100); 对于100000条记录,我的表现是16秒。 当我将它设置为setCache(50)对于100000条记录,我的表现为90秒。 当我将它设置为setCache(10); 对于100000条记录,我的表现是16秒 public class Test { public static void main(String[] args) { long start, middle, end; HTableDescriptor descriptor = new HTableDescriptor(“Student7”); descriptor.addFamily(new HColumnDescriptor(“No”)); descriptor.addFamily(new HColumnDescriptor(“Subject”)); try { HBaseConfiguration config = new HBaseConfiguration(); HBaseAdmin admin = new HBaseAdmin(config); admin.createTable(descriptor); HTable table = new HTable(config, “Student7”); System.out.println(“Table created !”); start […]

即使在命令行上告知-D mapred.reduce.tasks = 0之后,hadoop也会减少任务运行

我有一个MapReduce程序 public static class MapClass extends MapReduceBase implements Mapper { private final static IntWritable uno = new IntWritable(1); private IntWritable citationCount = new IntWritable(); public void map(Text key, Text value, OutputCollector output, Reporter reporter) throws IOException { citationCount.set(Integer.parseInt(value.toString())); output.collect(citationCount, uno); } } public static class Reduce extends MapReduceBase implements Reducer { public void reduce(IntWritable key, […]

通过JDBC连接到Hive时,Java NoSuchMethodError

尝试从Eclipse中的简单Java程序连接到Hive时,我收到以下错误。 看起来它连接然后抛出此错误。 我可以通过直线本地连接到Hive Thrift服务器而不会出现问题。 libthrift .jar文件都是0.9.2。 在客户端和服务器上相同。 以下.jar文件的服务器和客户端版本是相同的: hive-jdbc*.jar 1.2.0 hive-service*.jar 1.2.0 libfb303-0.9.0.jar 0.9.2 libthrift-0.9.0.jar 0.9.2 log4j-1.2.16.jar 1.2.16 slf4j-api-1.6.1.jar 1.7.5 slf4j-log4j12-1.6.1.jar 1.7.5 commons-logging-1.0.4.jar 1.1.3 Exception in thread “main” java.lang.NoSuchMethodError: org.apache.thrift.protocol.TProtocol.getScheme()Ljava/lang/Class; at org.apache.hive.service.cli.thrift.TCLIService$OpenSession_args.write(TCLIService.java:1854) at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:63) at org.apache.hive.service.cli.thrift.TCLIService$Client.send_OpenSession(TCLIService.java:150) at org.apache.hive.service.cli.thrift.TCLIService$Client.OpenSession(TCLIService.java:142) at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:578) at org.apache.hive.jdbc.HiveConnection.(HiveConnection.java:192) at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) 我正在使用的libthrift版本被Apache列为具有getScheme()方法。 任何帮助将不胜感激!

映射缩短时间的Hadoop库冲突

我有一个使用Hadoop API启动各种远程mapreduce作业的jar(即,我不使用命令行来启动作业)。 执行各种作业的服务jar是使用maven的“jar-with-dependencies”构建的。 我的工作都运行良好,除了使用commons-codec 1.7,我得到: FATAL org.apache.hadoop.mapred.Child:运行child时出错:java.lang.NoSuchMethodError:org.apache.commons.codec.binary.Base64.encodeAsString([B] Ljava / lang / String; 我想这是因为我的jar包含commons-codec 1.7而我的Hadoop安装的lib有commons-codec 1.4 …… 他们是否有任何方式指示Hadoop使用分布式commons-codec 1.7(我假设这是作为作业依赖项分发)而不是hadoop 1.0.3核心库中的commons-codec 1.4? 非常感谢! 注意:从我的Hadoop库文件夹中删除commons-codec-1.4.jar确实解决了这个问题,但似乎并不太合理。 希望有更好的选择。

运行mapreduce程序时“Java堆空间内存不足错误”

我在运行mapreduce程序时遇到Out Of Memory错误。如果我将260个文件保存在一个文件夹中并将其作为输入提供给mapreduce程序,则显示Java Heap space Out of Memory错误。如果我只提供100个文件作为输入mapreduce,运行正常。那么如何限制mapreduce程序一次只能获取100个文件(~50MB)。 任何人都可以就此问题提出建议…… 没有文件:318,块数:1(块大小:128MB),Hadoop在32位系统上运行 My StackTrace: ============== 15/05/05 11:52:47 INFO input.FileInputFormat: Total input paths to process : 318 15/05/05 11:52:47 INFO input.CombineFileInputFormat: DEBUG: Terminated node allocation with : CompletedNodes: 1, size left: 52027734 15/05/05 11:52:47 INFO mapreduce.JobSubmitter: number of splits:1 15/05/05 11:52:47 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_local634564612_0001 […]

在Oozie中将参数从一个动作传递到另一个动作

我有一个以下shell脚本: DATE= date +”%d%b%y” -d “-1 days” 如何将DATE传递给Java操作?

Hadoop maven依赖性错误 – 找不到hadoop类

尽管我将以下依赖项导入到我的pom中,但未导入相关的Hadoop类(org.apache.hadoop.*) 。 1.0.4 org.apache.hadoop hadoop-client ${hadoop.version} org.apache.hadoop hadoop-core ${hadoop.version} org.apache.hadoop hadoop-examples ${hadoop.version} org.apache.hadoop hadoop-tools ${hadoop.version}