pad*_*com 11 java windows ubuntu hadoop
我将mapreduce作业从在windows上运行的java应用程序提交到在ubuntu上运行的hadoop 2.2集群.在hadoop 1.x中,这按预期工作但在hadoop 2.2上我得到一个奇怪的错误:
java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO $ Windows.access0(Ljava/lang/String; I)Z
我编译了必要的Windows库(hadoop.dll和winutils.exe),可以通过代码访问hdfs并使用hadoop API读取集群信息.只有作业提交不起作用.
任何帮助都是有帮助的.
解决方案:我自己发现了,可以找到windows hadoop二进制文件的路径必须添加到windows的PATH变量中.
出现此错误的原因通常是 %HADOOP_HOME%\bin 文件夹中的二进制文件不匹配。因此,您需要做的是获取专门针对您的 hadoop 版本的 hadoop.dll 和 winutils.exe。
获取适用于您的特定 hadoop 版本的 hadoop.dll 和 winutils.exe,并将它们复制到您的 %HADOOP_HOME%\bin 文件夹中。
| 归档时间: |
|
| 查看次数: |
13430 次 |
| 最近记录: |