hadoop2.20.0集群安装教程
一、安装的需要软件及集群描述
1、软件:
Vmware9.0:虚拟机
Hadoop2.2.0:Apache官网原版稳定版本
JDK1.7.0_07:Oracle官网版本
Ubuntu12.04LTS:长期支持版本
Ganglia:集群性能监测软件
ssh:SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有U NIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台—都可运行SSH。
Vim:编辑器
2、集群描述(集群主要有一个主节点,三个从节点)
master | 主节点,从节点 |
slave01 | 从节点 |
slave02 | 从节点 |
slave03 | 从节点 |
二、安装及配置过程
1、JDK的安装(解压到/home/hadoop/sf/jdk1.7.0_07/)
1.解压:sudo tar -zxvf jdk。
2.在/home/hadoop/.profile文件中配置环境变量,sudo Vim .profile在文件末尾加上
export JAVA_HOME=/home/hadoop/sf/jdk1.7.0_07
export PATH=$JAVA_HOME/bin:$PATH
3.source .profile
4.测试是否安装成功。在终端输入java –version
2、ssh的安装
1.更新软件源:sudo apt-get update
安装ssh:sudo apt-get install ssh
2.配置无密钥登录
a. ssh-keygen (生成密钥)
b.cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
3.将authorized_keys拷贝到其他从节点的/.ssh/的目录下(可以实现无密钥的访问其他节点)
scp -r /home/hadoop/sf/.ssh/authorized_keys hadoop@slave03:~/ssh/
3、修改/etc/hosts文件
该文件主要是将主机名与ip地址对应,master节点与所有slave节点都要修改。
1 10.10.201.89 master 2 10.10.201.90 slave01 3 10.10.201.80 slave02 4 10.10.201.3 slave03
4、安装master节点中hadoop
1.解压。如:sudo tar -zxvf hadoop2.2.0 解压在/sf/hadoop-2.2.0
2.在hadoop的目录下创建3个文件夹:(sudo mkdir dfs)
注意:这里创建完要注意每个目录到权限,如果是root,则必须修改为本用户权限;修改权限的命令为:sudo chown -R zhao:zhao /dfs
/sf/hadoop-2.2.0/dfs/name,
/sf/hadoop-2.2.0/dfs/data,
/sf/hadoop-2.2.0/dfs/temp
3.修改hadoop中的配置文件(主要在hadoop中的etc/目录下):
配置文件1(hadoop-env.sh)
只要更改该文件中JAVA_HOME既可以
1 # The java implementation to use. 2 export JAVA_HOME=/home/hadoop/sf/jdk1.7.0_07/
配置文件2(yarn-env.sh)
一定要找个文件中的export JAVA_HOME所在的位置,还是修改JAVA_HOME
1 export JAVA_HOME=/home/hadoop/sf/jdk1.7.0_07/
配置文件3(slaves)
主要为了让master节点知道有哪些从节点,这里也将主节点也作为一个从节点使用。
1 master 2 slave01 3 slave02 4 slave03
配置文件4(core-site.xml)
1 <configuration> 2 <property> 3 <name>fs.defaultFS</name> 4 <value>hdfs://master:9000</value> //这里到master是主机名,随着自己主机名进行修改,以下的master作相同操作 5 </property> 6 7 <property> 8 <name>hadoop.tmp.dir</name> 9 <value>/home/hadoop/sf/hadoop-2.2.0/dfs/temp/</value> 10 </property> 11 </configuration>
配置文件5(hdfs-site.xml)
1 <configuration> 2 <property> 3 <name>dfs.namenode.secondary.http-address</name> 4 <value>master:9001</value> 5 </property> 6 <property> 7 <name>dfs.namenode.name.dir</name> 8 <value>/home/hadoop/sf/hadoop-2.2.0/dfs/name/</value> 9 </property> 10 <property> 11 <name>dfs.namenode.data.dir</name> 12 <value>/home/hadoop/sf/hadoop-2.2.0/dfs/data/</value> 13 </property> 14 <property> 15 <name>dfs.replication</name> 16 <value>1</value> 17 </property> 18 <property> 19 <name>dfs.webhdfs.enabled</name> 20 <value>true</value> 21 </property> 22 </configuration>
配置文件6 (mapred-site.xml)
注:没有这个文件,要将mapred-site.xml.template文件改成mapred-site.xml
1 <configuration> 2 <property> 3 <name>mapreduce.framework.name</name> 4 <value>yarn</value> 5 </property> 6 <property> 7 <name>mapreduce.jobhistory.address</name> 8 <value>master:10020</value> 9 </property> 10 <property> 11 <name>mapreduce.jobhistory.webapp.address</name> 12 <value>master:19888</value> 13 </property> 14 </configuration>
配置文件7(yarn-site.xml)
1 <configuration> 2 <!-- Site specific YARN configuration properties --> 3 <property> 4 <name>yarn.nodemanager.aux-services</name> 5 <value>mapreduce_shuffle</value> 6 </property> 7 <property> 8 <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name> 9 <value>org.apache.hadoop.mapred.ShuffleHandler</value> 10 </property> 11 <property> 12 <name>yarn.resourcemanager.address</name> 13 <value>master:8032</value> 14 </property> 15 <property> 16 <name>yarn.resourcemanager.scheduler.address</name> 17 <value>master:8030</value> 18 </property> 19 <property> 20 <name>yarn.resourcemanager.resource-tracker.address</name> 21 <value>master:8031</value> 22 </property> 23 <property> 24 <name>yarn.resourcemanager.admin.address</name> 25 <value>master:8033</value> 26 </property> 27 <property> 28 <name>yarn.resourcemanager.webapp.address</name> 29 <value>master:8088</value> 30 </property> 31 </configuration>
4.格式化namenode: ./bin/hdfs namenode –format
5.启动hdfs: ./sbin/start-dfs.sh
此时在master上面运行的进程有:namenode secondarynamenode
slave01~slave03上面运行的进程有:datanode
6.启动yarn: ./sbin/start-yarn.sh
此时在master上面运行的进程有:namenode secondarynamenode resourcemanager
slave01~slave03上面运行的进程有:datanode nodemanager
5、配置其余从节点
只要将master节点配置成功的hadoop文件夹传给每个从节点上即可。
命令:scp -r /home/hadoop/sf/hadoop-2.20.0 ~/sf/