目录
一、大数据简介
1、简介
①、美国调研机构Gartner给出了定义:大数据是一种新的处理模式,针对海量数据能够提供更强 的决策力、洞察发现力和流程优化能力
②、维基百科给出了定义:大数据是指无法在可承受的时间范围内用常规的软件或者法来对大量的数据进行捕捉、管理和处理
③、无论哪个机构对大数据进行定义,实际上都是围绕对海量数据进行快速有效的处理方案
2、特点
Volumn:数据体量大。很多中小型企业的入门数据量是从TB级别开始,很多大型企业的入门数据量是从PB级别开始,更有累计达到EB级别至ZB级别。
Variety:数据种类样式和来源多;
种类:文本(日志)、图片、音频、视频、flash等
样式:结构化数据(数据本身有结构并且数据解析之后能够用一张或者几张固定的表来存储);半结构化数据(数据本身有结构但是解析之后无法用一张或者几张固定的表来存储,例如接json、xml等);非结构化数据(数据本身没有结构并且解析之后无法用几张固定的表来进行存储,例如视频、音频等)
来源:日志、爬虫、网页埋点、手动录入、数据库等
Value:数据价值密度低。价值密度指的是想要的数据在总的数量中的占比。随着网络的发展,价值密度越来越低,但是不意味着获取到的数据越来越少,恰恰相反,获取到的数据是在变多的。只是想要的数据的增长速度比不上样本总量的增长速度。
Velocity:数据增长速度快。随着网络的发展,数据的产生速度以及增长数据越来越快
Veracity:真实性,数据的质量,即数据的准确性和可信赖度,信息的发展,信息来源广,但是真实度就不太行了
Valence:数据的连通性。随着大数据的发展,衍生出来了很多的技术、模块和产业,这个时候,就不得不考虑这些模块、技术和产业之间的关系
随着大数据的发展,产生了越来越多的特性:Vitality(动态性)、Visualization(可视化)、Validity(合法性,例如大数据杀熟、APP的过度索权)等
3、应用场景
i、物流仓储:利用大数据对配送路线、物流中转点进行设计
ii、电商零售:利用大数据技术对用户的消费行为进行分析,抓住用户的心理变化,做到精准营销
iii、旅游:利用大数据技术来为用户进行合理规划(经济能力、路线等)
iv、保险:利用大数据技术进行精准营销、风险预测
v、金融:利用大数据技术对用户进行抗压预测以及风险控制
vi、人工智能:利用大量数据对模型进行训练,提高模型的准确性
4、组织结构
二、Hadoop简介
1、概述
Hadoop是由Yahoo!开发的后来贡献给Apache的一套开源的、可靠的、可伸缩的分布式机制
Hadoop是大数据生态系统中的基础框架,在大数据中,有超过70%的技术或者产业是围绕Hadoop产生的
Hadoop提供了简单的编程模型来对大量数据进行分布式处理
Hadoop能够从一台服务器扩展到上千台服务器,每一台服务器都能够提供计算和存储的功能
Hadoop本身提供了探测和处理异常的机制
Hadoop之父:Doug Cutting(道格·卡丁)
Hadoop的发行版:
Apache Hadoop目前的版本比较混乱。目前市面上,Hadoop2.X和Hadoop3.X都在流行使用
2、版本
Hadoop1.X:包含了Common、HDFS和MapReduce模块。现在市面上已经停止使用
Hadoop2.X:包含了Common、HDFS、MapReduce以及YARN模块。从Hadoop2.7版本开始,还包含了Ozone模块。Hadoop2.X和Hadoop1.X全版本不兼容
Hadoop3.X:包含了Common、HDFS、MapReduce、YARN和Ozone模块。Hadoop3.X和Hadoop2.X部分版本兼容
3、模块
Hadoop Common:公共依赖模块
Hadoop Distributed File System (HDFS™):分布式文件系统,解决存储问题
Hadoop YARN:负责任务调度和集群的资源管理
Hadoop MapReduce:基于YARN的分布式计算系统
Hadoop Ozone:一个可伸缩、冗余和分布式的对象存储
4、安装模式
单机模式:在一台服务器上安装Hadoop,只能启动Hadoop的MapReduce模块
伪分布式:在一台服务器上安装Hadoop,利用多个进程来模拟Hadoop集群环境,能够启动Hadoop的绝大部分主要服务
完全分布式:在集群中安装Hadoop,能够启动Hadoop中的所有的服务
5、web访问端口
Process | Hadoop2.X | Hadoop3.X |
NameNode | 50070 | 9870 |
SecondaryNameNode | 50090 | 9868 |
DataNode | 50075 | 9864 |
ResourceManager | 8088 | 8088 |
NodeManager | X | X |
三、Hadoop发展
1、创始人
Doug Cutting:创建了Lucene,与Mike Cafarella共同创建了搜索引擎Nutch
Mike Cafarella:是一位专攻数据库管理系统的科学家
2、发展历程
早在2002年的时候,Doug和Mike设计一个搜索引擎Nutch,爬取了全网10亿个网页的数据,爬取完成之后,在设计搜索引擎的过程中,遇到了存储的问题
在2003年的时候,Google发表了一篇论文<The Google File System>(GFS),阐述了分布式存储的思想和原理,但是并没有对外公开这个框架
在2004年的时候,Doug和Mike根绝GFS实现了Nutch中的存储系统 - NDFS(Nutch Distributed File System - Nutch分布式文件系统)
在2004年的时候,Google发表了一篇论文<The Google MapReduce>,阐述了分布式计算的思想和原理,但是同样没有对外公开使用这个框架
在2005年的时候,Doug根据这篇论文实现了Nutch中的MapReduce
在Nutch0.8的时候,Doug发现NDFS和MapReduce不只可以用于搜索引擎,也可以用于其他的分布式处理,所以就把NDFS和MapReduce以及其他的一些需要的基本以来分离出来,组成了一个新的框架Hadoop,同时NDFS改名为HDFS(Hadoop Distributed File System),至此,Hadoop正式面世
在2007年11月的时候,Doug加入了Yahoo!,在Yahoo!工作期间,深度开发了Hadoop,后来还根据网友的建议,实现了HBase、Pig等框架
后来Yaoo!将Hadoop、HBase、Pig等框架贡献给了Apache
四、Hadoop伪分布式安装
1、关闭防火墙
2、修改主机名- Hadoop集群中,主机名中尽量不要出现-或者_
3、需要将主机名和IP进行映射
4、关闭SELINUX
5、重启
6、 配置免密登录
7、进入/home/software目录,来上传或者下载Hadoop。
8、解压Hadoop安装包
9、进入Hadoop的配置文件目录
10、编辑文件
11、编辑文件
12、配置环境变量
13、第一次启动Hadoop之前,需要先进行一次格式化
14、进入Hadoop安装目录的子目录sbin下
15、编辑文件
16、启动HDFS
17、通过jps查看,会发现三个进程
18、编辑文件
19、启动YARN
20、通过jps查看,会发现多出来两个进程
21、可能出现的问题的解决方案
五、hadoop完全分布式安装
1、三台主机关闭防火墙
2、修改三台主机的主机名
3、将主机名和IP进行映射
4、关闭SELINUX
5、三台主机重启
6、三台主机之间需要相互免密
7、在第一台主机上进入software目录,下载或者上传Hadoop的安装包
8、如果你安装了伪分布式,先将伪分布式保留下来,没安装跳过这一步
9、解压
10、进入Hadoop的配置目录
11、编辑文件 hadoop-env.sh
12、编辑文件 core-site.xml
13、编辑文件 hdfs-site.xml
14、编辑文件 mapred-site.xml
15、编辑文件 yarn-site.xml
16、编辑文件 workers
17、进入Hadoop安装目录的子目录sbin下
18、编辑文件 start-dfs.sh
19、编辑文件 start-yarn.sh
20、远程拷贝给另外两台主机
21、三台主机配置环境变量
22、三台主机需要启动Zookeepe
23、在第一台主机上格式化Zookeeper - 实际上就是在Zookeeper上注册节点
24、在三台主机上启动JournalNode
25、在第一台主机上格式化NameNode
26、在第一台主机上启动NameNode
27、在第二台和第三台主机上格式化NameNode
28、在第二台和第三台主机上启动NameNode
29、在三台节点上启动DataNode
30、在三个节点上启动zkfc
31、在第三台主机上启动YARN