
hadoop
文章平均质量分 63
caiandyong
浮躁的心不会积淀出成功的土壤,清幽的路上风景更美好!
展开
-
hadoop2.6.0在eclipse下面调试程序看不到日志的解决方法
使用Hadoop2.6.0,在eclipse下面调试mapreduce程序的时候,控制台不打印程序运行时的日志,而是显示如下信息:log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).log4j:WARN Please in原创 2015-03-24 23:01:19 · 2372 阅读 · 2 评论 -
hadoop2.6.0控制集群节点个数
要控制集群节点的个数,只需要更改主控节点(master)上Hadoop安装目录下面./etc/hadoop下面的slaves文件,通过添加或删除slave的ip或ip映射的名字,然后在主控节点执行start-all.sh就可以了.1.slaves里面放一个slaveslave1启动集群后,查看状态:hadoop@master:/opt/hadoop$ jps27原创 2015-04-05 13:40:11 · 3099 阅读 · 0 评论 -
hadoop2.6.0 nodemanager启动后过一段时间就自动关闭
hadoop2.6.0集群启动后,在slave节点上jps能够看到nodemanager进程,但是过一会nodemanager进程就不见了.查看日志发现是因为配置错误导致的,更改后所有的配置文件内容如下:(更改配置文件后,要删除之前配置文件里设置的相关目录里面所有的内容后重新format,再start-all)core-site.xml fs.de原创 2015-04-07 21:06:38 · 12442 阅读 · 0 评论 -
MapReduce Job Control
package org.cy.pack1;import java.net.URI;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.hadoop原创 2015-04-19 16:43:14 · 878 阅读 · 0 评论 -
hadoop2.6.0 dfs.blocksize
在hdfs-site.xml中配置了dfs.blocksize的大小,那么通过命令行上传至HDFS的文件就按照dfs.blocksize的大小进行分块。如果是通过eclipse进行文件上传,那么文件块的大小就按照Map/Reduce Locations的Advanced parameters中的dfs.blocksize的大小决定。以上设置的文件快大小受到dfs.namenode.fs原创 2015-04-12 21:48:48 · 5930 阅读 · 0 评论 -
yarn.server.nodemanager.security.NMContainerTokenSecretManager.retrievePassword
在新搭建Hadoop2.6.0集群上运行自己写的程序报以下错误:hadoop@master:/opt/hadoop$ bin/hadoop jar /home/hadoop/桌面/GRbyMDAS.jar Process15/04/07 20:20:00 WARN util.NativeCodeLoader: Unable to load native-hadoop library原创 2015-04-08 14:43:32 · 1453 阅读 · 0 评论 -
Hadoop作业优先级控制
当同时在集群中运行多个作业时,默认情况下,Hadoop将提交的作业放入一个FIFO,一个作业结束后,Hadoop就启动下一个作业。当一个运行时间长但是优先级较低的作业先于运行时间短而优先级较高的作业提交时,优先级高的作业会长时间排队等待。为了解决这个问题,Hadoop定义了5种不同的作业优先级,分别是:VERY_HIGH,HIGH,NORMAL,LOW,VERY_LOW,作业的默认优先级是原创 2015-05-30 17:42:42 · 596 阅读 · 0 评论 -
to localhost:8020 failed on connection exception: java.net.ConnectException: 拒绝连接
在MapReduce程序中设定输入路径为“hdfs://127.0.0.1/home/in”,执行程序报如下错误:Exception in thread "main" java.net.ConnectException: Call From caiyong/127.0.1.1 to localhost:8020 failed on connection exception: java.ne原创 2015-05-29 23:54:12 · 17476 阅读 · 0 评论 -
MapReduce多文件输出
public static class MyReduce extends Reducer{ public static Text keyout = new Text(); public static Text valout = new Text(); private MultipleOutputs mos; //使用输入的上下文创建原创 2015-07-11 11:05:33 · 716 阅读 · 0 评论 -
Hadoop map任务个数分析
Hadoop map任务个数由输入文件在HDFS上的分块个数确定。 如果一个输入文件的大小大于BlockSize,那么这个输入文件被分成的若干个块,一个块即是一个split,map任务的个数等于块(split)的个数。 如果一个输入文件的大小小于BlockSize,则这个文件就是一个块(其占用的存储空间等于文件的实际大小),这个输入文件将被作为一个map任务的输原创 2015-07-16 19:38:37 · 1725 阅读 · 0 评论 -
Hadoop获取split文件名
在mapper()类的map方法,setup()方法中读取当前split所在文件的文件名: //获取当前split的文件名 FileSplit fileSplit = (FileSplit)context.getInputSplit(); System.out.println(fileSplit.getPath().getNam原创 2015-07-16 19:12:22 · 4393 阅读 · 0 评论 -
MapReduce输入路径
目前为止知道MapReduce有三种输入路径的设置方式:1、第一种是通过以下方式输入:FileInputFormat.addInputPath(job, new Path(args[0]));FileInputFormat.addInputPath(job, new Path(args[1]));FileInputFormat.addInputPath(job, new Path(原创 2015-10-20 11:50:19 · 2274 阅读 · 0 评论 -
Mapreduce实例-Top Key
public class TopK extends Configured implements Tool { public static class TopKMapper extends Mapper { public static final int K = 100; private TreeMap tm = new TreeMap();转载 2015-10-20 12:01:50 · 579 阅读 · 0 评论 -
Hadoop的局限性
1、抽象层次低,需要手工编写代码来完成,使用上难以上手;2、只提供两个操作,Map和Reduce,表达力欠缺;3、一个Job只有Map和Reduce两个阶段(Phase),复杂的计算需要大量的Job完成,Job之间的依赖关系是由开发者自己管理的;4、处理逻辑隐藏在代码细节中,没有整体逻辑;5、中间结果也放在HDFS文件系统中;6、ReduceTask需要等待所有MapTask都完成后才可原创 2015-09-21 12:33:55 · 3146 阅读 · 0 评论 -
Hadoop 2.6.0的安装与配置
系统:Ubuntu 14.10,其部署在VMware workstation 11.0.0上JDK:jdk-7u25-linux-i586.tar.gzHadoop:hadoop-2.6.0.tar.gz(下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/)Step1:上传安装包 在windows系统预原创 2015-01-17 22:56:42 · 8133 阅读 · 0 评论 -
Exception in createBlockOutputStream java.net.SocketException: 打开的文件过多
执行MapReduce程序报如下错误:15/03/29 22:35:13 INFO hdfs.DFSClient: Exception in createBlockOutputStreamjava.net.SocketException: 打开的文件过多 at sun.nio.ch.Net.socket0(Native Method) at sun.nio.ch.Net原创 2015-03-29 22:39:48 · 4328 阅读 · 0 评论 -
Hadoop故障分析
调小数据块的大小,并提升NameNode的日志级别。具体操作为在hdfs-site.xml中添加如下属性设置: dfs.block.size 1048576 dfs.namenode.logging.level all 执行s原创 2015-03-24 23:56:55 · 834 阅读 · 0 评论 -
ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: All directories in dfs.data.dir are invalid
几天前配置好了hadoop1.2.1,一直好好的。自从更改了core-site.xml中的hadoop.tmp.dir为/home/caiyong/hadoop_tmp后,启动hadoop,jps查看只有5个进程,DataNode始终不见,重启了几次还是看不到DataNode进程。查看日志发现如下错误:2015-01-22 11:48:55,063 INFO org.apache.hadoop原创 2015-01-22 12:19:49 · 3375 阅读 · 0 评论 -
MultipleInputs实现reduce端连接
MultipleInputs允许定义多个数据源,并且为每一个数据源指定一个独立的输入格式和Mapper,因此可以对多个输入文件执行Reduce操作。示例源代码:package org.cy.pack;import java.io.IOException;import java.net.URISyntaxException;import java.util.Date;im原创 2015-03-15 17:58:09 · 574 阅读 · 0 评论 -
Hadoop作业优先级控制
当同时在集群中运行多个作业时,默认情况下,Hadoop将提交的作业放入一个FIFO,一个作业结束后,Hadoop就启动下一个作业。当一个运行时间长但是优先级较低的作业先于运行时间短而优先级较高的作业提交时,优先级高的作业会长时间排队等待。为了解决这个问题,Hadoop定义了5种不同的作业优先级,分别是:VERY_HIGH,HIGH,NORMAL,LOW,VERY_LOW,作业的默认原创 2015-03-17 13:13:20 · 7823 阅读 · 3 评论 -
MapReduce编程教训
1.map定义的Key和Value格式必须要和文件输入的格式一致,不然程序直接进行reduce操作而不经过map处理。2.reduce的value必须定义为Iterable格式,不然程序不经过reduce操作而就直接输出。最可悲的是:上述失误不会有任何错误信息输出,弄死人。原创 2015-03-21 12:27:52 · 431 阅读 · 0 评论 -
在Ubuntu上安装与配置Hadoop
安装环境操作系统:ubuntu14.10,运行在virtualBox上。Hadoop:hadoop-1.0.4.tar.gzJDK:jdk-7u25-linux-i586.tar.gz 首先把要用到的压缩包上传到Ubuntu,在这里我使用Xshell作为远程管理工具,Xftp作为文件管理工具。在/home/caiyong(当前用户目录)下创建setup文件原创 2015-01-17 13:38:34 · 1025 阅读 · 0 评论 -
Hadoop的NameNode无法启动解决方法
执行start-all.sh的时候发现jps一下发现NameNode没有启动。原因:Hadoop默认的hadoop.tmp.dir里面的文件每次重新开机会被清空,NameNode的格式化信息会一起被清空。 解决方法:重新配置hadoop.tmp.dir(1)在/home/caiyong(我的个人主目录)目录下建立一个hadoop_tmp目录;(2)修改原创 2015-01-22 12:46:01 · 2390 阅读 · 0 评论 -
HDFS常用操作
1.格式化HDFSbin/hadoop namenode -format2.启动HDFSbin/start-dfs.sh3.关闭HDFSbin/stop-dfs.sh4.创建目录bin/hadoop fs -mkdir 目录如:bin/hadoop fs -mkdir /user/cai 注意:hadoop的mkdir会自动创建父目录原创 2015-01-21 11:41:23 · 1595 阅读 · 0 评论 -
HDFS管理与更新
1.报告HDFS的统计信息bin/hadoop dfsadmin -report2.安全模式NameNode在启动的时候会自动进入安全模式,安全模式是NameNode一种状态。在安全模式下,不允许文件有任何修改。启动安全模式的目的是在系统启动是检查各个DataNode的数据块是否有效,同时根据策略对数据块进行复制和修改。当DataNode满足配置策略时,NameNod原创 2015-01-25 23:20:59 · 546 阅读 · 0 评论 -
HDFS JAVA API
测试以下代码全部有效。1.检查文件或文件夹是否存在 import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class CheckF原创 2015-02-07 11:06:04 · 534 阅读 · 0 评论 -
Hadoop1.2.1集群配置
0.环境说明1个master1,3个slavemasterIP:10.10.38.71slave1IP:10.10.39.14slave2IP:10.10.36.150slave3IP:10.10.39.3JDK:jdk-7u25-linux-i586.tar.gzHadoop:hadoop-1.2.1.tar.gz在4台机器上设置相同的用户组和用户名。原创 2015-01-22 09:49:37 · 524 阅读 · 0 评论 -
mapreduce自动删除输出文件夹
再次运行程序,如果不删除上一次运行结束后的输出文件夹,就报错,每次手动去删除输出文件夹简直太麻烦了。在run()方法或者main()方法(视个人程序结构而定)中加入如下代码就可以让程序在运行时先自动删除与设定的输出文件夹同名的文件夹。代码如下:Path in = new Path(args1[0]);Path out = new Path(args1[1]);FileS原创 2015-02-07 10:23:52 · 4048 阅读 · 0 评论 -
mapreduce java.lang.Exception: java.lang.RuntimeException: java.lang.NoSuchMethodException
执行reduce的时候出现如下错误:java.lang.Exception: java.lang.RuntimeException: java.lang.NoSuchMethodException: org.cy.pack1.MR1_Normalization$Reduce_Normalization.() at org.apache.hadoop.mapred.LocalJob原创 2015-03-29 10:12:57 · 3188 阅读 · 2 评论 -
Hadoop append操作
执行append操作的代码:package org.cy.pack;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IOUtils;impor原创 2015-03-29 11:22:56 · 1738 阅读 · 0 评论 -
java.io.IOException: Failed to replace a bad datanode on the existing pipeline due to no more good
错误提示:15/03/29 17:16:53 WARN hdfs.DFSClient: DataStreamer Exceptionjava.io.IOException: Failed to replace a bad datanode on the existing pipeline due to no more good datanodes being available to tr原创 2015-03-29 20:05:05 · 6736 阅读 · 2 评论 -
ERROR org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: RECEIVED SIGNAL 15: SIGTERM
重新搭建Hadoop集群,一切配置就绪后,启动集群后,在Master和所有的Slave节点上通过JPS命令都可以看到集群应该启动的进程都已经启动了。通过50070端口也可以查看到所有DataNode处于Live状态,而且可以正常往HDFS上传下载文件。但是在8088端口查看不到任何Nodes的信息,提交任务到集群,任务一直卡在Accepted状态。通过查看日志发现提示如下错误:2016原创 2016-03-17 14:10:10 · 37397 阅读 · 4 评论