風聞win10不需要cygwin就能用hadoop了,趕緊試試。
去官網下載hadoop-2.8.3,然后去 https://github.com/steveloughran/winutils 下載hadoop的windows插件工具
解壓hadoop-2.8.3,配置環境變量HADOOP_HOME和path : %HADOOP_HOME%\bin ,到winutils找到對應的2.8.3版本的插件,覆蓋到hadoop的bin目錄。
然后修改幾個hadoop的配置文件,都在%HADOOP_HOME%\etc\hadoop下:
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~1\Java\jdk1.8.0_201
里邊如果直接用C:\Program Files這種帶空格的路徑是不行的會報錯,用PROGRA~1代替Program Files ,這里是個坑。
用管理員cmd窗口到hadoop的bin目錄去執行命令格式化namenode: hadoop namenode -format
然后去sbin執行start-all.cmd腳本,啟動。會啟動4個進程窗口,觀察一下他們的日志有沒有異常。
可能會報tmp\hadoop-xxx\dfs\name does not exist這樣的錯誤,說明namenode格式化失敗了,這里是個坑,我是去前面說的tmp\hadoop-xxx\dfs下面手工建一個name目錄,然后重新執行hadoop namenode -format就可以了。再重新sbin\start-all.cmd ,日志無異常,啟動成功。
管理控制台:
http://localhost:8088/cluster 資源管理
