当前位置:   article > 正文

【hadoop】eclipse中运行hadoop相关程序出现Unable to load native-hadoop library for your platform解决方法_eclipse unable to load native-hadoop library for y

eclipse unable to load native-hadoop library for your platform... using buil

运行环境

hadoop 2.6.0

ubuntu18.04.6

eclipse2020.6

问题

在eclipse中执行如下代码向hadoop中写入test文件时出现错误:

package test;

import org.apache.hadoop.conf.Configuration;  
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.Path;

public class WriteFile {   
	public static void main(String[] args) { 
		try {
	    	Configuration conf = new Configuration();  
	        conf.set("fs.defaultFS","hdfs://localhost:9000");
	        conf.set("fs.hdfs.impl","org.apache.hadoop.hdfs.DistributedFileSystem");
	        FileSystem fs = FileSystem.get(conf);
            byte[] buff = "Hello world".getBytes(); // 要写入的内容
            String filename = "test"; //要写入的文件名
            FSDataOutputStream os = fs.create(new Path(filename));
            os.write(buff,0,buff.length);
            System.out.println("Create:"+ filename);
            os.close();
            fs.close();
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
	}  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

运行结果:

2022-10-22 00:18:00,576 WARN  [main] util.NativeCodeLoader (NativeCodeLoader.java:<clinit>(62)) - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Create:test
  • 1
  • 2

我在网上找了很多博客,他们的情况都是说在terminal中输入命令hadoop fs -ls /出现这种错误是因为没有配置好native的路径,然而当我在terminal中输入命令之后,我的结果是这样的:
在这里插入图片描述
好吧,我的配置没问题,那么也就是说是eclipse与hadoop之间没有连接好,即eclipse找不到hadoop中native的路径,因此我们可以这样做:

解决方法

在eclipse程序中右键点击 Run As -> Run Configurations:
在这里插入图片描述
如上图,依次选择Arguments -> VM arguments,然后输入如下指令:

-Djava.library.path=/usr/local/hadoop/lib/native
  • 1

注意,等于号=后面的是你自己安装的hadoop的native的路径
之后点击 Apply -> Run,就可以发现错误解决了:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/851337
推荐阅读
相关标签
  

闽ICP备14008679号