hadoop-2.9.2 的 Windows 运行资源里,有两个文件挺关键,一个是hadoop.dll,另一个是winutils.exe。搞大数据的你应该知道,Hadoop 本来是为 Linux 设计的,在 Windows 上跑的话,多多少少有点绕。所以这俩文件就派上用场了,不少兼容性的小坑。
hadoop.dll的作用?简单说,就是让 Hadoop 能跟 Windows 打交道。像文件操作、网络通信这些底层事儿,全靠它撑着。不放它你连启动都费劲,多核心功能都依赖它。
winutils.exe更像个工具人,在 Windows 上干一些 Linux 下 Hadoop 命令行才能干的事,比如格式化 NameNode、改 HDFS 权限这些。要是在 Windows 上跑 Hadoop 却没它?那可真是寸步难行。
你要想在 Windows 10 上跑起Hadoop-2.9.2,步骤也不算多:JDK 装好、环境变量设上、Hadoop 解压、把这两个文件放对位置。winutils.exe
扔到HADOOP_HOME\bin
,hadoop.dll
看你配置,放lib
或者系统路径都行。
再配下几个关键的配置文件:hadoop-env.cmd
,改下JAVA_HOME
;core-site.xml
和hdfs-site.xml
要改 HDFS 默认设置;你要用 YARN 就再配下yarn-site.xml
和mapred-site.xml
。完了直接格式化 NameNode、跑服务,简单测几个命令就能用了。
运行完别忘了测一下,比如用hadoop fs -ls
列下文件,hadoop fs -put
上传点小文件,hadoop fs -get
下回来,顺带跑个 MapReduce WordCount,妥妥的能跑通。
哦对了,还有几点提醒你注意:路径别有空格、JDK 别太新、服务通信记得开防火墙端口。Windows 不是 Hadoop 的主场,但有了hadoop.dll和winutils.exe,跑起来也还蛮顺的。