什么是大数据分析Hadoop?

2024-05-05 07:29

1. 什么是大数据分析Hadoop?

  要了解什么是Hadoop,我们必须首先了解与大数据和传统处理系统有关的问题。前进,我们将讨论什么是Hadoop,以及Hadoop如何解决与大数据相关的问题。我们还将研究CERN案例研究,以突出使用Hadoop的好处。
  在之前的博客“ 大数据教程”中,我们已经详细讨论了大数据以及大数据的挑战。在此博客中,我们将讨论:
  1、传统方法的问题
  2、Hadoop的演变
  3、Hadoop的
  4、Hadoop即用解决方案
  5、何时使用Hadoop?
  6、什么时候不使用Hadoop?
一、CERN案例研究
  大数据正在成为组织的机会。现在,组织已经意识到他们可以通过大数据分析获得很多好处,如下图所示。他们正在检查大型数据集,以发现所有隐藏的模式,未知的相关性,市场趋势,客户偏好和其他有用的业务信息。
  这些分析结果正在帮助组织进行更有效的营销,新的收入机会,更好的客户服务。他们正在提高运营效率,与竞争对手组织相比的竞争优势以及其他业务利益。
  什么是Hadoop –大数据分析的好处
  因此,让我们继续前进,了解在兑现大数据机会方面与传统方法相关的问题。
二、传统方法的问题
  在传统方法中,主要问题是处理数据的异构性,即结构化,半结构化和非结构化。RDBMS主要关注于银行交易,运营数据等结构化数据,而Hadoop则专注于文本,视频,音频,Facebook帖子,日志等半结构化,非结构化数据。RDBMS技术是一种经过验证的,高度一致,成熟的系统许多公司的支持。另一方面,由于大数据(主要由不同格式的非结构化数据组成)对Hadoop提出了需求。
  现在让我们了解与大数据相关的主要问题是什么。因此,继续前进,我们可以了解Hadoop是如何成为解决方案的。
  什么是Hadoop –大数据问题
  第一个问题是存储大量数据。
  无法在传统系统中存储大量数据。原因很明显,存储将仅限于一个系统,并且数据正在以惊人的速度增长。
  第二个问题是存储异构数据。
  现在,我们知道存储是一个问题,但是让我告诉您,这只是问题的一部分。由于我们讨论了数据不仅庞大,而且还以各种格式存在,例如:非结构化,半结构化和结构化。因此,您需要确保您拥有一个系统来存储从各种来源生成的所有这些种类的数据。
  第三个问题是访问和处理速度。
  硬盘容量正在增加,但磁盘传输速度或访问速度并未以相似的速度增加。让我以一个示例为您进行解释:如果您只有一个100 Mbps I / O通道,并且正在处理1TB数据,则大约需要2.91个小时。现在,如果您有四台具有一个I / O通道的计算机,则对于相同数量的数据,大约需要43分钟。因此,与存储大数据相比,访问和处理速度是更大的问题。
  在了解什么是Hadoop之前,让我们首先了解一下Hadoop在一段时间内的发展。
  Hadoop的演变

  2003年,道格·切特(Doug Cutting)启动了Nutch项目,以处理数十亿次搜索并为数百万个网页建立索引。2003年10月下旬– Google发布带有GFS(Google文件系统)的论文。2004年12月,Google发布了MapReduce论文。在2005年,Nutch使用GFS和MapReduce进行操作。2006年,雅虎与Doug Cutting及其团队合作,基于GFS和MapReduce创建了Hadoop。如果我告诉您,您会感到惊讶,雅虎于2007年开始在1000个节点的群集上使用Hadoop。
  2008年1月下旬,雅虎向Apache Software Foundation发布了Hadoop作为一个开源项目。2008年7月,Apache通过Hadoop成功测试了4000个节点的集群。2009年,Hadoop在不到17小时的时间内成功整理了PB级数据,以处理数十亿次搜索并为数百万个网页建立索引。在2011年12月,Apache Hadoop发布了1.0版。2013年8月下旬,发布了2.0.6版。
  当我们讨论这些问题时,我们发现分布式系统可以作为解决方案,而Hadoop提供了相同的解决方案。现在,让我们了解什么是Hadoop。
三、什么是Hadoop?
  Hadoop是一个框架,它允许您首先在分布式环境中存储大数据,以便可以并行处理它。 Hadoop中基本上有两个组件:
  1、大数据Hadoop认证培训
  2、讲师指导的课程现实生活中的案例研究评估终身访问探索课程
  什么是Hadoop – Hadoop框架
  第一个是用于存储的HDFS(Hadoop分布式文件系统),它使您可以在集群中存储各种格式的数据。第二个是YARN,用于Hadoop中的资源管理。它允许对数据进行并行处理,即跨HDFS存储。
  让我们首先了解HDFS。
  HDFS
  HDFS创建一个抽象,让我为您简化一下。与虚拟化类似,您可以在逻辑上将HDFS视为用于存储大数据的单个单元,但是实际上您是在分布式方式下跨多个节点存储数据。HDFS遵循主从架构。
  什么是Hadoop – HDFS
  在HDFS中,名称节点是主节点,数据节点是从节点。 Namenode包含有关存储在Data节点中的数据的元数据,例如哪个数据块存储在哪个数据节点中,数据块的复制位置在哪里等 。实际数据存储在Data Nodes中。
  我还想补充一下,实际上我们复制了数据节点中存在的数据块,默认复制因子是3。 由于我们使用的是商用硬件,并且我们知道这些硬件的故障率很高,所以如果其中一个DataNodes失败,HDFS将仍然具有那些丢失的数据块的副本。 您还可以根据需要配置复制因子。您可以阅读HDFS教程,详细了解HDFS。
四、Hadoop即解决方案
  让我们了解Hadoop如何为刚刚讨论的大数据问题提供解决方案。
  什么是Hadoop – Hadoop即解决方案
  第一个问题是存储大数据。
  HDFS提供了一种分布式大数据存储方式。您的数据存储在整个DataNode的块中,您可以指定块的大小。基本上,如果您拥有512MB的数据,并且已经配置了HDFS,那么它将创建128MB的数据块。 因此,HDFS将数据分为512/128 = 4的4个块,并将其存储在不同的DataNode上,还将在不同的DataNode上复制数据块。现在,由于我们正在使用商品硬件,因此存储已不是难题。
  它还解决了缩放问题。它着重于水平缩放而不是垂直缩放。您始终可以根据需要随时在HDFS群集中添加一些额外的数据节点,而不是扩展DataNodes的资源。让我为您总结一下,基本上是用于存储1 TB的数据,您不需要1 TB的系统。您可以在多个128GB或更少的系统上执行此操作。
  下一个问题是存储各种数据。
  借助HDFS,您可以存储各种数据,无论是结构化,半结构化还是非结构化。由于在HDFS中,没有预转储模式验证。并且它也遵循一次写入和多次读取模型。因此,您只需写入一次数据,就可以多次读取数据以寻找见解。
  Hird的挑战是访问和处理数据更快。
  是的,这是大数据的主要挑战之一。为了解决该问题,我们将处理移至数据,而不是将数据移至处理。这是什么意思?而不是将数据移动到主节点然后进行处理。在MapReduce中,处理逻辑被发送到各个从属节点,然后在不同的从属节点之间并行处理数据。然后,将处理后的结果发送到主节点,在该主节点上合并结果,并将响应发送回客户端。
  在YARN架构中,我们有ResourceManager和NodeManager。ResourceManager可能会或可能不会与NameNode配置在同一台机器上。 但是,应该将NodeManager配置在存在DataNode的同一台计算机上。
  YARN通过分配资源和安排任务来执行您的所有处理活动。

  什么是Hadoop – YARN
  它具有两个主要组件,即ResourceManager和NodeManager。
  ResourceManager再次是主节点。它接收处理请求,然后将请求的各个部分相应地传递到相应的NodeManager,什么是大数据分析Hadoop在此进行实际处理。NodeManager安装在每个DataNode上。它负责在每个单个DataNode上执行任务。
  我希望现在您对什么是Hadoop及其主要组件有所了解。让我们继续前进,了解何时使用和何时不使用Hadoop。
  何时使用Hadoop?
  Hadoop用于:
  1、搜索 – Yahoo,亚马逊,Zvents
  2、日志处理 – Facebook,雅虎
  3、数据仓库 – Facebook,AOL
  4、视频和图像分析 –纽约时报,Eyealike
  到目前为止,我们已经看到了Hadoop如何使大数据处理成为可能。但是在某些情况下,不建议使用Hadoop。

什么是大数据分析Hadoop?

2. hadoop如何做到数据时

越来越多的企业开始使用Hadoop来对大数据进行处理分析,但Hadoop集群的整体性能却取决于CPU、内存、网络以及存储之间的性能平衡。而在这篇文章中,我们将探讨如何为Hadoop集群构建高性能网络,这是对大数据进行处理分析的关键所在。

关于Hadoop

“大数据”是松散的数据集合,海量数据的不断增长迫使企业需要通过一种新的方式去管理。大数据是结构化或非结构化的多种数据类型的大集合。而 Hadoop则是Apache发布的软件架构,用以分析PB级的非结构化数据,并将其转换成其他应用程序可管理处理的形式。Hadoop使得对大数据处理成为可能,并能够帮助企业可从客户数据之中发掘新的商机。如果能够进行实时处理或者接近实时处理,那么其将为许多行业的用户提供强大的优势。

Hadoop是基于谷歌的MapReduce和分布式文件系统原理而专门设计的,其可在通用的网络和服务器硬件上进行部署,并使之成为计算集群。

Hadoop模型

Hadoop的工作原理是将一个非常大的数据集切割成一个较小的单元,以能够被查询处理。同一个节点的计算资源用于并行查询处理。当任务处理结束后,其处理结果将被汇总并向用户报告,或者通过业务分析应用程序处理以进行进一步分析或仪表盘显示。

为了最大限度地减少处理时间,在此并行架构中,Hadoop“moves jobs to data”,而非像传统模式那样“moving data to jobs”。这就意味着,一旦数据存储在分布式系统之中,在实时搜索、查询或数据挖掘等操作时,如访问本地数据,在数据处理过程中,各节点之间将只有一个本地查询结果,这样可降低运营开支。

Hadoop的最大特点在于其内置的并行处理和线性扩展能力,提供对大型数据集查询并生成结果。在结构上,Hadoop主要有两个部分:

Hadoop分布式文件系统(HDFS)将数据文件切割成数据块,并将其存储在多个节点之内,以提供容错性和高性能。除了大量的多个节点的聚合I/O,性能通常取决于数据块的大小——如128MB。而传统的Linux系统下的较为典型的数据块大小可能是4KB。

MapReduce引擎通过JobTracker节点接受来自客户端的分析工作,采用“分而治之”的方式来将一个较大的任务分解成多个较小的任务,然后分配给各个TaskTrack节点,并采用主站/从站的分布方式(具体如下图所示):

Hadoop系统有三个主要的功能节点:客户机、主机和从机。客户机将数据文件注入到系统之中,从系统中检索结果,以及通过系统的主机节点提交分析工作等。主机节点有两个基本作用:管理分布式文件系统中各节点以及从机节点的数据存储,以及管理Map/Reduce从机节点的任务跟踪分配和任务处理。数据存储和分析处理的实际性能取决于运行数据节点和任务跟踪器的从机节点性能,而这些从机节点则由各自的主机节点负责沟通和控制。从节点通常有多个数据块,并在作业期间被分配处理多个任务。

部署实施Hadoop

各个节点硬件的主要要求是市县计算、内存、网络以及存储等四个资源的平衡。目前常用的并被誉为“最佳”的解决方案是采用相对较低成本的旧有硬件,部署足够多的服务器以应对任何可能的故障,并部署一个完整机架的系统。

Hadoop模式要求服务器与SAN或者NAS进行直接连接存储(DAS)。采用DAS主要有三个原因,在标准化配置的集群中,节点的缩放数以千计,随着存储系统的成本、低延迟性以及存储容量需求不断提高,简单配置和部署个主要的考虑因素。随着极具成本效益的1TB磁盘的普及,可使大型集群的TB级数据存储在DAS之上。这解决了传统方法利用SAN进行部署极其昂贵的困境,如此多的存储将使得Hadoop和数据存储出现一个令人望而却步的起始成本。有相当大一部分用户的Hadoop部署构建都是采用大容量的DAS服务器,其中数据节点大约1-2TB,名称控制节点大约在1-5TB之间,具体如下图所示:

