一,安裝環境
硬件:虛擬機
操作系統:Centos 6.4 64位
IP:10.51.121.10
主機名:datanode-4
安裝用戶:root
二,安裝JDK
安裝JDK1.6或者以上版本。這里安裝jdk1.6.0_45。
下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
1,下載jdk1.6.0_45-linux-x64.gz,解壓到/usr/lib/jdk1.6.0_45。
2,在/root/.bash_profile中添加如下配置:
export JAVA_HOME=/usr/lib/jdk1.6.0_45 export PATH=$JAVA_HOME/bin:$PATH
3,使環境變量生效,#source ~/.bash_profile
4,安裝驗證# java -version
java version “1.6.0_45”
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
三,配置SSH無密碼登陸
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
驗證ssh,# ssh localhost
不需要輸入密碼即可登錄。
四,安裝Hadoop2.6
1,下載Hadoop2.6
下載地址:http://mirrors.hust.edu.cn/apache/hadoop/common/stable2/hadoop-2.6.0.tar.gz
2,解壓安裝
1),復制 hadoop-2.6.0.tar.gz 到/root/hadoop目錄下,
然后#tar -xzvf hadoop-2.6.0.tar.gz
解壓,解壓后目錄為:/root/hadoop/hadoop-2.6.0
2),在/root /hadoop/目錄下,建立tmp、hdfs/name、hdfs/data目錄,執行如下命令
#mkdir /root/hadoop/tmp
#mkdir /root/hadoop/hdfs
#mkdir /root/hadoop/hdfs/data
#mkdir /root/hadoop/hdfs/name
3),設置環境變量,#vi ~/.bash_profile
# set hadoop path export HADOOP_HOME=/root /hadoop/hadoop-2.6.0 export PATH=$PATH:$HADOOP_HOME/bin
4),使環境變量生效,$source ~/.bash_profile
3,Hadoop配置
進入$HADOOP_HOME/etc/hadoop目錄,配置 hadoop-env.sh等。涉及的配置文件如下:
hadoop-2.6.0/etc/hadoop/hadoop-env.sh
hadoop-2.6.0/etc/hadoop/yarn-env.sh
hadoop-2.6.0/etc/hadoop/core-site.xml
hadoop-2.6.0/etc/hadoop/hdfs-site.xml
hadoop-2.6.0/etc/hadoop/mapred-site.xml
hadoop-2.6.0/etc/hadoop/yarn-site.xml
1)配置hadoop-env.sh
# The java implementation to use. #export JAVA_HOME=${JAVA_HOME} export JAVA_HOME=/usr/lib/jdk1.6.0_45
2)配置yarn-env.sh
#export JAVA_HOME=/home/y/libexec/jdk1.6.0/ export JAVA_HOME=/usr/lib/jdk1.6.0_45
3)配置core-site.xml
添加如下配置:
<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> <description>HDFS的URI,文件系統://namenode標識:端口號</description> </property> <property> <name>hadoop.tmp.dir</name> <value>/root/hadoop/tmp</value> <description>namenode上本地的hadoop臨時文件夾</description> </property> </configuration>
4),配置hdfs-site.xml
添加如下配置
<configuration> <!—hdfs-site.xml--> <property> <name>dfs.name.dir</name> <value>/root/hadoop/hdfs/name</value> <description>namenode上存儲hdfs名字空間元數據 </description> </property> <property> <name>dfs.data.dir</name> <value>/root/hadoop/hdfs/data</value> <description>datanode上數據塊的物理存儲位置</description> </property> <property> <name>dfs.replication</name> <value>1</value> <description>副本個數,配置默認是3,應小於datanode機器數量</description> </property> </configuration>
5),配置mapred-site.xml
添加如下配置:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
6),配置yarn-site.xml
添加如下配置:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>${yarn.resourcemanager.hostname}:8099</value> </property> </configuration>
4,Hadoop啟動
1)格式化namenode
$ bin/hdfs namenode –format
2)啟動NameNode 和 DataNode 守護進程
$ sbin/start-dfs.sh
3)啟動ResourceManager 和 NodeManager 守護進程
$ sbin/start-yarn.sh
5,啟動驗證
1)執行jps命令,有如下進程,說明Hadoop正常啟動
# jps 54679 NameNode 54774 DataNode 15741 Jps 9664 Master 55214 NodeManager 55118 ResourceManager 54965 SecondaryNameNode
2)在瀏覽器中輸入:http://datanode-4:8099/ 即可看到YARN的ResourceManager的界面。注意:默認端口是8088,這里我設置了yarn.resourcemanager.webapp.address為:${yarn.resourcemanager.hostname}:8099。