风闻win10不需要cygwin就能用hadoop了,赶紧试试。
去官网下载hadoop-2.8.3,然后去 https://github.com/steveloughran/winutils 下载hadoop的windows插件工具
解压hadoop-2.8.3,配置环境变量HADOOP_HOME和path : %HADOOP_HOME%in ,到winutils找到对应的2.8.3版本的插件,覆盖到hadoop的bin目录。
然后修改几个hadoop的配置文件,都在%HADOOP_HOME%etchadoop下:
core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
httpfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/hadoop/data/dfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/hadoop/data/dfs/datanode</value> </property> </configuration>
mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> </configuration>
然后配置一下hadoop里的JAVA_HOME,到hadoop-env.cmd里修改: set JAVA_HOME=C:PROGRA~1Javajdk1.8.0_201
里边如果直接用C:Program Files这种带空格的路径是不行的会报错,用PROGRA~1代替Program Files ,这里是个坑。
用管理员cmd窗口到hadoop的bin目录去执行命令格式化namenode: hadoop namenode -format
然后去sbin执行start-all.cmd脚本,启动。会启动4个进程窗口,观察一下他们的日志有没有异常。
可能会报tmphadoop-xxxdfs ame does not exist这样的错误,说明namenode格式化失败了,这里是个坑,我是去前面说的tmphadoop-xxxdfs下面手工建一个name目录,然后重新执行hadoop namenode -format就可以了。再重新sbinstart-all.cmd ,日志无异常,启动成功。
管理控制台: