《R与Hadoop大数据分析实战》一1.4 Hadoop的安装

1.4 Hadoop的安装

现在假定你已经了解了R语言,知道它是什么,如何安装它,它的主要特点是什么,以及为什么要使用它。现在,我们需要知道R的局限性(这样能更好地引入对Hadoop的介绍)。在处理数据前,R需要将数据加载到随机存取存储器(RAM)。因此,数据应该小于现有机器内存。对于数据比机器内存还要大的,我们将其看做大数据(由于大数据还有许多其他定义,这只适用于我们现在所说的例子)。
为了避免这类大数据问题,我们需要扩展硬件配置,但这只是一个临时解决方案。为了解决这一问题,我们需要使用一个Hadoop集群,能够存储大数据并在大型计算机集群进行并行计算。 Hadoop是最流行的解决方案。 Hadoop是一个开源的Java框架,它是Apache软件基金会操作下的顶级项目。 Hadoop的灵感源于Google文件系统和MapReduce,这两项技术主要用于进行分布式大数据处理。
Hadoop主要支持Linux操作系统。若要在Windows上运行它,我们需要使用VMware在Windows操作系统中加载Ubuntu。实际上使用和安装Hadoop的方法有很多种,但在这里我们考虑支持R语言的最佳方式。在我们整合R和Hadoop之前,先来理解什么是Hadoop。
机器学习包含了所有数据建模技术,深入了解这些技术请访问:http://en.wikipedia.org/wiki/Machine_learning。
Michael Noll的Hadoop安装指导博客:Http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/。

1.4.1 不同的Hadoop模式

Hadoop使用方式有以下三种模式:
the Standalone mode(单机版模式):在此模式下,不需要启动任何Hadoop后台程序。相反,只需要打开~/Hadoop-directory/bin/hadoop以单一Java进程方式执行Hadoop程序。建议此模式用于测试目的。这是默认模式,无须进行任何其他配置。所有的后台程序,如NameNode、DataNode、JobTracker和TaskTracker都以单一Java进程运行。
the pseudo mode(虚拟模式):在此模式下,需要在所有节点上配置Hadoop。每个Hadoop的组件或守护进程使用一个单独的JAVA虚拟机(JVM),类似于在一个主机上运行最小集群。
the full distributed mode(全分布模式):在此模式下,Hadoop将分布在多台机器中。专用主机根据每个Hadoop节点进行配置。因此,不同的JVM进程对所有的守护进程开放。

1.4.2 Hadoop的安装步骤

Hadoop的安装有几种可行方式,我们将选择与R整合更好的方式。我们将选择Ubuntu操作系统,因为它易于安装和操作。
1. 在Linux、Ubuntu面板(单节点以及多节点集群)上安装Hadoop。
2. 在Ubuntu上安装Cloudera Hadoop。
在Linux、Ubuntu面板上安装Hadoop(单节点集群)
要在Ubuntu操作系统安装Hadoop的虚拟模式,需要满足以下先决条件:
使用Sun Java 6
成为专用的Hadoop系统用户
配置SSH
禁用IPv6
以上提供的Hadoop的安装可使用Hadoop MRv1实现。
按照以下步骤安装Hadoop。
1. 从Apache软件基金会下载最新的Hadoop。在这里,我们采用Apache Hadoop 1.0.3,尽管最新的版本是1.1.x.

  1. 添加$JAVA_HOME和$HADOOP_HOME变量到Hadoop系统用户的.bashrc文件。更新后的.bashrc文件如下:

  2. 用conf / * -site.xml命令来更新Hadoop的配置文件。
    最后,3个文件如下。
    conf/core-site.xml:

conf/mapred-site.xml:

conf/hdfs-site.xml:

完成这些配置文件的编辑后,需要在Hadoop的集群或节点上设置分布式文件系统。
使用下面的命令行通过NameNode格式化Hadoop分布式文件系统(Hadoop Distributed File System,HDFS):

