安装Hadoop平台
目录
前言
大数据和Hadoop
一、大数据
二、Hadoop
一、虚拟机安装
二、Cent OS安装
三、Hadoop伪分布式环境搭配
前言
大数据和Hadoop
大数据
1、大数据的基本概念
(1)大数据的概述
《互联网周刊》对大数据的定义为:“大数据”的概念远不止大量的数据(TB)和处理大量数据的技术,或者所谓的“4个V”之类的简单概念,而是涵盖了人们在大规模数据的基础上可以做的事情,这些事情在小规模数据的基础上是无法实现的。换句话说,大数据让我们以一种前所未有的方式,通过对海量数据进行分析,来获得有巨大价值的产品和服务,或深刻的洞见,最终形成变革之力。
(2)大数据的特征
- 数据量大(Volume)
随着网络技术的发展和普及,每时每刻会产生大量的数据。在我们日常生活中,比如说在电商网站购物、在直播平台看直播、在线阅读新闻等,都会产生很多的日志,汇在一起每分每秒产生的数据量将是非常巨大的。 - 类型繁多(Variety)
大数据中最常见的类型是日志,除了日志之外常见的还有音频、视频、图片等。由于不同类型的数据没有明显的模式,呈现出多样性的特点,这对于数据的处理要求也会更高 - 价值密度低(Value)
现阶段每时每刻产生的数据量已经很大了,如何从大量的日志中提取我们需要的、对我们有价值的信息才是最重要的。数据量越来越大,里面必然会存在着大量与我们所不相干的信息,如何更迅速地完成数据的价值提炼,是大数据时代有待解决的问题。 - 处理速度快(Velocity)
传统的离线处理的时效性不高,换句话说时延是非常高的。随着时代的发展,对时效性的要求越来越高,需要实时对产生的数据进行分析处理,而不是采用原来的批处理方式。
2、大数据带来的挑战
(1)对现有数据库的挑战
随着互联网时代的到来,现在产生的数据如果想存储在传统数据库里是不太现实的,即便传统的数据库有集群的概念,仍然不能处理TB量级的数据。而且现在阶段产生的数据类型很多,有些类型的数据时没办法使用结构化数据查询语句(SQL)来处理的。
(2)实时性的技术挑战
我们知道数据产生的价值会随着时间的流逝而大大降低,所以当数据产生后我们要尽肯能快地进行处理。最典型的就是电商网站的推荐系统,早些年的推荐系统都是基于批处理来进行的,比如每隔半天或者一天进行计算然后再进行推荐,这样就会有很大的延时,对于订单的转换而言虽然有效果但不是很好。如果能做到实时推荐,那么坑洞能大大提高公司的营业收入。
传统的离线批处理对处理时间的要求不高。而实时处理的要求是区别大数据应用和传统数据库技术或者离线技术的关键差别之一。
(3)对数据中心、运维团队的挑战
如今每天产生的数据量正呈爆炸式增长,那么如此多的数据该怎样进行高效的收集、存储、计算都是数据中心要面对的一个非常棘手的问题。而处理快速增长的数据量所需要的机器也日益增多,那么对于运维团队来说压力也会增加。
Hadoop
1、Hadoop概述
(1)什么是Hadoop
Hadoop是Apache基金会旗下的一个分布式系统基础架构。主要包括分布式文件系统HDFS(Hadoop Distributed File System)、分布式计算机系统MapReduce和分布式资源管理系统YARN。Hadoop使用户可以在不了解分布式系统底层细节的情况下,开发分布式程序并充分利用集群的分布式能力进行运算和存储。以Apache Hadoop为生态圈的框架是目前分析海量数据的首选
(2)Hadoop发展史
- 2002年,Doug Cuttion团队开发了网路搜索引擎Nutch,这就是Hadoop的前身。
- 2003年——2004年,随着Google两篇论文的发表诞生了GFS和MapReduc。
- 2006年,为致力于Hadoop技术的进一步发展,Doug Cutting加入Yahoo!
- 2008年1月,Hadoop成为Apache顶级项目,并在同年7月打破最快排序1TB数据的世界纪录。
- 2008年9月,Hive成为Hadoop子项目。
- 2009年3月,Cloudera退出CDH。
- 2011年12月,发布1.0.0版本,标志着Hadoop已经初具生产规模。
- 2013年10月,发布2.2.0版本,Hadoop正式进入2.x时代。
- 2014年,先后发布Hadoop2.3.0、Hadoop2.4.0、Hadoop2.5.0和Hadoop2.6.0。
- 2015年,发布Hadoop2.7.0
- 2016年,发布Hadoop3.0-alpha版本,预示着Hadoop进入3.x时代。
(3)Hadoop核心构成
Hadoop框架主要包括三大部分:分布式文件系统、分布式计算系统、资源管理系统。
- 分布式文件系统HDFS
源自Google发表于2003年10月的GFS论文,HDFS是GFS的克隆版
Hadoop分布式文件系统(HDFS)适用于大数据场景的数据存储,因为HDFS提供了高可靠性(主要通过多副本来实现)、高扩展性(通过添加机器来达到线性扩展)和高吞吐率的数据存储服务。按照官方的说法,HDFS被设计成能够运行在通用硬件上的分布式文件系统,所以我们的Hadoop集群可以部署在普通的机器上,而不需要部署在价格昂贵的小型机或者其他机器上,能够大大减少公司的运营成本。
HDFS的基本原理是将数据文件以指定的块大小拆分成数据块,并将数据块以副本的方式存储到多台机器上,即使某个节点出现故障,该节点上存储的数据块副本丢失,但是在其他节点上还有对应的数据副本,所以在HDFS中即使某个节点出现问题也不会造成数据的丢失(前提是你的Hadoop集群的副本系数大于1)。HDFS将数据文件的切分、容错、负载均衡等功能透明化(用户是感知不到整个过程的,只知道上传了一个文件到HDFS上,有关数据切分、存储在哪些机器上是感知不到的,非常已用)。我们可以将HDFS看成一个容量巨大、具有高容错性的磁盘,在四通的时候完全可以当做普通的本地磁盘使用。所以说HDFS是适合于海量数据的可靠性存储。 - 分布式计算系统MapReduce
MapReduc是一个编程模型,用以进行大数据量的计算。MapReduce的名字源于这个模型中的两项核心操作:Map(映射)和Reduce(归纳)。MapReduce是一种简化应用程序开发和编程模型,能让没有多少并行应用开发经验的开发人员也可以快速地学会并行应用的开发,而不需要去关注并行计算中的一些底层问题,只要按照MapReduce API的编程模型实现相应业务逻辑的开发即可。
一个MapReduce作业通常会把输入的数据切分为若干独立的数据块,由Map任务以并行的方式处理他们,对Map的输出先进行排序,然后再把结果输入Reduce任务,由Reduce任务来完成最终的统一处理。通常MapReduce作业的输入和输出都是使用Hadoop分布式文件系统(HDFS)进行存储,换句话说,就是MapReduce框架处理数据的输入源和输出目的大部分场景都是存储在HDFS上的。
在部署Hadoop集群时,通常是将计算节点和存储节点部署在相同的节点之上,这样做的好处是允许计算框架在进行任务调度时,可以将作业优先调度到那些已经存有数据节点上进行数据的计算,使整个集群的网络宽被非常高效地利用,这就是大数据中非常有名的一句话“移动计算而不是移动数据”。 - 资源管理系统YARN
YARN的基本思想是将Hadoop1.x中MapReduce架构中的JobTracke的资源管理和作业调度监控功能进行分离,解决了在Hadoop1.x中只能运行MaoReduce框架的限制。
YARN是随着Hadoop的不断发展而催生的新框架,全称是Yet Another Resource Negotiator,是一个通用资源管理系统,可为运行在YARN之上的分布式应用程序提供统一的资源管理和调度。YARN的引入为Hadoop集群在利用率、资源统一管理和数据共享等方面带来了很大好处,而且YARN的引入为Hadoop集群在利用率、资源统一管理和数据共享等方面带来了很大好处,而且在YARN之上还可以运行各种不同类型的作业,比如:MapReduce、Spark、Tez等不同的计算框架
(4)为什么很多公司选择Hadoop作为大数据平台的解决方案
- Hadoop源代码开发。
- 社区活跃、参与者众多(这是我们选择某一项框架的很重要的原因,试想如果社区都不活跃,那么我们在工作中遇到各种问题时,如何去解决)。
- 涉及大数据分布式存储和计算的各种场景。
- 发展了十余年,已得到企业界的验证
(5)Hadoop发行版本
hadoop的发行版除了由社区维护的Apache Hadoop之外,Cloudera、Hortonworks、MapR等都提供了自己的商业版。商业版主要是提供对各项服务的支持(高级功能要收取一定的费用),这对一些研发能力不是太强的企业来说是非常有利的,公司只要出一定的费用就能使用到一些高级功能。每个发行版都有自己的一些特点,这里对使用最多的CDH和HDP发行版的特点做简单介绍
- Cloudera CDH
Cloudera CDH版本的Hadoop是现在国内公司使用最多的。
优点:Cloudera Manager(简称CM)采取“小白”式安装,配置简单、升级方便,资源分配设置方便,非常利于整合Impala,而且文档写得很好,与Spark的整合力度也非常好。在CM的基础之上,我们通过页面就能完成对Hadoop生态圈各种环境的安装、配置和升级。
缺点:CM不开源,Hadoop的功能和社区版有些出入。 - hortonworks HDP
优点:原装Hadoop、纯开源,版本和社区一致,支持Tez,集成开源监控方案Ganglia和Nagios。
缺点:安装、升级、添加、删除节点比较麻烦
2、Hadoop生态圈
(1)概述
当下Hadoop已经成长为一个庞大的体系,只要和海量数据相关的,没有哪个领域能缺少Hadoop的身影。
狭义的Hadoop:是一个适合大数据分布式存储和分布式计算的平台,包括HDFS、MapReduce、和YARN。
广义的Hadoop:指以Hadoop为基础的生态圈,是一个很庞大的体系,Hadoop只是其中最重要、最基础的一部分;生态圈中的每个子系统只负责解决某一个特定的问题域(甚至可能更窄),它并不是一个全能系统,而是多个小而精的系统。
(2)HDFS
Hadoop生态圈的基本组成部分是Hadoop分布式文件系统(HDFS)。大数据处理框架如MapReduce或者Spark等要处理的数据源大部分都是存储在HDFS之上,Hive或者HBase等框架的数据通常情况下也是存储在HDFS之上。简而言之,HDFS为大数据的存储提供了保障。
(3)MapReduce
MapReduce是一个分布式、并行处理的编程模型。开发人员只需要编写Hadoop的MapReduce作业就能使用存储在HDFS中的数据来完成相应的数据处理功能。
(4)YARN
YARN是Hadoop2.x之后对Hadoop1.x之前JobTracker和TaskTracker模型进行优化而诞生的,主要负责整个系统的资源管理和调度,而且在YARN之上能运行各种不同类型(MapReduce、Tez、Spark)的执行框架。
(5)HBase
HBase是一个建立在HDFS之上的面向列的数据库,用于快速读/写大量数据。HBase使用ZooKeeper进行管理,以确保所有组件都能正常运行。HBase保障查询速度
一、虚拟机安装
1、虚拟机软件使你可以在一台机器上同时运行两个或更多个Windows、linux系统。他可以模拟一个标准的PC环境,这个环境和真实的计算机一样,也有芯片组、CPU、内存、显卡、声卡、网卡、软驱、硬盘、光驱、串口、并口、USB控制器等。
常用的虚拟机软件:
(1)VMware Workstation
(2)VMwareBox
2、VMware安装
(1)点击安装文件后启动界面,如下图
(2)点击“下一步”,如下图
(3)选择“我接受许可协议中的条款”后点击“下一步”按钮,如下图
(4)更改自己的安装路径后点“下一步”,如下图
(5)点击下一步,如下图
(6)勾选“桌面”和“开始菜单程序文件夹”复选框后点击“下一步”,如下图
(7)点击“安装”并等待,等待结束后如下图
(8)点击“许可证”,输入许可证密匙,如下图(许可证密匙在压缩包里面一起有的)
(9)安装完成
二、Cent OS安装
1、安装 linux 系统
(1)linux 概述
linux是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的免费使用和自由传播的类UNIX操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议,它支持32位和64位硬件。linux继承了UNIX以网络为核心的设计思想,是一个性能稳定的多用户操作系统。
linux操作系统诞生于1991年10月5日(这是其第一次正式对外公布的时间)。
linux可以安装在手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机等各种设备中。
严格来讲,linux这个词本身只表示linux内核,但实际上人们已经习惯了用linux来形容整个基于linux内核并使用GUN工程各种工具和数据库的操作系统。
linux是一种自由和开放源码的系统,并有GPL授权,全世界的任何人都可以对其源码进行修改然后发布使用,所以存在着许多不同的linux版本,但它们都使用了linux内核。所以存在很多变种以及版本。
(一)、Ubuntu:2004年9月发布,最为流行的桌面linux发行版;个人应用比较多,社区力量很庞大。
(二)、Red Hat:使用最广,性能稳定,商业版。
(三)、CentOS:2003年底推出,RHEL的重新编译版,免费;服务器发行版;
为什么选择CentOS?
(一)、主流:目前的linux操作系统主要应用于生产环境,主流企业级linux系统仍旧是Red Hat或者CentOS。
(二)、免费:Red Hat和CentOS差别不大。CentOS是一个基于Red Hat linux提供的可自由使用源码的企业级linux发行版。
(三)更新方便:CentOS独有的yun命令支持在线升级,可以即时更新系统,不像Rad Hat 那样需要花钱购买支持服务
2、CentOS安装
(1)首先安装 Vmware Workstations ,安装过程参见VMware安装(上面)。
(2)点击左上角【文件】/【新建虚拟机】或直接点击【创建虚拟机图标】,如下图
(3)选择“典型(推荐)”,点击下一步,如下图
(4)选择“稍后安装操作系统”,如下图
(5)选择操作系统和版本然后点击“下一步”,如下图
(6)输入虚拟机名称和安装路径然后点击“下一步”,如下图
(7)设置磁盘大小然后点击“下一步”,如下图
(8)选择“自定义硬件”,如下图
(9)单击【新CD/DVD(IDE)】,然后选择右边的【使用ISO镜像文件(M)】,再点击浏览,选中你的CentOS镜像文件点击打开,如下图
打开之后并点击关闭,如下图
(10)点击“完成”,如下图
(11)点击【开启此虚拟机】,如下图
(12)在下图选择第一项,安装全新操作系统或升级现有操作系统。如下图
(13)在下图中按Tab键选择Skip,退出检测,如下图
在下图直接回车,如下图
(14)点击“Next”,如下图
(15)在下图这里选择语言,这里选择的是中文(简体),然后点击下一步,如下图
(16)在下图中选择键盘样式,然后点击“下一步”如下图
(17)在下雨选择储存设备,选择“基本储存设备”,然后点击“下一步”,如下图
如果以前安装过虚拟机,会出现下图所示的警告,选择“是,忽略所以数据”,如没有请直接跳过,如下图
(18)在下图中输入主机名,并点击下面的【网络配置©】,如下图
(19)在下图中配置网络,先点击“System eth0 从不”,然后点右边的编辑,在编辑中选中【自动连接】再点击下方的【应用】和【关闭】在点击下一步,如下图
(20)在下图设置时区,勾选“系统时钟使用UTC时间”,点击下一步,如下图
(21)在下图输入根用户密码(一定要记住),点击下一步,如下图
如果密码过于简单会出现提示,点击“无论如何都使用”,在点击下一步,如下图
如下图,如果之前安装过linux系统,选择使用“使用所有空间”,点击下一步,如下图
如下图,选择将“修改写入磁盘”,点击下一步,如下图
(22)在下图中根据此linux的具体功能,如下图
(23)在 上 图中选择【Desktop】,然后在最下面选择【现在自定义】,然后点击下一步,如下图
可以根据具体的情况来定,如下图中可以选择安装Eclipse
还可以安装JAVA平台,Perl支持等,如下图
选择语言支持,如下图
点击下一步,如下图
(24)点击下一步之后开始安装(此时请耐心等待),如下图
(25)安装完成后,在下图所示界面点击“重新引导”按钮
(26)点击“前进”按钮,如下图所示
(27)在下图中选中“是,我同意该许可证协议”,再点击“前进”按钮,如下图
(28)创建用户,如下图所示
(29)在下图中设置日期和时间,如果可以上网,勾选“在网络上同步日期和时间”,如下图
(30)最后点击“前进”按钮,安装完成
三、Hadoop伪分布式环境搭配
连续写了两个小时,休息休息,过几天再继续更新。如有急需的可联系作者。