来源:Brad Hedlund, DELL公司

对于大多数的Hadoop部署来说,基础设施的其他影响因素可能还取决于配件,如服务器内置的千兆以太网卡或千兆以太网交换机。上一代的CPU和内存等硬件的选择,可根据符合成本模型的需求,采用匹配数据传输速率要求的千兆以太网接口来构建低成本的解决方案。采用万兆以太网来部署Hadoop也是相当不错的选择。

万兆以太网对Hadoop集群的作用

千兆以太网的性能是制约Hadoop系统整体性能的一个主要因素。使用较大的数据块大小,例如,如果一个节点发生故障(甚至更糟,整个机架宕机),那么整个集群就需要对TB级的数据进行恢复,这就有可能会超过千兆以太网所能提供的网络带宽,进而使得整个集群性能下降。在拥有成千上万个节点的大型集群中,当运行某些需要数据节点之间需要进行中间结果再分配的工作负载时,在系统正常运行过程中,某个千兆以太网设备可能会遭遇网络拥堵。

每一个Hadoop数据节点的目标都必须实现CPU、内存、存储和网络资源的平衡。如果四者之中的任意一个性能相对较差的话,那么系统的潜在处理能力都有可能遭遇瓶颈。添加更多的CPU和内存组建,将影响存储和网络的平衡,如何使Hadoop集群节点在处理数据时更有效率,减少结果,并在Hadoop集群内添加更多的HDFS存储节点。

幸运的是,影响CPU和内存发展的摩尔定律,同样也正影响着存储技术(TB级容量的磁盘)和以太网技术(从千兆向万兆甚至更高)的发展。预先升级系统组件(如多核处理器、每节点5-20TB容量的磁盘,64-128GB内存),万兆以太网卡和交换机等网络组件是重新平衡资源最合理的选择。万兆以太网将在Hadoop集群证明其价值,高水平的网络利用率将带来效益更高的带宽。下图展示了Hadoop集群与万兆以太网的连接:

许多企业级数据中心已经迁移到10GbE网络,以实现服务器整合和服务器虚拟化。随着越来越多企业开始部署Hadoop,他们发现他们完全不必要大批量部署1U的机架服务器,而是部署更少,但性能更高的服务器,以方便扩展每个数据节点所能运行的任务数量。很多企业选择部署2U或4U的服务器(如戴尔 PowerEdge C2100),每个节点大约12-16个核心以及24TB存储容量。在这种环境下的合理选择是充分利用已经部署的10GbE设备和Hadoop集群中的 10GbE网卡。

在日常的IT环境中构建一个简单的Hadoop集群。可以肯定的是,尽管有很多细节需要微调,但其基础是非常简单的。构建一个计算、存储和网络资源平衡的系统,对项目的成功至关重要。对于拥有密集节点的Hadoop集群而言,万兆以太网能够为计算和存储资源扩展提供与之相匹配的能力,且不会导致系统整体性能下降。

3. 大数据的Hadoop是做什么的?

Hadoop中有很多方法可以加入多个数据集。MapReduce提供了Map端和Reduce端的数据连接。这些连接是非平凡的连接,并且可能会是非常昂贵的操作。Pig和Hive也具有同等的能力来申请连接到多个数据集。Pig提供了复制连接,合并连接和倾斜连接(skewed join),并且Hive提供了map端的连接和完整外部连接来分析数据。

一个重要的事实是,通过使用各种工具,比如MapReduce、Pig和Hive等,数据可以基于它们的内置功能和实际需求来使用它们。至于在Hadoop分析大量数据,Anoop指出,通常,在大数据/Hadoop的世界,一些问题可能并不复杂,并且解决方案也是直截了当的,但面临的挑战是数据量。在这种情况下需要不同的解决办法来解决问题。

一些分析任务是从日志文件中统计明确的ID的数目、在特定的日期范围内改造存储的数据、以及网友排名等。所有这些任务都可以通过Hadoop中的多种工具和技术如MapReduce、Hive、Pig、Giraph和Mahout等来解决。这些工具在自定义例程的帮助下可以灵活地扩展它们的能力。

大数据的Hadoop是做什么的?

4. 如何用hadoop进行流量分析

