最近需要定制的原因,需要将原来Cloudera版本的Hadoop更改为Apache版本的Hadoop和Oozie,对官方文档的学习,发现Hadoop1.1.1和Oozie3.3.2的组合比较好,所以,经过几天的搭建,终于成功了,现在把心得分享出来,希望给需要的朋友帮助。如果需要转载请注明出处,谢谢!
1.Apache版本HADOOP云计算平台环境搭建
Hadoop集群环境包含1台机器,在每台机器上运行4台虚拟机,是一个典型的主从式(Master-Slaves)结构。集群包含一个主控节点(Master)和4个从属节点(Slave)。在主从式结构中,主节点一般负责集群管理、任务调度和负载平衡等,从节点则执行来自主节点的计算和存储任务。
该集群环境具体的软硬件和网络配置情况见表3.1。
表3.1 集群详细软硬件和网络配置
序号 |
主机名 |
网络地址 |
操作系统 |
1 |
Master |
192.168.137.2 |
Centos6.4-x64 |
2 |
Slave1 |
192.168.137.3 |
Centos6.4-x64 |
3 |
Slave2 |
192.168.137.4 |
Hadoop是Apache开源组织的一个分布式计算框架,可以在大量廉价硬件设备组成的集群上运行应用程序,并为应用程序提供了一组稳定可靠的接口,旨在构建一个具有高可靠性和良好扩展性的分布式系统。随着云计算技术的逐渐流行与普及,该项目被越来越多的个人和企业所运用。Hadoop项目的核心是HDFS、MapReduce和HBase,它们分别是Google云计算核心技术GFS(Google File System)、MapReduce和Bigtable的开源实现。
1、hosts的配置
这一步是必须的,因为这里需要对使用环境的user做具体的分配和指定。
2、更改hosts
首先需要设定IP地址:
#ifconfig //查询现在的ip地址
然后通过设置VPN,来设置各机器的IP地址,具体过程这里就不详述了。
现在需要配置每台电脑的hosts名称,使用下列指令:
#vim /etc/sysconfig/network
在其中添加这样的内容:
HOSTNAME=Master.Hadoop
(备注:Slave机器则改为相应的Slave1.Hadoop…….)
3、配置hosts文件
#vim /etc/hosts
在其中添加下面几行内容:
192.168.137.2 Master.Hadoop
192.168.137.3 Slave1.Hadoop
192.168.137.4 Slave2.Hadoop
4、验证设置是否启用
我们在Master.Hadoop对机器为"Slave1.Hadoop"的主机名进行ping通测试,看是否能测试成功。
Master.Hadoop$ping192.168.137.3
(备注:对于其他机器之间的测试同理)
5、添加一个用户
#adduser hadoop
#passwd hadoop //设置hadoop的密码
1.3.3 ssh无密码验证设置(以下设置全部在hadoop用户下进行)
Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个DataNode上的各种守护进程的。这就必须在节点之间执行指令的时候是不需要输入密码的形式,故我们需要配置SSH运用无密码公钥认证的形式,这样NameNode使用SSH无密码登录并启动DataName进程,同样原理,DataNode上也能使用SSH无密码登录到NameNode。
1、安装和启动ssh
可以通过下面命令查看是否已经安装ssh和rsync,显示如下:
$rpm –qa | grep openssh
$rpm –qa | grep rsync
2、Master机器上生成密码对
在Master节点上执行以下命令:
$ssh-keygen –t rsa –P ''
(备注:这里的“’”是单引号,上面指令最后使用了两个单引号)
这条命令是生成其无密码密钥对,询问其保存路径时直接回车采用默认路径。生成的密钥对:id_rsa和id_rsa.pub,默认存储在"~/.ssh"目录下。