首先安裝jdk1.7及以上版本並配置環境變量
export JAVA_HOME=/usr/java/jdk1.8.0_121
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
同時加入.bashrc文件中
source .bashrc
下載文件
http://archive.apache.org/dist/hadoop/core/hadoop-2.6.0/hadoop-2.6.0.tar.gz
上傳至/opt目錄,解壓tar -zxvf hadoop-2.6.0.tar.gz
//建立ssh互信,如果使用root用戶互信登錄失敗,請確認ssh配置是否允許root直接登錄
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh localhost //驗證互信是否成功
//在/etc/profile中新增如下環境變量
export HADOOP_HOME=/opt/hadoop-2.6.0
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
source /etc/profile //生效變量
mkdir /opt/hadoop-2.6.0/namenode
mkdir /opt/hadoop-2.6.0/datanode
cd $HADOOP_HOME/etc/hadoop //進入配置文件目錄
//修改配置文件
(1)、core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
屬性"fs.defaultFS"表示NameNode節點地址,由"hdfs://主機名(或ip):端口號"組成。
(2)、hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/hadoop-2.6.0/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/hadoop-2.6.0/datanode</value>
</property>
</configuration>
屬性"dfs.replication"表示HDFS文件副本數量,默認爲3,在單節點就改爲1吧,免得浪費空間;
屬性"dfs.namenode.name.dir"表示NameNode存儲命名空間和操作日誌相關的元數據信息的本地文件系統目錄,該項默認本地路徑爲"/tmp/hadoop-{username}/dfs/name";
屬性"dfs.datanode.data.dir"表示DataNode節點存儲HDFS文件的本地文件系統目錄,由"file://本地目錄"組成,該項默認本地路徑爲"/tmp/hadoop-{username}/dfs/data"。
(3)、mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
屬性"mapreduce.framework.name"表示執行mapreduce任務所使用的運行框架,默認爲local,需要將其改爲"yarn"
(4)、yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
屬性"yarn.nodemanager.aux-service"表示MR applicatons所使用的shuffle工具類
//格式化HDFS
hdfs namenode -format
啓動集羣
cd /opt/hadoop-2.6.0/sbin
start-all.sh
或者
start-dfs.sh、start-yarn.sh
//使用jps檢查啓動狀態
[root@localhost sbin]# jps
28992 NameNode
29122 DataNode
29619 NodeManager
29306 SecondaryNameNode
29514 ResourceManager
29870 Jps
//啓動Job歷史服務器
通過Hadoop2中的Job歷史服務器(JobHistory)可以查看已經運行完的Mapreduce作業記錄,比如用了多少個Map、用了多少個Reduce、作業提交時間、作業啓動時間、作頁完成時間等信息。默認情況下,Hadoop的Job歷史服務器是沒有啓動的,我們可以通過下面的命令來啓動Hadoop歷史服務器
sbin/mr-jobhistory-daemon.sh start historyserver
啓動後,通過jps命令可以看到:
1370 JobHistoryServer
訪問hdfs頁面
http://10.xx.xx.xx:50070/dfshealth.html#tab-overview
//查看hdfs文件目錄
hadoop fs -ls /