Hadoop网络流量分析
NetFlow产生大量的数据,但大多时候我们只需要这些数据的统计结果。用普通的串行方法可以在少量的数据集上进行统计,并且达到很理想的效果,但是一旦数据超过一定量级,便不能有效地进行处理,这时一些基于分布式的并行计算框架就有了用武之地。为了实现并行计算,已经有很多组织机构提出了多种方法,其中以Google提出的MapReduce框架最为著名。该框架已被广泛应用于文本搜索,海量数据挖掘等场合。
概述
图1展示了我们进行流分析时的机器拓扑结构。其中Hadoop云平台提供了分布式文件系统HDFS和云计算功能。

首先从各个数据源中提取数据,然后把各个数据源数据解析出来的可读数据上传云平台上。云平台的计算由一个主节点组织,若干从节点协同。主节点用来存储元数据、分配资源和任务调度。我们可以对其进行相应的系数配置如缓冲区大小、数据分片大小、处理线程的多少等因素,以更好地达到实验效果。从节点则接受主节点的调度,主要参与运算,同时也会定时反馈自己所在节点的状况。每个从节点上会根据HDFS的配置有若干份,在进行分布式计算时,从节点计算时通过Hadoop自带的RPC协议来进行通信。具体的计算过程则是由MapReduce框架完成。
MapReduce下的Flow分析
MapReduce计算框架下,任何数据都可以被看做是一对键值的组合。Map函数和Reduce函数是 Map-Reduce的两大组成部分。Map函数用来对原始数据进行过滤,然后产生中间结果(也是键-值的形式)该中间结果作为Reduce函数的输入。之后,Hadoop会把具有相同键的值归为一个列表,然后再遍历列表进行数据的统计。Reduce过后,通常中间数据集都会缩小,因为Reduce过程中仅提取了该部分的有效信息。为了能使用MapReduce框架进行不同流字段的分析,应当设计自己Map和Reduce函数,如果要做某时间段的流量检测,那么Map函数要设计成带有可以提取某时间段所有流量的功能。如果我们要查看是否有潜在的DDos攻击,那么Map函数被设计成可以提取知名端口字段,其他的功能与此类似。
图2详细地介绍了统计某时间段流量的MapRed-uce的工作流程。图中有一个上文没有提到combiner的过程,该过程主要用于再从节点进行部分归并,以提高程序的运行效率。

1.输入文件
首先,我们把提取的原始NetFlow字段利用SILK自带的工具rwfilter解析成Hadoop可以读出的数据字段,即文本字段。接着把这些解析出来的字段由Hadoop客户端上传到HDFS中,由于解析出来的文本字段远远大于原来的二进制形式的文件,所以需要把这部分输入规模变小一些。SILK本身并不提供解析二进制文件的接口,所以采取了把源数据进行压缩的方法,采取的压缩格式最好是能支持 Hadoop的LZO,通过实验也证明了这种压缩方式确实有最好效率。
2.Mapper
Mapper首先读入存在在HDFS中的文件作为自己的输入,它的读入以行为单位。然后再用文本处理工具对这些行字段进行提取,提取的字段和要进行的操作有关。以统计某时段的某IP的流入流量为例,Mapper输入中会有IP、端口、协议、时间戳等字段。由于是进行某时间段流量的统计,我们把该时间段内的IP字段提取出来作为键,把该时间段内的流量提取出来作为值,这样就构成了一个Mapper。
3.Reducer
Reducer把Mapper的输出作为输入,同样以统计某IP地址某时间段流入流量为例。Mapper中得到了IP-Bytes键值对,Reducer中把相同的键所对应的值归并在一个列表L中这样,键值对就变成(IP,L),这样就可以遍历L并把所有的流量相加,就得到了我们想要的结果。
实验及结果对比
为了进行实验,我们搭建了1个主节点以及4个从节点的Hadoop-2.4.1版本的集群,集群的每个从节点带有2.83GHz的12核CPU,内存大小为48G,硬盘大小为40TB,集群的主节点带有一个12核2.83GHz的CPU和64G内存。为了提高效率,主从节点均在同一个机架上,连在同一个交换机上。SILK的对比试验则是在单节点上进行,配置相同。
可以看到当数据量不大时,SILK往往具有更快的速度,这是因为Hadoop在进行计算前,要做一些集群间的通信及初始化工作,在小数据集上并不占优势。然而当我们把实验数据逐渐加大时,发现Hadoop会在某个点超越SILK的分析速度,当数据集再逐渐扩大时,Hadoop的优势变得更加明显,如图3所示。

