1.首先安裝jdk
下載jdk解壓包,配置環境變量
配置變量名JAVA_HOME,變量值: D:\jdk1.8.0_91
配置變量名CLASSPATH, 變量值.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
win10需要寫真實路徑,用%JAVA_HOME%,重新開機后jdk設置無效。
2.下載hadoop(由於之前用的2.2.0,所以此次下載的還是2.0)
Apache的hadoop下載地址
地址:https://archive.apache.org/dist/hadoop/common/
CDH的hadoop下載地址
地址:http://archive.cloudera.com/cdh5/cdh/5/
3、配置hadoop環境變量
變量名:HADOOP_HOME ,變量值:D:\hadoop\hadoop-2.2.0
下載完,發現沒有hadoop.dll和winutils.exe,之前搭建hbase的時候,有下載一個hadoop-common-2.2.0-bin-master,里面包含這兩個文件,直接拷貝進去就可以,一開始不知道要拷貝,一直報以下錯誤,windows本地運行mr程序時(不提交到yarn,運行在jvm靠線程執行),hadoop.dll防止報nativeio異常、winutils.exe沒有的話報空指針異常,此外,還應該將hadoop.dll拷貝到c:/windows/System32,否則啟動也會報錯。
winutils.exe下載地址:
https://github.com/4ttty/winutils
hadoop-env.cmd文件中設置jdk路徑,正常情況如下,有的博客說要設置成D:\jdk1.8.0_91這樣的路徑,但是不改也可以。
set JAVA_HONE=%JAVA_HONE%,
4.設置hadoop配置文件,路徑:D:\hadoop\hadoop-2.2.0\etc\hadoop
core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
hdfs-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> <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>
5、進入bin目錄,執行下面2條命令,先格式化namenode再啟動hadoop
格式化:hadoop namenode -format
進入sbin目錄然后啟動:start-all.cmd
通過jps命令可以看到4個進程都拉起來了,到這里hadoop的安裝啟動已經完事了。接着我們可以用瀏覽器到localhost:8088看mapreduce任務,到localhost:50070->Utilites->Browse the file system看hdfs文件。如果重啟hadoop無需再格式化namenode,只要stop-all.cmd再start-all.cmd就可以了。
上面拉起4個進程時會彈出4個窗口,我們可以看看這4個進程啟動時都干了啥:
訪問http://localhost:8088
訪問http://localhost:50070
到此,Hadoopan安裝完畢,
參考博客:https://www.cnblogs.com/xinaixia/p/7641612.html
參考博客:https://www.cnblogs.com/wuxun1997/p/6847950.html
目前還存在一個問題,hbase 中使用mapreduce 統計表命令時,一開始缺少dll文件一直報nativeIO,有人說去改hadoop-common的jar包底下的nativeIO類,試過了沒有用,hadoop bin中加了dll文件之后,報下面的錯誤,目前還沒有解決,猜測是mapred-site.xml這個文件需要新增屬性配置。
統計命令:hbase org.apache.hadoop.hbase.mapreduce.RowCounter 表名稱