当开发编写代码在Windows系统上执行,又不想通过连接Linux服务器取跑,而想通过Windows机器进行跑,这样进行开发的话比较快速一些,下面讲解Windows单机运行具体步骤:
1.首先需要在Windows上编写好MapReduce代码.
2.在Windows机器上解压安装Hadoop(和Linux系统上使用的是同一个压缩包)
3.在Windows上配置HADOOP_HOME环境变量(配置后记得重启生效)
4.在windows环境中增加相关依赖文件hadoop.dll和winutils.exe
链接:https://pan.baidu.com/s/1XqBmc0e4WbcICMrhUBeRLg
提取码:yn7f
将解压后文件中的hadoop.dll和winutils.exe放入Hadoop/bin目录下
注意:
此时运行程序(记得带上参数)会出现以下错误:
java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

这是因为在运行过程中会NativeIO中的一个native方法,此方法在Windows中不支持.

我们不能修改源代码,所以我们需要自己创建一个NativeIO类在我们的项目中.将源代码全部复制到这个类中,(注意需要保持和原本的类相同的package),然后再修改方法.


5.运行即可
本文详细介绍了如何在Windows系统上配置并运行Hadoop单机环境,包括代码编写、Hadoop安装、环境变量配置及解决NativeIO方法不支持问题的步骤。
4066





