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

2024-05-18 08:28

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

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

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

2. 在大数据平台hadoop可以做哪些应用

Hadoop是适合于大数据的分布式存储和处理平台,是一种开源的框架
1、搜索引擎(Hadoop的初衷,为了针对大规模的网页快速建立索引)。
2、大数据存储,利用Hadoop的分布式存储能力,例如数据备份、数据仓库等。
3、大数据处理,利用Hadoop的分布式处理能力,例如数据挖掘、数据分析等。
4、Hadoop是一种分布式的开源框架,对于分布式计算有很大程度地参考价值。
应用:例如
日志处理
用户细分特征建模
个性化设计

3. 什么是大数据分析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?

4. 大数据: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

5. 大数据的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是做什么的?