一、安装的需要软件及集群描述
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/