本文主要展示了如何利用Hadoop和MapReduce框架进行大规模的网络流的分析的方法,并列举了几个利用这种方法进行实际分析的实例以及和传统方法进行网络流分析的对比。实践中,该方法在大量数据的情况下相比于传统的流分析工具具有更高的效率。另外它在可靠性、可扩展性方面也有着突出的表现,随着Hadoop更高版本的推出,现在的单点故障问题以及分布式系统安全方面也有了显著的提升,使得该方法的应用更成为了可能。

5. 大数据分析Hadoop工具有什么特点

大数据分析工具有哪些,有什么特点?
答:1. 开源大数据生态圈 Hadoop HDFS、Hadoop MapReduce, HBase、Hive 渐次诞生,早期Hadoop生态圈逐步形成。 开源生态圈活跃,并免费,但Hadoop对技术要求高,实时性稍差。

大数据分析Hadoop工具有什么特点

6. 大数据:Hadoop入门

什么是大数据:
(1.)大数据是指在一定时间内无法用常规软件对其内容进行抓取,管理和处理的数据集合,简而言之就是数据量非常大,大到无法用常规工具进行处理,如关系型数据库,数据仓库等。这里“大”是一个什么量级呢?如在阿里巴巴每天处理数据达到20PB(即20971520GB).

2.大数据的特点:

(1.)体量巨大。按目前的发展趋势来看,大数据的体量已经到达PB级甚至EB级。

(2.)大数据的数据类型多样,以非结构化数据为主,如网络杂志,音频,视屏,图片,地理位置信息,交易数据,社交数据等。

(3.)价值密度低。有价值的数据仅占到总数据的一小部分。比如一段视屏中,仅有几秒的信息是有价值的。

(4.)产生和要求处理速度快。这是大数据区与传统数据挖掘最显著的特征。

3.除此之外还有其他处理系统可以处理大数据。

Hadoop (开源)

Spark(开源)

Storm(开源)

MongoDB(开源)

IBM PureDate(商用)

Oracle Exadata(商用)

SAP Hana(商用)

Teradata AsterData(商用)

EMC GreenPlum(商用)

HP Vertica(商用)

注:这里我们只介绍Hadoop。

二:Hadoop体系结构
Hadoop来源:
Hadoop源于Google在2003到2004年公布的关于GFS(Google File System),MapReduce和BigTable的三篇论文,创始人Doug Cutting。Hadoop现在是Apache基金会顶级项目,“Hadoop”一个虚构的名字。由Doug Cutting的孩子为其黄色玩具大象所命名。

Hadoop的核心:
(1.)HDFS和MapReduce是Hadoop的两大核心。通过HDFS来实现对分布式储存的底层支持,达到高速并行读写与大容量的储存扩展。

(2.)通过MapReduce实现对分布式任务进行处理程序支持,保证高速分区处理数据。

3.Hadoop子项目:
(1.)HDFS:分布式文件系统,整个Hadoop体系的基石。

(2.)MapReduce/YARN:并行编程模型。YARN是第二代的MapReduce框架,从Hadoop 0.23.01版本后,MapReduce被重构,通常也称为MapReduce V2,老MapReduce也称为 MapReduce V1。

(3.)Hive:建立在Hadoop上的数据仓库,提供类似SQL语音的查询方式,查询Hadoop中的数据,


(5.)HBase:全称Hadoop Database,Hadoop的分布式的,面向列的数据库,来源于Google的关于BigTable的论文,主要用于随机访问,实时读写的大数据。

(6.)ZooKeeper:是一个为分布式应用所设计的协调服务,主要为用户提供同步,配置管理,分组和命名等服务,减轻分布式应用程序所承担的协调任务。

还有其它特别多其它项目这里不做一一解释了。

三:安装Hadoop运行环境
用户创建:
(1.)创建Hadoop用户组,输入命令:

groupadd hadoop

(2.)创建hduser用户,输入命令:

useradd –p hadoop hduser

