昨天下午继续eclipse与Hadoop间的开发测试,很不顺利,虚拟机中的ip果然又变了,设置成手动的后虚拟机中的就上不了网了,检查了各种参数也没有办法,上不了就上不了吧,能别老变ip就行了
在win7环境下,使用我eclipse4.3.2加上我前天制作的hadoop2.4的插件进行测试,报异常
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
网上有相关的介绍,需要下载hadoop.dll,winutils.exe(下载地址)把这两个文件放到win下你hadoop目录下的bin文件夹中(网上有介绍说直接替换现有bin,我的还是会出现这个问题,可能是版本问题吧,毕竟我用的是2.4,上边这两个文件是属于2.2版本的)
放好后,重新运行程序(我使用的Run Application),还是报上边的错,找到源码,把源码放到我的项目里进行debug,找到第571行,改为直接return true;
再次重新运行程序,成功,上张图
装好插件后显示的你配置的hdfs的目录,比在Ubuntu中方便一点,可以新增、删除、查看文件
上边提的那个错误,我直接修改的这个类
这个要注意,如果你不放log4j的配置文件,你会错过很多有用的报错信息,我刚开始就是没放这个文件,浪费了至少5,6个小时走弯路
将输入和输出文件路径在文件中定义好,这里需要说的是如果你的输出文件夹已经存在,再次运行的时候会报错的
运行信息,成功后可以在输出文件夹中的相应文件查看结果
调试过程中,几度崩溃,就是因为没有在工程里添加log4j,最后看到曙光是因为在ubuntu中的eclipse调试成功了(这个eclipse插件我用的是网上下载的2.2的插件)
win7下,我没有装cygwin,用的是我自己编译的2.4的eclipse插件,从网上下了那个dll和exe直接放到hadoop的bin目录下,eclipse中的hadoop也是配置的hadoop根目录,╮(╯▽╰)╭,网上的资料顶多算参考