欢迎来到天天文库
浏览记录
ID:28829836
大小:69.50 KB
页数:8页
时间:2018-12-14
《用hadoop进行分布式大数据的处理,第1部分入门》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案尽管Hadoop是一些大型搜索引擎数据缩减功能的核心部分,但是它实际上是一个分布式数据处理框架。搜索引擎需要收集数据,而且是数量极大的数据。作为分布式框架,Hadoop让许多应用程序能够受益于并行数据处理。本文并不打算介绍Hadoop及其架构,而是演示一个简单的Hadoop设置。现在,我们来讨论Hadoop的安装和配置。对于本文中的示例,我们使用ClouderaHadoop发行版。Cloudera提供对各种Linux®发行版的支持,所以很适合初学者。本文假设您的系统上已经安装了Java™(至少是1.6版)和cURL。如果还没有,需要先安装它们。因为我运行Ubuntu(I
2、ntrepid版),所以使用 apt 实用程序获取Hadoop发行版。这个过程非常简单,我可以获取二进制包,而不需要下载并构建源代码。首先,告诉 apt Cloudera站点的信息。然后,在/etc/apt/sources.list.d/cloudera.list中创建一个新文件并添加以下文本:debhttp://archive.cloudera.com/debianintrepid-cdh3contribdeb-srchttp://archive.cloudera.com/debianintrepid-cdh3contrib如果您运行Jaunty或其他版本,只需把 intrepi
3、d 替换为您的版本名(当前支持Hardy、Intrepid、Jaunty、Karmic和Lenny)。接下来,从Cloudera获取apt-key以检查下载的包:$curl-shttp://archive.cloudera.com/debian/archive.key
4、sudoapt-keyadd-sudoapt-getupdate然后,安装采用伪分布式配置的Hadoop(所有Hadoop守护进程在同一个主机上运行):$sudoapt-getinstallhadoop-0.20-conf-pseudo$注意,这个配置大约23MB(不包括 apt 可能下载的其他包)。这个配置非常适
5、合体验Hadoop以及了解它的元素和界面。最后,我设置了不需要密码的SSH。如果打算使用 sshlocalhost 并请求密码,就需要执行以下步骤。我假设这是专用的Hadoop机器,因为这个步骤对安全性有影响(见清单1)。清单1.设置不需要密码的SSH$sudosu-#ssh-keygen-tdsa-P''-f~/.ssh/id_dsa#cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys精彩文档实用标准文案最后,需要确保主机上有供datanode使用的足够存储空间(缓存)。存储空间不足会导致系统表现异常(比如出现无法把数据复制到节点的错误)。启
6、动Hadoop现在可以启动Hadoop了,这实际上要启动每个Hadoop守护进程。但是,首先使用 hadoop 命令对HadoopFileSystem(HDFS)进行格式化。hadoop 命令有许多用途,稍后讨论其中一部分。首先,请求namenode对DFS文件系统进行格式化。在安装过程中完成了这个步骤,但是了解是否需要生成干净的文件系统是有用的。#hadoop-0.20namenode-format在确认请求之后,文件系统进行格式化并返回一些信息。接下来,启动Hadoop守护进程。Hadoop在这个伪分布式配置中启动5个守护进程:namenode、secondarynamenod
7、e、datanode、jobtracker和tasktracker。在启动每个守护进程时,会看到一些相关信息(指出存储日志的位置)。每个守护进程都在后台运行。图1说明完成启动之后伪分布式配置的架构。图1.伪分布式Hadoop配置 Hadoop提供一些简化启动的辅助工具。这些工具分为启动(比如 start-dfs)和停止(比如 stop-dfs)两类。下面的简单脚本说明如何启动Hadoop节点:#/usr/lib/hadoop-0.20/bin/start-dfs.sh#/usr/lib/hadoop-0.20/bin/start-mapred.sh#精彩文档实用标准文案要想检查守
8、护进程是否正在运行,可以使用 jps 命令(这是用于JVM进程的 ps 实用程序)。这个命令列出5个守护进程及其进程标识符。既然Hadoop守护进程已经在运行了,现在看看每个守护进程在Hadoop框架中的作用。namenode 是Hadoop中的主服务器,它管理文件系统名称空间和对集群中存储的文件的访问。还有一个 secondarynamenode,它不是namenode的冗余守护进程,而是提供周期检查点和清理任务。在每个Hadoop集群中可以找到一个namenode
此文档下载收益归作者所有