(3.)设置hduser的密码,输入命令:

passwd hduser

按提示输入两次密码

(4.)为hduser用户添加权限,输入命令:

#修改权限

chmod 777 /etc/sudoers

#编辑sudoers

Gedit /etc/sudoers

#还原默认权限

chmod 440 /etc/sudoers

先修改sudoers 文件权限,并在文本编辑窗口中查找到行“root ALL=(ALL)”,紧跟后面更新加行“hduser ALL=(ALL) ALL”,将hduser添加到sudoers。添加完成后切记还原默认权限,否则系统将不允许使用sudo命令。

(5.)设置好后重启虚拟机,输入命令:

Sudo reboot

重启后切换到hduser用户登录

安装JDK
(1.)下载jdk-7u67-linux-x64.rpm,并进入下载目录。

(2.)运行安装命令:

Sudo rpm –ivh jdk-7u67-linux-x64.rpm

完成后查看安装路径,输入命令:

Rpm –qa jdk –l

记住该路径,

(3.)配置环境变量,输入命令:

Sudo gedit /etc/profile

打开profile文件在文件最下面加入如下内容

export JAVA_HOME=/usr/java/jdk.7.0.67

export CLASSPATH=$ JAVA_HOME/lib:$ CLASSPATH

export PATH=$ JAVA_HOME/bin:$PATH

保存后关闭文件,然后输入命令使环境变量生效:

Source /etc/profile

(4.)验证JDK,输入命令:

Java –version

若出现正确的版本则安装成功。

配置本机SSH免密码登录:
(1.)使用ssh-keygen 生成私钥与公钥文件,输入命令:

ssh-keygen –t rsa

(2.)私钥留在本机,公钥发给其它主机(现在是localhost)。输入命令:

ssh-copy-id localhost

(3.)使用公钥来登录输入命令:

ssh localhost

配置其它主机SSH免密登录
(1.)克隆两次。在VMware左侧栏中选中虚拟机右击,在弹出的快捷键菜单中选中管理---克隆命令。在克隆类型时选中“创建完整克隆”,单击“下一步”,按钮直到完成。

(2.)分别启动并进入三台虚拟机,使用ifconfig查询个主机IP地址。

(3.)修改每台主机的hostname及hosts文件。

步骤1:修改hostname,分别在各主机中输入命令。

Sudo gedit /etc/sysconfig/network

步骤2:修改hosts文件:

sudo gedit /etc/hosts

步骤3:修改三台虚拟机的IP

第一台对应node1虚拟机的IP:192.168.1.130

第二台对应node2虚拟机的IP:192.168.1.131

第三台对应node3虚拟机的IP:192.168.1.132

(4.)由于已经在node1上生成过密钥对,所有现在只要在node1上输入命令:

ssh-copy-id node2

ssh-copy-id node3

这样就可以将node1的公钥发布到node2,node3。

(5.)测试SSH,在node1上输入命令:

ssh node2

#退出登录

exit

ssh node3

exit

四:Hadoop完全分布式安装
1. Hadoop有三种运行方式:
(1.)单机模式:无须配置,Hadoop被视为一个非分布式模式运行的独立Java进程

(2.)伪分布式:只有一个节点的集群,这个节点即是Master(主节点,主服务器)也是Slave(从节点,从服务器),可在此单节点上以不同的java进程模拟分布式中的各类节点

(3.)完全分布式:对于Hadoop,不同的系统会有不同的节点划分方式。

2.安装Hadoop

(1.)获取Hadoop压缩包hadoop-2.6.0.tar.gz,下载后可以使用VMWare Tools通过共享文件夹,或者使用Xftp工具传到node1。进入node1 将压缩包解压到/home/hduser目录下,输入命令:

#进入HOME目录即:“/home/hduser”

cd ~

tar –zxvf hadoop-2.6.0.tar.gz

(2.)重命名hadoop输入命令:

mv hadoop-2.6.0 hadoop

(3.)配置Hadoop环境变量,输入命令:

Sudo gedit /etc/profile

将以下脚本加到profile内:

#hadoop

export HADOOP_HOME=/home/hduser/hadoop

export PATH=$HADOOP_HOME/bin:$PATH

保存关闭,最后输入命令使配置生效

source /etc/profile

