首先安装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 /