现在的位置: 首页 > 综合 > 正文

用 Hadoop 进行分布式并行编程,第 3 部分

2013年09月07日 ⁄ 综合 ⁄ 共 1391字 ⁄ 字号 评论关闭

Hadoop 是一个实现了 MapReduce 计算模型的开源分布式并行编程框架,借助于 Hadoop,
程序员可以轻松地编写分布式并行程序,将其运行于计算机集群上,完成海量数据的计算。在本文中,详细介绍了如何部署 Hadoop
分布式运行环境,如何让程序分布式运行于多台普通的计算机上,如何使用 IBM MapReduce Tools 轻松地将 MapReduce 程序部署到
Hadoop 分布式环境中运行等内容。

一 前言

在本系列文章的第一篇:用 Hadoop 进行分布式并行编程,第 1 部分: 基本概念与安装部署中,介绍了 MapReduce
计算模型,分布式文件系统 HDFS,分布式并行计算等的基本原理, 并且详细介绍了如何安装
Hadoop,如何在单机及伪分布式环境 (在一台单机中用多进程模拟) 运行基于 Hadoop 的并行程序。在本系列文章的第二篇:用 Hadoop 进行分布式并行编程,第 2 部分:程序实例与分析中,介绍了如何针对一个具体的计算任务,基于
Hadoop 编写 MapReduce 并行程序。 本文将介绍真实的 Hadoop 分布式运行环境, 包括如何在多台普通的计算机上部署分布式运行环境,如何将
MapReduce 程序远程部署并运行在这个分布式环境上,并简略介绍了”云计算平台” 以及计算能力按需租用服务。



回页首

二 准备工作

1. 硬件与网络

使用三台机器,机器名分别为 homer06, homer07, homer08,均安装 Redhat Enterprise Linux 5.0 (其它
Linux 发行版亦可), 确保各台机器之间网络畅通,机器名与 IP 地址之间解析正确,从任一台机器都可以 ping
通其它机器的机器名。如有机器名的解析问题,可通过设置 /etc/hosts 文件解决,当然更好的解决方法是在你的网络中配置 DNS
服务器。此外,需要在三台机器上创建相同的用户帐号,如 caoyuz, 或直接使用 root 帐号亦可。

我们将使用 homer06 作为分布式文件系统 HDFS 的 Name Node 及 MapReduce 运行过程中的 Job Tracker
结点,我们将 homer06 称之为主结点。其它两台机器 (homer07, homer08) 作为 HDFS 的 Data Node 以及 MapReduce
运行过程中的 Task Tracker 结点,这些结点可统称为从结点。如你需要部署更多的机器,也是很容易的,将新加入的机器作为 Data Node 以及
Task Tracker 结点即可,其配置过程与本文介绍的三台机器的环境类似,此不赘述。

2. SSH 配置

在 Hadoop 分布式环境中,Name Node (主节点) 需要通过 SSH 来启动和停止 Data Node
(从结点)上的各类进程。我们需要保证环境中的各台机器均可以通过 SSH 登录访问,并且 Name Node 用 SSH 登录 Data Node
时,不需要输入密码,这样 Name Node 才能在后台自如地控制其它结点。可以将各台机器上的 SSH 配置为使用无密码公钥认证方式来实现。

现在流行的各类 Linux 发行版一般都安装了 SSH 协议的开源实现 OpenSSH, 并且已经启动了 SSH 服务, 即这些机器缺省应该就是支持
SSH 登录的。如果你的机器缺省不支持 SSH, 请下载安装 OpenSSH。

以下是配置 SSH 的无密码公钥认证的过程。首先,在 homer06 机器上执行命令,如代码清单 1 所示:

本文转自IBM Developerworks中国

      请点击此处查看全文

 

抱歉!评论已关闭.