注:node2,和node3都要按照以上配置进行配置。

3.配置Hadoop

(1.)hadoop-env.sh文件用于指定JDK路径。输入命令:

[hduser@node1 ~]$ cd ~/hadoop/etc/hadoop

[hduser@node1 hadoop]$ gedit hadoop-env.sh

然后增加如下内容指定jDK路径。

export JAVA_HOME=/usr/java/jdk1.7.0_67

(2.)打开指定JDK路径,输入命令:

export JAVA_HOME=/usr/java/jdk1.7.0_67



(4.)core-site.xml:该文件是Hadoop全局配置,打开并在元素中增加配置属性如下:





fs.defaultFs

hdfs://node1:9000



hadoop.tmp.dir

file:/home/hduser/hadoop/tmp





这里给出了两个常用的配置属性,fs.defaultFS表示客户端连接HDFS时,默认路径前缀,9000是HDFS工作的端口。Hadoop.tmp.dir如不指定会保存到系统的默认临时文件目录/tmp中。

(5.)hdfs-site.xml:该文件是hdfs的配置。打开并在元素中增加配置属性。

(6.)mapred-site.xml:该文件是MapReduce的配置,可从模板文件mapred-site.xml.template中复制打开并在元素中增加配置。

(7.)yarn-site.xml:如果在mapred-site.xml配置了使用YARN框架,那么YARN框架就使用此文件中的配置,打开并在元素中增加配置属性。

(8.)复制这七个命令到node2,node3。输入命令如下:

scp –r /home/hduser/hadoop/etc/hadoop/ hduser@node2:/home/hduser/hadoop/etc/

scp –r /home/hduser/hadoop/etc/hadoop/ hduser@node3:/home/hduser/hadoop/etc/

4.验证:

下面验证hadoop是否正确

(1.)在Master主机(node1)上格式化NameNode。输入命令:

[hduser@node1 ~]$ cd ~/hadoop

[hduser@node1 hadoop]$ bin/hdfs namenode –format

(2)关闭node1,node2 ,node3,系统防火墙并重启虚拟机。输入命令:

service iptables stop

sudo chkconfig iptables off

reboot

(3.)输入以下启动HDFS:

[hduser@node1 ~]$ cd ~/hadoop

(4.)启动所有

[hduser@node1 hadoop]$ sbin/start-all.sh

(5.)查看集群状态:

[hduser@node1 hadoop]$ bin/hdfs dfsadmin –report

(6.)在浏览器中查看hdfs运行状态,网址:http://node1:50070

(7.)停止Hadoop。输入命令:

[hduser@node1 hadoop]$ sbin/stop-all.sh

五:Hadoop相关的shell操作
(1.)在操作系统中/home/hduser/file目录下创建file1.txt,file2.txt可使用图形界面创建。

file1.txt输入内容:

Hello World hi HADOOP

file2.txt输入内容

Hello World hi CHIAN

(2.)启动hdfs后创建目录/input2

[hduser@node1 hadoop]$ bin/hadoop fs –mkdir /input2

(3.)将file1.txt.file2.txt保存到hdfs中:

[hduser@node1 hadoop]$ bin/hadoop fs –put -/file/file*.txt /input2/

(4.)[hduser@node1 hadoop]$ bin/hadoop fs –ls /input2

7. 大数据 为什么 要用 hadoop

大数据(big
data),是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。
有人把数据比喻为蕴
藏能量的煤矿。煤炭按照性质有焦煤、无烟煤、肥煤、贫煤等分类,而露天煤矿、深山煤矿的挖掘成本又不一样。与此类似,大数据并不在“大”,而在于“有用”。价值含量、挖掘成本比数量更为重要。对于很多行业而言,如何利用这些大规模数据是成为赢得竞争的关键。
大数据的价值体现在以下几个方面:
1)对大量消费者提供产品或服务的企业可以利用大数据进行精准营销;
2)
做小而美模式的中长尾企业可以利用大数据做服务转型;
3)
面临互联网压力之下必须转型的传统企业需要与时俱进充分利用大数据的价值。

大数据 为什么 要用 hadoop

8. 大数据的Hadoop是什么?

大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。大数据技术是指从各种各样类型的数据中,快速获得有价值信息的能力。
最新文章
热门文章
推荐阅读