1.环境说明
本例介绍了hadoop 2.6.0在单节点上的分布式安装方法。
在安装Hadoop前,请确保你的机器上已安装了JDK 1.7或更高版本,并配置了SSH无密码登陆本机。如果还没有设置SSH无密码登陆本机,可以通过如下一句长命令搞定:
rm -rf ~/.ssh;ssh-keygen -t rsa;chmod 700 ~/.ssh;more ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys;chmod 600 ~/.ssh/authorized_keys
如遇会话提示,按"Enter"键即可。
2.Hadoop安装
2.1 下载
大家可可以打开http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0-src.tar.gz进行下载
2.2 安装
此过程比较简单,将下载好后的源文件解压并放入个人指定安装目录即可(本例中的Hadoop安装目录为/opt/hadoop-2.6.0)。然后设置如下所示的环境变量:
#hadoop
export HADOOP_HOME=/opt/hadoop-2.6.0
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
2.3 配置文件
本例中用$HADOOP_HOME代指Hadoop的安装目录。进入$HADOOP_HOME/etc/hadoop目录,分别编辑如下配置文件:
2.3.1 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
- 属性”fs.defaultFS“表示NameNode节点地址,由”hdfs://主机名(或ip):端口号”组成。
2.3.2 hdfs-stie.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/jack/hadoopdata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/jack/hadoopdata/hdfs/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”。
2.3.3 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- 属性”mapreduce.framework.name“表示执行mapreduce任务所使用的运行框架,默认为local,需要将其改为”yarn”
2.3.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工具类
3.格式化HDFS
hdfs namenode -format
4.启动集群
start-all.sh或者start-dfs.sh、start-yarn.sh
如果上面操作一切正确的话,通过"jps"命令查看是否包含ResourceManager、NodeManager、NameNode、SecondaryNameNode、DataNode等5个Java进程,参考如下:
[jack@localhost hadoop]$ jps
4384 NodeManager
4252 ResourceManager
3877 DataNode
3741 NameNode
4079 SecondaryNameNode
5.启动Job历史服务器
通过Hadoop 2中的Job历史服务器(JobHistory)可以查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作页完成时间等信息。默认情况下,Hadoop的Job历史服务器是没有启动的,我们可以通过下面的命令来启动Hadoop历史服务器
sbin/mr-jobhistory-daemon.sh start historyserver
启动后,通过jps命令可以看到:
1370 JobHistoryServer
网络改变生活,南充社区,