Windows 下折腾 Hadoop 的朋友,对hadoop.dll
和winutils.exe
肯定不陌生。这俩东西就是你想在本地跑起来 Hadoop 时的“钥匙”,缺一不可。是winutils.exe
,用来绕过系统权限检查,没它各种 HDFS 命令直接报错。
hadoop.dll的作用也挺关键,是支持 Hadoop 在 Windows 环境下运行的动态链接库,尤其在调用底层 API 时起作用。你一开始不会注意到它,直到遇到一些稀奇古怪的错误,才发现原来是它的问题。
我自己是在搞 HDFS 调试时踩了不少坑。后来在这篇文章里看到怎么用winutils.exe
和hadoop.dll
配 Windows 环境,才顺利跑通。嗯,步骤挺清晰,照着来基本不会错。
还有一篇我觉得也挺实用的:Windows 10 下配置 Hadoop 2.7.2,版本对得上,操作也比较细。尤其说到了文件要放在hadoop/bin
目录下,路径没放对,程序死活跑不动,注意一下。
如果你是用 Hadoop 2.8.3,可以看看这篇,挺详细地写了 winUtils 怎么异常问题。顺便提醒下,不同版本之间的兼容性别大意了,换一个版本,文件也得换。
想省事儿的话,可以直接下载配置好的工具集包,像这个合集就还不错,适合刚开始折腾的人。
,小建议:尽量别用管理员权限乱运行,不然多权限错误会被掩盖,调试反而更麻烦。如果你在配置时总报错,不妨检查下HADOOP_HOME
和PATH
,路径配置真的关键。