精华内容
下载资源
问答
  • 因为造成文件为空的原因可能是节点与节点之间出现了访问权限限制的问题,导致文件上传失败。 第二种: 将hdfs-site.xml文件中的dfs.data.dir和core-site.xml文件中的hadoop.tmp.dir的路径指定为linux操作系统中...

    解决办法

    第一种:

    #iptables -F

    注:将每一个节点的防火墙关闭。因为造成文件为空的原因可能是节点与节点之间出现了访问权限限制的问题,导致文件上传失败。

    第二种:
    将hdfs-site.xml文件中的dfs.data.dir和core-site.xml文件中的hadoop.tmp.dir的路径指定为linux操作系统中已经存在的同一个路径。

    Over

    展开全文
  • Eclipse上传文件到hdfs集群的常见问题 一、准备 工具:windows平台的hadoop(我的是hadoop-2.6.4包,这个包我不知道怎么上传上来,2333....),eclipse; 第一步:首先把压缩包解压; 第二步:配置环境变量 ...

    用Eclipse上传文件到hdfs集群的常见问题

    一、准备

    工具:windows平台的hadoop(我的是hadoop-2.6.4包,这个包我不知道怎么上传上来,2333....),eclipse;

    第一步:首先把压缩包解压;

    第二步:配置环境变量

    添加一个HADOOP_HOME=E:\hadoop 2.6.4(填你自己的路径);

    把%HADOOP_HOME%\bin添加到Path中

     

    二、程序

    代码我就不解释了,我的代码也不是很完整,主要需要注意几个问题。

    Configuration conf=new Configuration();
    conf.set("fs.defaultFS", "hdfs://主节点ip或主机名:9000");

    【注意】:主节点ip如果写的是正确的,但程序报connection refused错误,那么可以去看看

    集群中core-site.xml中fs.defaultFS的配置,看看是否当初ip写成了127.0.0.1或者localhost,如果是,可以将其改成主机名,当然要注意你hosts文件中有没有把你的ip映射到主机名,如果没有,可以直接写ip地址。不过我建议还是写主机名,因为以后如果ip变了,也不用再来改,只要把主机名和ip的映射改一下就好了,而且会更一目了然。

    FileSystem fs=FileSystem.get(new URI("hdfs://主节点的主机名或ip:9000"), conf,"用户名");
    fs.copyFromLocalFile(new Path("E:/abc.txt"), new Path("/abc.txt"));
    fs.close();		

    默认情况下,hdfs客户端会从jvm中获取一个参数作为自己的身份,所以如果你的程序中fs=FileSystem.get(conf),没有传用户名,

    还有一种方法传用户名,就是用Runas Configurations的方式运行程序,在Arguments的VMArguments中写 :-DHADOOP_USER_NAME=用户名。

    展开全文
  • 例如:Permission denied: user=dr.who, access=WRITE, inode="/":root:supergroup:drwx 解决办法 最终,总结下来解决办法大概有三种: 1、在系统的环境变量或java JVM变量里面添加HADOOP_...(修改完重启eclipse...

    例如:Permission denied: user=dr.who, access=WRITE, inode="/":root:supergroup:drwx

    解决办法

    最终,总结下来解决办法大概有三种:

    1、在系统的环境变量或java JVM变量里面添加HADOOP_USER_NAME,这个值具体等于多少看自己的情况,以后会运行HADOOP上的Linux的用户名。(修改完重启eclipse,不然可能不生效)

    2、将当前系统的帐号修改为hadoop

    3、使用HDFS的命令行接口修改相应目录的权限,hadoop fs -chmod 777 /user,后面的/user是要上传文件的路径,不同的情况可能不一样,比如要上传的文件路径为hdfs://namenode/user/xxx.doc,则这样的修改可以,如果要上传的文件路径为hdfs://namenode/java/xxx.doc,则要修改的为hadoop fs -chmod 777 /java或者hadoop fs -chmod 777 /,java的那个需要先在HDFS里面建立Java目录,后面的这个是为根目录调整权限。

    展开全文
  • eclipse 上传文件到hadoop

    千次阅读 2017-03-20 18:58:23
    注意上传文件的时候添加了 conf.set("fs.default.name", "hdfs://172.16.236.11:9000"); 这句话 ,否则出现 找不到文件的问题 参考: http://www.cnblogs.com/bingofworld/archive/2013/06/09/3129299.html   ...

    其实很简单,只要配置正确,就行

     直接给代码吧

    package com.younglibin.hadoop;
    
    import java.io.IOException;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FSDataInputStream;
    import org.apache.hadoop.fs.FSDataOutputStream;
    import org.apache.hadoop.fs.FileStatus;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    
    public class HDFSystem {
    	public static void uploadLocalFile2HDFS(Configuration config,
    			String localFile, String remoteFile) throws IOException {
    		FileSystem hdfs = FileSystem.get(config);
    		Path src = new Path(localFile);
    		Path dst = new Path(remoteFile);
    
    		hdfs.copyFromLocalFile(src, dst);
    
    		hdfs.close();
    	}
    
    	public static void createNewHDFSFile(String toCreateFilePath, String content)
    			throws IOException {
    		Configuration config = new Configuration();
    		FileSystem hdfs = FileSystem.get(config);
    
    		FSDataOutputStream os = hdfs.create(new Path(toCreateFilePath));
    
    		os.write(content.getBytes("UTF-8"));
    
    		os.close();
    
    		hdfs.close();
    	}
    
    	public static boolean deleteHDFSFile(String dst) throws IOException {
    		Configuration config = new Configuration();
    		FileSystem hdfs = FileSystem.get(config);
    
    		Path path = new Path(dst);
    		boolean isDeleted = hdfs.delete(path);
    
    		hdfs.close();
    
    		return isDeleted;
    	}
    
    	public static byte[] readHDFSFile(String dst) throws Exception {
    		Configuration conf = new Configuration();
    		FileSystem fs = FileSystem.get(conf);
    
    		// check if the file exists
    		Path path = new Path(dst);
    		if (fs.exists(path)) {
    			FSDataInputStream is = fs.open(path);
    			// get the file info to create the buffer
    			FileStatus stat = fs.getFileStatus(path);
    
    			// create the buffer
    			byte[] buffer = new byte[Integer.parseInt(String.valueOf(stat
    					.getLen()))];
    			is.readFully(0, buffer);
    
    			is.close();
    			fs.close();
    
    			return buffer;
    		} else {
    			throw new Exception("the file is not found .");
    		}
    	}
    }
    

     注意上传文件的时候添加了  conf.set("fs.default.name", "hdfs://172.16.236.11:9000");  这句话 ,否则出现  找不到文件的问题 参考:http://www.cnblogs.com/bingofworld/archive/2013/06/09/3129299.html

     Hadoop HDFS Wrong FS: hdfs:/ expected file:///

     看代码吧:

    public static void main(String[] args) throws Exception {
    
    		File jarFile = EJob.createTempJar("bin");
    		EJob.addClasspath("/home/libin/software/hadoop/hadoop-1.2.1/conf");
    		ClassLoader classLoader = EJob.getClassLoader();
    		Thread.currentThread().setContextClassLoader(classLoader);
    
    		Configuration conf = new Configuration();
    		conf.set("mapred.job.tracker", "172.16.236.11:9001");
    		conf.set("fs.default.name", "hdfs://172.16.236.11:9000");
    		String fileName = "local";
    		HDFSystem.uploadLocalFile2HDFS(conf,
    				new File(fileName).getAbsolutePath(),
    				"hdfs://172.16.236.11:9000/user/libin/input/" + fileName);
    		args = new String[] { "/user/libin/input/" + fileName,
    				"/user/libin/output/wordcount" + System.currentTimeMillis() };
    
    		String[] otherArgs = new GenericOptionsParser(conf, args)
    				.getRemainingArgs();
    		if (otherArgs.length != 2) {
    			System.err.println("Usage: wordcount <in> <out>");
    			System.exit(2);
    		}
    		Job job = new Job(conf, "word count");
    		job.setJarByClass(WordCount.class);
    		((JobConf) job.getConfiguration()).setJar(jarFile.toString());
    		job.setMapperClass(TokenizerMapper.class);
    		job.setCombinerClass(IntSumReducer.class);
    		job.setReducerClass(IntSumReducer.class);
    		job.setOutputKeyClass(Text.class);
    		job.setOutputValueClass(IntWritable.class);
    		FileInputFormat.addInputPath(job, new Path("hdfs://172.16.236.11:9000"
    				+ File.separator + otherArgs[0]));
    		FileOutputFormat.setOutputPath(job, new Path(
    				"hdfs://172.16.236.11:9000" + File.separator + otherArgs[1]));
    		System.exit(job.waitForCompletion(true) ? 0 : 1);
    	}

     转自:http://younglibin.iteye.com/blog/1925109

    展开全文
  • 这个问题害我纠结了一天,具体情况是这样的,我通过eclipse for hadoop 插件向master hdfs主机上传文件,然后做一个测试。 至于环境搭建和怎么配置插件我这里就不着重讲了,我通过插件连接上了master的hdfs,我再...
  • Windows的eclipse连接Linux的HDFS 可以显示一级目录 不能显示子目录 ![图片说明](https://img-ask.csdn.net/upload/202005/30/1590825059_33448.png) 求大佬解答!!!
  • java上传本地文件到HDFS简单demo

    万次阅读 2018-01-15 15:10:52
    本文整理了上传文件到hdfs的三种java代码,均已测试通过 1、创建maven项目  2、pom依赖 junit junit 3.8.1 test org.apache.hadoop hadoop-client 2.7.3
  • JAVA上传文件到HDFS

    2018-01-08 16:37:26
    //本地上传文件路径 Path dstPath = new Path(dst); //hdfs目标路径 //调用文件系统的文件复制函数,前面参数是指是否删除原文件,true为删除,默认为false fs.copyFromLocalFile(false, srcPath, dstPath); //...
  • 唯一可疑的地方就是上传速度太慢了,一个只有几个字符的文件上传了40多秒。刚开始以为自己的笔记本太渣了。直到解决问题后。 如果你符合上述问题描述的话,那么恭喜,你应该找到了解决方案。 解决方案: ...
  • eclipse 上传文件 到HDFS
  • eclipse文件hdfs失败 在hadoop平台下基于eclipse运行oryx程序时,报如下错: java.lang.RuntimeException: Cannot create job output directory /tmp/crunch-1820027447  at org.apache.crunch.impl.dist....
  • eclipse中连接HDFS,上传本地文件夹

    千次阅读 2018-03-27 14:25:08
    连接HDFS的步骤// 准备连接HDFS的操作支持类Configuration conf = new Configuration();// 所要写入的路径,path要用于创建文件系统和创建连接hadoop的create路径Path path = new Path("hdfs://192.168.43....
  • 在windows下使用eclipse远程上传至linux下的hdfs文件系统报错:org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=cmaster, ...
  • 第一步:配置Windows本地hadoop环境,教程如下: ...第三步:创建,删除,上传和下载hdfs文件 先在Linux下打开hadoop进程,其实只需要打开hdfs进程即可。 连接成功后就可以随便进行操作了,没有权限限制。 ...
  • 解决eclipse中无法执行向hadoop上传文件问题 main…的问题 Permission denied: user=zhuy, access=WRITE, inode="/user":root:supergroup:drwxr-xr-x 从这句话我们可知道是权限问题 所以要修改权限在  hdfs-...
  • 文章目录1、文件上传2、文件下载3、删除文件或文件夹4、文件重命名5、文件详情...把windows本地的文件上传到HDFS中,示例: @Test public void testCopyFromLocalFile() throws IOException, InterruptedException...
  • 引言:通过Java本地把windows里的文件资源上传到centOs环境下的 hdfs文件系统里,中间遇到了很多问题,不过最终还是把文件上传到hdfs里了 环境:centos-7.0,hadoop.2.8.5.gz,jdk1.8,eclipse 1、下载hadoop.2.8.5...
  • 上传本地文件到HDFS

    千次阅读 2016-09-21 10:09:44
    本文程序参考《实战Hadoop》【刘鹏 主编】,如有侵权立即删除,仅作记录以备后... Eclipse Mars Hadoop version 1.0.3伪分布式 JDK 1.7.0_80 虚拟机 Virtualbox 程序目录结构: 其中src文件夹下的Hdoop包存放java
  • Hadoop本地操作HDFS不能上传文件

    千次阅读 2019-10-12 19:16:52
    2、NameNode节点存放的是文件目录,也就是文件夹、文件名称,本地可以通过公网访问 NameNode,所以可以进行文件夹的创建,当上传文件需要写入数据DataNode时,NameNode 和DataNode 是通过局域网进行通信,NameNode...
  • 本文主要介绍一个新手开发JavaWeb容易遇到的问题。在做一个文件上传功能时候,提示文件上传成功但是eclipse的工程中(如:upload文件夹)没有上传文件
  • 我们使用eclipse做Java web时上传文件的时候发现上传成功但是文件夹中并没有发现刚才上传文件,需要我们进行更改一下服务器!!(使用Myeclipse上传文件时没有问题) 1.新建一个服务器(解决问题之后可以将旧的...
  • Web程序,想实现文件上传到Hadoop HDFS的功能,文件上传提示成功,控制台也没有报异常,hadoop下运行“hadoop  fs ls /user”却看不这个文件。你审查hadoop/conf/ hdfs-site.xml文件,发现“dfs....
  • 本篇讲解如何通过Eclipse 编写代码去操作分析hdfs 上的文件。1、在eclipse 下新建Map/Reduce Project项目。如图: 项目建好后,会默认加载一系列相应的jar包。 下面还有很多包。 2、我们新建java 类就可以了。...
  • Eclipse连接hdfs

    千次阅读 2018-05-26 20:03:33
    Eclipse连接Hadoop一、实验目的1.通过Eclipse连接Hadoop2.用EclipseHDFS进行操作二、实验原理Eclipse...通过Eclipse的Hadoop插件可以使EclipseHDFS进行操作,同时,可以进行程序编写后的对集群进行MepReduce操作...
  • Java写文件HDFS失败

    2021-03-08 18:34:30
    把写好的代码拿部署Hadoop的虚拟机上能正常运行,成功写文件HDFS文件内容正常。但在我本地电脑,往虚拟机上的HDFS文件时,文件创建成功,但往文件里写入内容一直失败,感觉是找不可写的datanode, 不知道...
  • // 拿一个文件系统操作的客户端对象 FileSystem fs = FileSystem.get(conf); fs.copyFromLocalFile(new Path("d:/mylog.log"), new Path("/mylog.log.copy"));//测试文件 fs.close(); } 运行时加上参数 ...
  • eclipsehdfs上传文件,TXT格式显示乱码,项目属性设置的utf-8,仍然乱码。 解决办法:windows->Preferences 打开"首选项"对话框;general->Workspace,右侧Text file encoding,选择Other,改变为UTF-8。 ....
  • 3,使用FS对象上传文件到HDFS 上传本地的firefox到HDFS上 4,查看hadoop的配置文件 程序的执行结果为: 可以看出虽然没有进行配置,但是有一些设置,配置文件的读取步骤是 (1)读取jar中的配置 》(2)读取xml...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,080
精华内容 2,832
关键字:

eclipse上传文件到hdfs