Tag: hadoop

Hadoop:无法使用Jps命令

问题是 hduser@saket-K53SM:/usr/local/hadoop$ jps The program ‘jps’ can be found in the following packages: * openjdk-6-jdk * openjdk-7-jdk Try: sudo apt-get install 我的配置是 hduser@saket-K53SM:/usr/local/hadoop$ java -version java version “1.6.0_33” Java(TM) SE Runtime Environment (build 1.6.0_33-b04) Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode) 设置conf / hadoop-env.sh hduser@saket-K53SM:/usr/local/hadoop$ cat conf/hadoop-env.sh | grep JAVA_HOME # The only […]

使用hadoop指定内存限制

我正在尝试在Hadoop集群上运行高内存作业(0.20.203)。 我修改了mapred-site.xml以强制执行一些内存限制。 mapred.cluster.max.map.memory.mb 4096 mapred.cluster.max.reduce.memory.mb 4096 mapred.cluster.map.memory.mb 2048 mapred.cluster.reduce.memory.mb 2048 在我的工作中,我正在指定我需要多少内存。 不幸的是,即使我使用-Xmx2g运行我的进程(作为控制台应用程序,这个作用将运行得很好)我需要为我的mapper请求更多的内存(作为一个子问题,为什么会这样?)或者它被杀了。 val conf = new Configuration() conf.set(“mapred.child.java.opts”, “-Xms256m -Xmx2g -XX:+UseSerialGC”); conf.set(“mapred.job.map.memory.mb”, “4096”); conf.set(“mapred.job.reduce.memory.mb”, “1024”); 由于我正在执行身份缩减器,因此减速器几乎不需要任何内存。 class IdentityReducer[K, V] extends Reducer[K, V, K, V] { override def reduce(key: K, values: java.lang.Iterable[V], context:Reducer[K,V,K,V]#Context) { for (v <- values) { context write (key, v) } } } […]

Hadoop 1.2.1 – 多节点集群 – 对于Wordcount程序,Reducer阶段是否挂起?

我的问题可能听起来多余,但早期问题的解决方案都是临时性的。 很少有人尝试但没有运气。 实际上,我正在研究hadoop-1.2.1(在ubuntu 14上),最初我有单节点设置,在那里我成功运行了WordCount程序。 然后我根据本教程添加了一个节点。 它成功启动,没有任何错误,但现在当我运行相同的WordCount程序时,它处于还原阶段。 我查看了任务跟踪器日志,它们如下所示: – INFO org.apache.hadoop.mapred.TaskTracker: LaunchTaskAction (registerTask): attempt_201509110037_0001_m_000002_0 task’s state:UNASSIGNED INFO org.apache.hadoop.mapred.TaskTracker: Trying to launch : attempt_201509110037_0001_m_000002_0 which needs 1 slots INFO org.apache.hadoop.mapred.TaskTracker: In TaskLauncher, current free slots : 2 and trying to launch attempt_201509110037_0001_m_000002_0 which needs 1 slots INFO org.apache.hadoop.mapred.JobLocalizer: Initializing user hadoopuser on this TT. INFO org.apache.hadoop.mapred.JvmManager: In […]

Hadoop 2.0 JAR文件

尝试在Map / Reduce程序中实例化Configuration对象时出现意外错误。 错误如下: java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory 我正在使用Hadoop 2.2.0。 该程序与早期版本的Hadoop一起运行良好。 但是,现在我需要为版本2编写此作业提交者,这似乎不起作用。 作为旁注,我找不到此版本所需的所有JAR文件。 我已经阅读了类似问题的以下解决方案: hadoop 2中的hadoop jar文件在哪里? 。 但是,这对我不起作用。 它因上述运行时错误而失败。 我尝试使用较旧的JAR文件来解决这些问题,但新错误仍在继续。 有没有人有这个问题的解决方案? 我正在使用NetBeans,如果由于某种原因有任何不同。

Hadoop伪分布式操作错误:协议消息标记具有无效的线路类型

我正在建立一个Hadoop 2.6.0单节点集群。 我按照hadoop-common / SingleCluster文档进行操作 。 我在Ubuntu 14.04上工作。 到目前为止,我已成功运行独立操作。 我在尝试执行伪分布式操作时遇到错误。 我设法启动NameNode守护进程和DataNode守护进程。 jps oputut: martakarass@marta-komputer:/usr/local/hadoop$ jps 4963 SecondaryNameNode 4785 DataNode 8400 Jps martakarass@marta-komputer:/usr/local/hadoop$ 但是当我尝试执行MapReduce作业所需的HDFS目录时,我收到以下错误: martakarass@marta-komputer:/usr/local/hadoop$ bin/hdfs dfs -mkdir /user 15/05/01 20:36:00 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable mkdir: Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Protocol message tag had […]

将Log4j输出写入HDFS

有没有人试图将log4j日志文件直接写入 Hadoop分布式文件系统 ? 如果是,请回复如何实现这一目标。 我想我必须为它创建一个Appender。 这是这样的吗? 我的必要性是以特定的间隔将日志写入文件,并在稍后阶段查询该数据。

无法找到或加载主类com.sun.tools.javac.Main hadoop mapreduce

我正在努力学习MapReduce,但我现在有点迷失了。 http://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html#Usage 特别是这套说明: Compile WordCount.java and create a jar: $ bin/hadoop com.sun.tools.javac.Main WordCount.java 当我在终端输入hadoop ,我能够看到提供参数的“帮助”,所以我相信我已经安装了hadoop。 当我输入命令时: 编译WordCount.java并创建一个jar: hadoop com.sun.tools.javac.Main WordCount.java 我收到错误: Error: Could not find or load main class com.sun.tools.javac.Main 我知道我已经安装了Java并在我的计算机上工作,因为我之前使用它来创建其他程序。 此命令输出: $ /usr/libexec/java_home /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home 也许我错过了一套Java工具? 不确定

从java中删除hdfs文件夹

在边缘节点上运行的Java应用程序中,我需要删除hdfs文件夹(如果存在)。 我需要在运行在文件夹中输出的mapreduce作业(带有spark)之前执行此操作。 我发现我可以使用这种方法 org.apache.hadoop.fs.FileUtil.fullyDelete(new File(url)) 但是,我只能使用本地文件夹(即正在运行的计算机上的文件URL)。 我尝试使用类似的东西: url = “hdfs://hdfshost:port/the/folder/to/delete”; 使用hdfs://hdfshost:port是hdfs namenode IPC。 我用它来mapreduce,所以它是正确的。 但它没有做任何事情。 那么,我应该使用什么url,还是有其他方法? 注意: 这是一个简单的项目。

即使Hadoop正在运行,Hadoop也没有在作业跟踪器中显示我的工作

问题:当我向hadoop 2.2.0群集提交作业时,它不会显示在作业跟踪器中, 但作业成功完成。 通过这个我可以看到输出,它正确运行并在运行时打印输出。 我尝试了多种选择,但是求职者没有看到这份工作。 如果我使用2.2.0 hadoop运行流媒体作业,它会显示在任务跟踪器中,但是当我通过hadoop-client api提交它时,它不会显示在作业跟踪器中。 我正在查看端口8088上的ui接口以validation该作业 环境 OSX Mavericks,Java 1.6,Hadoop 2.2.0单节点集群,Tomcat 7.0.47 码 try { configuration.set(“fs.defaultFS”, “hdfs://127.0.0.1:9000”); configuration.set(“mapred.jobtracker.address”, “localhost:9001”); Job job = createJob(configuration); job.waitForCompletion(true); } catch (Exception e) { logger.log(Level.SEVERE, “Unable to execute job”, e); } return null; 等/ hadoop的/ mapred-site.xml中 mapreduce.framework.name yarn mapred.job.tracker localhost:9001 等/ hadoop的/芯-site.xml中 hadoop.tmp.dir /tmp/hadoop-${user.name} A base for […]

如何强制Spark执行代码?

我如何强制Spark执行对map的调用,即使它认为由于其懒惰的评估而不需要执行它? 我试图将cache()与map调用放在一起,但仍然无法解决问题。 我的map方法实际上将结果上传到HDFS。 所以,它并非无用,但Spark认为它是。