- 準備工作:
- 下載JDK,並配置JAVA環境變量;具體步驟不知道的去問度娘
- 下載Hadoop 戳這裏,看上哪個版本就下載那個版本,我這邊用的是hadoop-2.7.6
- 下載winutils 戳這裏,這個是別人編譯好的hadoop的windows版本二進制文件,不需要我們自己進行編譯。
- 注意:
- Hadoop版本和winutils版本選擇不要相差太多,不然各種坑等着你去填,最後還得乖乖用版本相近的
- 開始搭建吧
- 我本地Hadoop地址:E:\hadoop\hadoop-2.7.6
- 修改Hadoop配置文件
- core-site.xml(配置默認hdfs的訪問端口)
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
- hdfs-site.xml(設置複製數爲1,即不進行復制。namenode文件路徑以及datanode數據路徑。)
<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> <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-env.cmd
設置JAVA_HOME的值(如果這裏使用了帶空格的Program Files路徑將會報錯!) Program Files可以替換成PROGRA~1就不報錯了 set JAVA_HOME=C:\Java\jdk1.8.0_73
- core-site.xml(配置默認hdfs的訪問端口)
- 配置Hadoop環境變量
將E:\hadoop\hadoop-2.7.6\bin加入系統環境變量,和設置jdk環境變量一樣,不贅述了
- 替換文件
解壓我們之前下載的 winutils-master 文件,找到符合自己的版本,我這邊用的hadoop-2.7.1 將bin文件夾替換Hadoop裏的bin文件夾
- 運行Hadoop
- 運行cmd窗口,進入目錄E:\hadoop\hadoop-2.7.6\bin下執行hdfs namenode -format
- 再進入目錄E:\hadoop\hadoop-2.7.6\sbin下執行start-all.cmd會打開4個cmd窗口
-
hadoop自帶的web控制檯GUI
-
資源管理GUI:http://localhost:8088/
-
節點管理GUI:http://localhost:50070/
-
-
小試牛刀下
-
打開cmd進入目錄E:\hadoop\hadoop-2.7.6\bin
創建文件夾hahashujia hadoop fs -mkdir hdfs://localhost:9000/hahashujia 上傳文件至文件夾hahashujia hadoop fs -put E:\hadoop\file\ceshi.txt hdfs://localhost:9000/hahashujia 查看hahashujia目錄下的文件 hadoop fs -ls hdfs://localhost:9000/hahashujia
-
-
問題點:
-
系統找不到指定的批標籤 make_command_arguments。
解決方法:yarn.cmd裏 的 ^都去掉 -
版本問題:還是那句話,儘量統一版本,不然有的是坑等你填。
-