我对hadoop和ubuntu还很陌生,所以请耐心听我说。我发现从命令行编译hadoop.java文件非常不方便。因此,我创建了一个eclipse项目&导入了所有hadoop库,以便eclipse不会抛出任何引用错误。但事实并非如此。但是,当我将这些文件作为独立的java应用程序运行时,会出现以下错误
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
我在ubuntu上运行,我在网上其他地方研究过这个问题。我不希望看到这个错误,因为唯一的区别是我在eclipse中运行它,而不是从命令行运行它。我错在哪里。有没有一种特定的方式可以将hadoop依赖项添加到我的helloworld hadoop项目中?一个简单的buildpath配置和导入必要的库是不够的吗?感谢您的回复。
2条答案
按热度按时间n7taea2i1#
这是一个警告,而不是一个错误,它告诉您在加载hadoop使用的本机库时存在一些问题。不过,它不应该对你的工作产出产生任何负面影响。记住,由于性能原因和java实现的不可用性,hadoop有特定组件的本机实现。在*nix平台上,库名为libhadoop.so。使用eclipse对hadoop的工作方式没有任何影响。只是由于某些原因,您的eclipse无法加载本机库。
一个可能的原因可能是java.library.path有问题。通过根据您的环境配置构建路径,您可以配置eclipse来加载适当的库。要了解更多关于hadoop本机库的信息,以及如何构建和使用它们,您可以访问以下链接。
flseospp2#
您可以尝试右键单击项目,->构建路径->配置构建路径
转到src文件夹,指向“native library”,然后将位置编辑为hadoop native library文件夹的位置(通常为:~/hadoop-x.x.x/lib/native/“文件夹取决于您的系统”)