技术开发 频道

用Hadoop进行分布式数据处理入门篇

  【IT168 技术文档

  前言:本文是讨论 Hadoop 的系列中的第一篇。本文介绍 Hadoop 框架,包括 Hadoop 文件系统 (HDFS) 等基本元素和常用的节点类型。学习如何安装和配置单节点 Hadoop 集群,然后研究 MapReduce 应用程序。最后,学习使用核心 Web 界面监视和管理 Hadoop 的方法。

  尽管 Hadoop 是一些大型搜索引擎数据缩减功能的核心部分,但是它实际上是一个分布式数据处理框架。搜索引擎需要收集数据,而且是数量极大的数据。作为分布式框架,Hadoop 让许多应用程序能够受益于并行数据处理。

  本文并不打算介绍 Hadoop 及其架构,而是演示一个简单的 Hadoop 设置。现在,我们来讨论 Hadoop 的安装和配置。

  初始设置

  本文假设您的系统上已经安装了 Java™(至少是 1.6 版)和 cURL。如果还没有,需要先安装它们。  因为我运行 Ubuntu(Intrepid 版),所以使用 apt 实用程序获取 Hadoop 发行版。这个过程非常简单,我可以获取二进制包,而不需要下载并构建源代码。首先,告诉 apt Cloudera 站点的信息。然后,在 /etc/apt/sources.list.d/cloudera.list 中创建一个新文件并添加以下文本:

deb http://archive.cloudera.com/debian intrepid-cdh3 contrib
deb-src http://archive.cloudera.com/debian intrepid-cdh3 contrib

  如果您运行 Jaunty 或其他版本,只需把 intrepid 替换为您的版本名(当前支持 Hardy、Intrepid、Jaunty、Karmic 和 Lenny)。

  接下来,从 Cloudera 获取 apt-key 以检查下载的包:

$ curl -s http://archive.cloudera.com/debian/archive.key | \
sudo apt-key add - sudo apt-get update

  然后,安装采用伪分布式配置的 Hadoop(所有 Hadoop 守护进程在同一个主机上运行):

$ sudo apt-get install hadoop-0.20-conf-pseudo
$

  注意,这个配置大约 23MB(不包括 apt 可能下载的其他包)。这个配置非常适合体验 Hadoop 以及了解它的元素和界面。

  最后,我设置了不需要密码的 SSH。如果打算使用 ssh localhost 并请求密码,就需要执行以下步骤。我假设这是专用的 Hadoop 机器,因为这个步骤对安全性有影响(见清单 1)。

  清单 1. 设置不需要密码的 SSH

$ sudo su -
# ssh
-keygen -t dsa -P '' -f ~/.ssh/id_dsa
# cat
~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

  最后,需要确保主机上有供 datanode使用的足够存储空间(缓存)。存储空间不足会导致系统表现异常(比如出现无法把数据复制到节点的错误)。

0
相关文章