文档章节

win10 下hadoop文件操作异常解决办法

键盘上跳舞
 键盘上跳舞
发布于 2017/03/07 22:41
字数 399
阅读 140
收藏 0

    小编在win10下进行简单的hadoop开发,没有在eclipse安装插件的情况下出现了不能依赖本地windos系统库而引发的异常。

    代码如下:

    

* @liukang
 *
 */
public class HDFSClientDemo
{
	FileSystem fileSystem = null;
	Configuration conf = null;

	@Before
	public void init() throws Exception
	{

		conf = new Configuration();
		conf.set("fs.defaultFS", "hdfs://mini1:9000");

		// 拿到一个文件系统操作的客户端实例对象
		 fileSystem = FileSystem.get(conf);
		// 可以直接传入 uri和用户身份
		//fileSystem = FileSystem.get(new URI("hdfs://master:9000"), conf, "hadoop"); // 最后一个参数为用户名

	}

	@Test
	public void uploadFile() throws IllegalArgumentException, IOException
	{
		fileSystem.copyFromLocalFile(new Path("c:/activemq.log"), new Path("/activemq.log"));
		fileSystem.close();
	}

	@Test
	public void testDownload() throws Exception
	{
		fileSystem.copyToLocalFile(new Path("/activemq.log"), new Path("d:/"));
		// 不用原始的文件系统(不用原生的文件系统),调用java自带的IO流
//		fileSystem.copyToLocalFile(false, new Path("/activemq.log"), new Path("d:/"), false);
		fileSystem.close();
	}
}

    在测试完文件上传时,没有问题,只要指明文件源和namenode所在的主机,没有问题

    在测试文件下载时,出现异常:

    

java.lang.NullPointerException
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1010)
	at org.apache.hadoop.util.Shell.runCommand(Shell.java:482)
	at org.apache.hadoop.util.Shell.run(Shell.java:455)
	at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:715)
	at org.apache.hadoop.util.Shell.execCommand(Shell.java:808)
	at org.apache.hadoop.util.Shell.execCommand(Shell.java:791)
	at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:659)
	at org.apache.hadoop.fs.FilterFileSystem.setPermission(FilterFileSystem.java:490)
	at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:462)
	at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:428)
	at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:908)
	at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:889)
	at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:786)

    

分析:

  下载Hadoop2以上版本时,在Hadoop2的bin目录下没有winutils.exe

解决:

  1.下载https://codeload.github.com/srccodes/hadoop-common-2.2.0-bin/zip/master下载hadoop-common-2.2.0-bin-master.zip,然后解压后,把hadoop-common-2.2.0-bin-master下的bin全部复制放到我们下载的Hadoop2的binHadoop2/bin目录下。如图所示:

    

            

        在环境变量中配置hadoop

        重启机器,问题得到解决。

        

         

        文件下载成功!!!

© 著作权归作者所有

键盘上跳舞
粉丝 19
博文 68
码字总数 66382
作品 0
海淀
程序员
私信 提问
大数据学习笔记-(二)启动集群&配置IDE环境

参考网站:http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html 1.启动集群,格式化文件系统 bin/hdfs namenode -format 2.启动 sbin/start-dfs.sh ......

langyw98
2017/11/06
0
0
hadoop常见异常

1、Shell$ExitCodeException 现象:运行hadoop job时出现如下异常: 原因及解决办法:原因未知。重启可恢复正常 2、Safe mode 现象:分配map reduce任务时产生: 说明Hadoop的NameNode处在安...

o0无忧亦无怖
2015/10/08
47
0
Hadoop上传文件和下载文件时候出现的问题

在Hadoop做上传下载操作的时候,上传的时候会出现一个超时的异常,在下载的时候回多出来crc的文件

aiChuang
05/12
15
0
hue(02)、Hue集成Hadoop集群(HDFS和YARN)

在上文 hue(01)、Hue4.1的编译安装启动 中,我们完整的进行了Hue的源码下载编译安装,Hue的web控制台与Hdfs、Hive、Hbase等集成才能展现它的魅力。本文我们在Hue中集成hadoop的hdfs和yarn服务,...

MaxBill
2018/01/25
867
0
hadoop 安装错误收集

[root@hadoop2 ~]# hadoop namenode -format DEPRECATED: Use of this script to execute hdfs command is deprecated. Instead use the hdfs command for it. Error: Could not find or loa......

盖世英雄到来
2015/11/30
301
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot集成elasticsearch-rest-high-level-client的坑

我使用的是Elasticsearch7.2.0,由于官网上推荐使用elasticsearch-rest-high-level-client端集成在springboot所以尝试爬坑。 首先直接引入官网的配置文件 <dependency> <grou...

MuzzyXu
15分钟前
4
0
ECMAScript运算符之《等性运算符》

等性运算符一般用在判断两个变量是否相等的运算。在处理原始值时,这种运算相当简单,涉及对象,任务就稍有点复杂。 性运算符分: 1、等号和非等号用于处理原始值 2、全等号和非全等号用于处...

专注的阿熊
17分钟前
2
0
ssh-keygen -t rsa -C "注释内容,一般为邮件地址",生成的公钥后面会带上注释,这个注释有什么用处呢?

ssh-keygen -t rsa -C "注释内容,一般为邮件地址",生成的公钥后面会带上注释,这个注释有什么用处呢? donhui 发布于 2015/11/12 16:47 阅读 5K+ 收藏 0 答案 1 补充话题 OpenSSH 为什么8...

linjin200
19分钟前
3
0
Proxy用法——让我们创建一个API代理器

什么是Java Proxy? MDN对Proxy 的定义是: Proxy对象用于定义基本操作的自定义行为(如属性查找、赋值、枚举、函数调用等)。 通俗的将,Proxy对象是目标对象的一个代理器,任何对目标对象的...

AiChinaTech
23分钟前
3
0
Nginx--面试基础必会

文章原创于公众号:程序猿周先森。本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号。 最近一直在更新关于Nginx的系列文章,终于将Nginx的几个关键知识点讲的差不多了。本篇作为Ngi...

程序猿周先森
25分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部