通过使用以下命令行启动单节点群集:

在Linux、Ubuntu面板上安装Hadoop(多节点集群)
我们已经知道如何在单节点集群上安装Hadoop。现在看看如何在一个多节点集群上安装Hadoop(全分布式模式)。
为此,我们需要若干个已经配置好Hadoop单节点集群的节点。为了在多节点上安装Hadoop,我们需要一台已经配置好上一节描述过的单节点Hadoop集群的机器。
当安装好了这个单节点Hadoop集群后,我们需要进行下述步骤:
1. 在网络状态里,需要使用两个节点来创建一个全分布Hadoop模式。为了让节点之间相互通信,节点所在的软件和硬件配置必须在一个网络中。
2. 在这两个节点中,一个节点被设置成主节点,另一个被设置为从节点。为了进行Hadoop操作,从节点需要连接主节点。我们将主节点设置为192.168.0.1,从节点设置为192.168.0.2。
3. 在两个节点中升级/etc/hosts目录。这个目录将会成为192.168.0.1主节点和192.168.0.2从节点的镜像。
可以像进行过的单节点集群安装一样进行Secure Shell(SSH)的安装。详细情况可以访问http://www.michael-noll.com。
4. 升级conf/*-site.xml:必须改变所有节点的如下配置文件。
conf/core-site.xml和conf/mapred-site.xml:在单节点集群安装中,已经升级过这些文件。所以,只需在value标签中将localhost改变为master。
conf/hdfs-site.xml:在单节点集群安装中,将dfs.replication的值设成1,现在更新这个值为2。
5. 在格式化HDFS阶段,需要在启动多节点集群前,用以下命令(在主节点)格式化HDFS:

现在,我们已经完成安装一个多节点集群的所有步骤。需要进行以下步骤来启动这个Hadoop集群:
1. 启动HDFS进程:

  1. 启动MapReduce进程:
  2. 通常如下命令启动所有进程:
  3. 停止所有进程:

这些安装步骤是受Michael Noll的博客(http://www.michael-noll.com)启发而产生的,他是瑞士的一位研究学者以及软件工程师。他在威瑞信公司担任基于Apache Hadoop的大规模计算框架的技术指导。
现在Hadoop集群已经在机器上创建好了。如果想要使用扩展的Hadoop组件在单节点或者多节点上安装相同的Hadoop集群,可以尝试使用Cloudera工具。
在Ubuntu上安装Cloudera Hadoop
Cloudera Hadoop(CDH)是Cloudera的开源分布式架构,其致力于应用Hadoop技术进行企业级开发。Cloudera也是Apache软件基金会的捐助者。CDH有两个可用的版本:CDH3和CDH4。为了安装其中任何一个版本,都必须使用10.04 LTS版或者12.04 LTS版的Ubuntu(当然,也可以使用CentOS、Debian和Red Hat操作系统)。如果在一个集群上安装Hadoop,可以使用Cloudera管理器简化它的安装过程,这个管理器提供基于Hadoop的GUI界面以及覆盖整个集群的Cloudera组件安装。对于大型集群来说这个工具十分值得推荐。
我们需要满足如下先决条件。
配置SSH
具备以下特征的操作系统:
64位的10.04 LTS版或者12.04 LTS版Ubuntu
Red Hat企业级Linux 5或者Linux 6
CentOS 5或6
Oracle企业级Linux 5
SUSE Linux企业级服务器11(SP1或者lasso)
Debian 6.0
安装步骤如下。
1. 下载并运行Cloudera管理器:为了初始化Cloudera管理器的安装过程,需要首先从Cloudera下载版块下载cloudera-manager-installer.bin文件。之后,在集群上保存它,这样所有的节点可以读取这个文件。给用户执行cloudera-manager-installer.bin的权限。运行下面的命令来启动安装:

  1. 阅读Cloudera管理器的Readme文件并点击Next。
  2. 启动Cloudera管理器的管理员控制台:这个控制台允许你使用Cloudera管理器进行安装、管理以及监视集群上的Hadoop。在从Cloudera服务提供商得到许可后,需要在浏览器地址栏里输入http://localhost:7180。你同样可以使用以下浏览器:
    Firefox 11或者更高版本
    Chrome
    Internet Explorer
    Safari
  3. 使用默认的用户名和密码admin登录Cloudera管理控制台。以后你可以根据自己的选择改变它。
  4. 通过浏览器使用Cloudera管理进行CDH3的自动化安装和配置:这一步会将所需的大部分Cloudera Hadoop安装包从Cloudera安装到你的机器中。步骤如下:
    1)如果你已经选择了一个完整的软件版本,安装并验证你的Cloudera管理密钥许可文件。
    2)为你的CDH集群装置指定主机名或IP地址范围。
    3)使用SSH连接每台主机。
    4)在每台群集主机上安装Java开发工具包(JDK)(如果尚未安装)、Cloudera管理代理和CDH3或CDH4。
    5)在每个节点上配置Hadoop并启动Hadoop服务。
  5. 在运行该向导并使用Cloudera管理器后,应该尽快更改默认的管理员密码。为了更改管理员密码,需遵循这些步骤:
    1)单击齿轮符号图标以显示管理页。
    2)打开Password标签。
    3)输入新密码两次,然后点击Update。
  6. 测试Cloudera Hadoop的安装:可以在群集上通过登录Cloudera管理控制台并点击Services标签来检查Cloudera管理的安装。你应该看到如下图所示的界面。

  1. 可以点击每个服务查看更详细的信息。例如,点击hdfs1链接,会看到类似下面的截图。

为了避免这些安装步骤,可以使用预先配置的带有Amazon Elastic MapReduce和MapReduce实例的Hadoop。如果在Windows上使用Hadoop,可以通过Hortonworks尝试HDP工具。这是百分百的开源产品,是企业级分布的Hadoop。可以在http://hortonworks.com/download/上下载HDP工具。

时间: 2025-01-26 23:48:18

《R与Hadoop大数据分析实战》一1.4 Hadoop的安装的相关文章

《R与Hadoop大数据分析实战》一1.1 安装R

1.1 安装R 可以通过访问R的官方网站下载相应的版本.这里提供了对应三种不同操作系统的下载步骤,包括在Windows.Linux和Mac上安装R.下载最新版本的R,其中包括所有最新的补丁和错误解决方案.对于Windows操作系统,请执行以下步骤: 访问www.r-project.org. 点击CRAN,选择CRAN镜像(CRAN mirror),并选择你的Windows操作系统(捆绑到Linux:Hadoop通常在Linux环境下运行). 从镜像中下载最新的R版本. 执行下载的.exe程序,安

《R与Hadoop大数据分析实战》一1.2 安装RStudio

1.2 安装RStudio 如果要安装RStudio,请执行下列步骤: 访问http://www.rstudio.com/ide/download/desktop. 下载适用于你的操作系统的RStudio的最新版本. 执行安装程序文件并安装RStudio.RStudio机构及其用户社区已经开发了大量用于图形和可视化的R程序包,如ggplot2.plyr.Shiny.Rpubs和devtools.

《R与Hadoop大数据分析实战》一2.5 在R环境中编写Hadoop MapReduce程序的方式

2.5 在R环境中编写Hadoop MapReduce程序的方式 我们知道对将R工具用于分析的统计学家.网络分析师以及产品经理来说,用MapReduce进行Hadoop大数据处理是一件非常重要的事,因为补充MapReduce的编程知识对于用Hadoop将分析整合到MapReduce来说是必要的.并且,我们知道R是一个一直以来普及程度逐步提升的工具:为了整合R,有许多程序包和函数库一直在改进.因此为了研发基于R和Hadoop计算能力运行的MapReduce算法程序,我们需要R和Hadoop的中间软

《R与Hadoop大数据分析实战》一导读

前 言 组织获得的数据量每一天都在成倍增加.现在组织可以存储大量信息在低成本平台上,例如Hadoop. 如今这些组织面临的难题是如何处理这些数据以及如何从这些数据中获取关键的见解.于是R应运而生.R是一个令人惊讶的工具,它是一个在数据中能够运行先进统计模型的单元,它将原始模型翻译成丰富多彩的图形和可视化视图,而且它有很多和数据科学相关的功能. 然而,R的一个主要缺点是它的可扩展性较差.R的核心技术引擎可以加工和处理非常有限的数据量.正因为在大数据处理中Hadoop十分流行,所以为了可扩展性,下一

《R与Hadoop大数据分析实战》一第2章 编写Hadoop MapReduce程序

第2章 编写Hadoop MapReduce程序 在第1章中,我们学习了如何搭建R和Hadoop开发环境.既然我们对大数据分析感兴趣,接下来就学习如何使用Hadoop MapReduce进行大数据处理.在本章中,我们要讨论MapReduce的基础概念,为何它是不可或缺的,以及如何在Apache Hadoop上进行MapReduce编程等内容.本章节将会涉及如下内容:MapReduce基础概念Hadoop MapReduce技术Hadoop MapReduce原理编写Hadoop MapReduc

《R与Hadoop大数据分析实战》一2.1 MapReduce基础概念

2.1 MapReduce基础概念 如果没有使用过集群或信息传递接口(Message Passing Interface,MPI),那么理解MapReduce基础概念将不会是一件容易的事.更多的实际应用是数据不存放在一个硬盘中而是存放于分布式文件系统中(Distributed File System,DFS),或存放于由Hadoop技术实现的分布式软件中.MapReduce同时也是一个编程模型,它以一种分布式方法进行工作.其中包括信息传递接口(MPI)和同步并行计算模型(Bulk Synchro

《R与Hadoop大数据分析实战》一1.7 Hadoop的子项目

1.7 Hadoop的子项目 Mahout是一个很强大的数据挖掘库,其中包含大部分与数据挖掘有关的机器学习算法,可实现聚类.分类.回归分析及统计建模等,可用于智能应用,它也是一个不错的机器学习库. Apache Mahout是一个商用软件,需要Apache软件分发的许可证.Apache Mahout的目标是建立一个充满活力.反应灵敏.多样化的社区,以方便对项目本身以及潜在使用案例的讨论. 使用Mahout的一些公司如下: Amazon:这是一个提供个性化推荐的购物网站. AOL:这是一个有购物建

《R与Hadoop大数据分析实战》一2.4 编写Hadoop MapReduce示例程序

2.4 编写Hadoop MapReduce示例程序 现在要通过一个很简单且普通的单词统计(word count)来学习MapReduce.该例子的目标是统计每个单词在文章中出现的次数.这些文章作为MapReduce的输入文件. 在该例中,已经准备了一些文本文件,我们希望计算所有单词在这些文件中出现的频率.我们通过Hadoop MapReduce来进行设计. 本节中,将使用旧版API接口学习Hadoop MapReduce编程.假设读者已经配置了Hadoop的环境变量(请参考第1章的内容).同时

《R与Hadoop大数据分析实战》一1.3 R语言的功能特征

1.3 R语言的功能特征 目前R程序包已经超过3000个,其数量仍在与日俱增.没有任何一本书可以清楚介绍所有这些程序包.本书仅侧重于介绍R的主要特征以及最常用和主流的程序包. 1.3.1 使用R程序包 R程序包都是一些具有函数特性的自含单元,可以看做是若干个函数的集合,类似于Java中的.jar文件.现有关于R程序包的海量书籍所涵盖的应用范围非常广泛,从统计操作和机器学习到丰富的图形可视化和绘制.每个程序包都包括一个或多个R函数.一个R程序包是可供他人重复使用和共享的实体.R用户可以安装拥有他们