Tag: hadoop

使用Hadoop处理大量小文件

我正在使用Hadoop示例程序WordCount来处理大量的小文件/网页(cca.2-3 kB)。 由于这远离hadoop文件的最佳文件大小,因此程序非常慢。 我想这是因为设置和撕毁工作的成本远远高于工作本身。 这些小文件也会导致文件名的命名空间耗尽。 我读到在这种情况下我应该使用HDFS存档(HAR),但我不确定如何修改此程序WordCount以从此存档中读取。 程序可以继续工作而无需修改或需要进行一些修改吗? 即使我在档案中打包了很多文件,问题仍然存在,这是否会提高性能。 我读到即使我打包多个文件,一个存档中的这些文件也不会由一个映射器处理,但很多,在我的情况下(我猜)不会提高性能。 如果这个问题太简单,请理解我是Hadoop的新手并且对它的经验很少。

hbase-site.xml中的zookeeper仲裁设置究竟是什么?

hbase-site.xml中的zookeeper仲裁设置究竟是什么?

将参数传递给Hadoop中的map函数

我是Hadoop的新手。 我想从mapper类的map函数中的main函数(Java程序)访问命令行参数。 请建议如何做到这一点。

从map中键入不匹配的值:expected org.apache.hadoop.io.NullWritable,recieved org.apache.hadoop.io.Text

我正在尝试调整现有问题以满足我的需求.. 基本上输入是简单的文本我处理它并将键/值对传递给reducer我创建一个json ..所以有键但没有值所以mapper: 输入:文字/文字 输出:文本/文本 减速器:文本/文本 输出:文本/无 我的签名如下: public class AdvanceCounter { /** * The map class of WordCount. */ public static class TokenCounterMapper extends Mapper { // <— See this signature public void map(Object key, Text value, Context context) // <— See this signature throws IOException, InterruptedException { context.write(key,value); //both are of type text […]

Java:尝试编译Hadoop程序时找不到com.sun.tools.javac.Main

当我尝试使用此命令在Hadoop中编译我的程序时 bin/hadoop com.sun.tools.javac.Main WordCounter.java 它说,来自Hadoop文件夹 Error: Could not find or load main class com.sun.tools.javac.Main 我查看了类似的线程,人们建议检查JAVA_HOME是否正确陈述。 所以在etc/hadoop/hadoop-env.sh我添加了这一行 export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 然后检查tools.pack是否在/usr/lib/jvm/java-7-openjdk-amd64/lib正确解压缩。 然后我尝试了javac -version javac 1.7.0_65 我试图重新安装Java,但它没有解决问题。

Hadoop 2.2.0 Eclipse插件

我在我的电脑上安装了hadoop-2.2.0(单节点cluser)和maven3.3.1。 我想在eclipse中编写MapReduce代码。 所以我的问题是: mapreduce和maven之间有什么关系? 如何在eclipse中调试代码? 一个教程说我应该首先在旧版本中安装一个hadoop eclipse插件,但似乎没有新版本hadoop-2.2.0的插件。 我怎么解决这个问题?

不推荐使用MapReduceBase和Mapper

public static class Map extends MapReduceBase implements Mapper 在Hadoop 0.20.203中不推荐使用MapReduceBase , Mapper和JobConf 。 我们现在应该用什么? 编辑1 – 对于Mapper和MapReduceBase ,我发现我们只需要扩展Mapper public static class Map extends Mapper { private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(LongWritable key, Text value, OutputCollector output, Reporter reporter) throws IOException { String line = […]

如何设置HTTP源来测试Flume设置?

我是Flume和Hadoop的新手。 我们正在开发一个BI模块,我们可以在HDFS中存储来自不同服务器的所有日志。 为此,我使用Flume。 我刚开始尝试了。 成功创建了一个节点,但现在我愿意设置一个HTTP源和一个接收器,它将通过HTTP将传入请求写入本地文件。 任何建议? 提前致谢/

不使用JobConf运行Hadoop作业

我找不到提交不使用已弃用的JobConf类的Hadoop作业的单个示例。 JobClient ,尚未弃用,仍然只支持采用JobConf参数的方法。 有人可以指出我只使用Configuration类(而不是JobConf )并使用mapreduce.lib.input包而不是mapred.input提交Hadoop map / reduce作业的Java代码示例吗?

Hadoop 2.2和Maven

我想从Hadoop 1.2.1切换到Hadoop 2.2。 在我的项目中,我正在使用Maven,它可以处理 org.apache.hadoop hadoop-core 1.2.1 woithout任何问题,但无法将版本更改为2.2,因为它在中央maven存储库中不可用。 任何想法我如何包括Hadoop 2.2。 在我的maven-ized项目?