大数据概述
1.1 大数据时代
第三次信息化浪潮 2010年前后 解决信息爆炸的问题
原因:存储设备容量不断增加、CPU处理能力大幅提升、网络宽带不断增加
数据产生方式:运营式系统阶段->用户原创内容阶段(web2.0)->感知式系统阶段
1.2 大数据概念
volumn velocity variety value
数据量大 处理数据快 数据类型多样化 价值密度低
1.3 大数据的影响
– 全样而非抽样
– 效率而非精确
– 相关而非因果
1.4 大数据的应用
金融、汽车、零售、餐饮、电信、能源、政务
、医疗、体育、娱乐等
典型:纸牌屋是周播剧,根据大数据分析收视情况受众特征即使调整剧情和壬午关系
谷歌流感趋势
1.5 大数据关键技术
分布式存储:
GFS/HDFS BigTable/HBASE NOSQL NEWSQL
分布式处理:
MapReduce
数据采集: 用ETL工具将分布、异构数据源中的数据抽取到临时中间层进行清洗、转换、集成,最后加载到数据仓库货数据集市中,成为联机处理分析、数据挖掘基础;实时采集的数据作为流计算系统的输入进行实时处理分析
数据存储和管理:利用分布式文件系统、数据仓库、关系数据库、NOSQL数据库实现对结构化、半结构化、非结构化海量数据存储和管理
数据处理和分析:利用分布式并行编程模型和框架,结合机器学习算法进行处理和分析;可视化
数据隐私和安全
1.6 大数据计算模式
批处理计算 针对大规模数据的批量处理 MapReduce 、spark
流计算 针对流处理的实时计算 Storm、S4、Flume等
图计算 针对大规模图结构数据的处理 Pregel、GraphX
查询分析计算 大规模数据的存储管理和查询分析 Dremel、Hive、Cassandra
1.7 大数据产业
产业链环节 | 包含内容
IT基础设施层|包括提供硬件、软件、网络等基础设施以及提供咨询、规划和系统集成服务的企业,比如,提供数据中心解决方案的IBM、惠普和戴尔等,提供存储解决方案的EMC,提供虚拟化管理软件的微软、思杰、 SUN、 Redhat等
数据源层 | 大数据生态圈里的数据提供者,是生物大数据(生物信息学领域的各类研究机构)、交通大数据(交通主管部门)、医疗大数据(各大医院、体检机构)、政务大数据(政府部门)、电商大数据(淘宝、天猫、苏宁云商、京东等电商)、社交网络大数据(微博、微信、人人网等)、搜索引擎大数据(百度、谷歌等)等各种数据的来源
数据管理层 |包括数据抽取、转换、存储和管理等服务的各类企业或产品,比如分布式文件系统(如Hadoop的HDFS和谷歌的GFS)、 ETL工具(Informatica、 Datastage、 Kettle等)、数据库和数据仓库(Oracle、 MySQL、 SQL Server、 HBase、 GreenPlum等)
数据分析层 |包括提供分布式计算、数据挖掘、统计分析等服务的各类企业或产品,比如,分布式计算框架MapReduce、统计分析软件SPSS和SAS、数据挖掘工具Weka、数据可视化工具Tableau、 BI工具(MicroStrategy、 Cognos、 BO)等等
数据平台层 |包括提供数据分享平台、数据分析平台、数据租售平台等服务的企业或产品,比如阿里巴巴、谷歌、中国电信、百度等
数据应用层 |提供智能交通、智慧医疗、智能物流、智能电网等行业应用的企业、机构或政
1.8 大数据与云计算、物联网的关系
大数据处理架构hadoop
2.1 概述
简介:
- Apache软件基金会旗下的一个开源分布式计算平台
- 基于java开发,具有很好的跨平台特性
- 核心是分布式文件系统HDFS和MapReduce
- 分布式环境下提供了海量数据的处理
能力
发展简史:源自始于一个开源的网络搜索引擎Apache Nutch项目
特性:Hadoop是一个能够对大量数据进行分布式处理的软件框架。特性:高可靠、高有效性、高扩展性、高容错性、成本低、linux平台上运行、支持多种编程语言
应用现状:
2.2 Hadoop项目结构
组件 功能
HDFS |分布式文件系统
MapReduce |分布式并行编程模型
YARN |资源管理和调度器
Tez |运行在YARN之上的下一代Hadoop查询处理框架
Hive |Hadoop上的数据仓库
HBase |Hadoop上的非关系型的分布式数据库
Pig |一个基于Hadoop的大规模数据分析平台,提供类似SQL的查询语言Pig Latin
Sqoop |用于在Hadoop与传统数据库之间进行数据传递
Oozie |Hadoop上的工作流管理系统
Zookeeper |提供分布式协调一致性服务
Storm |流计算框架
Flume |一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统
Ambari | Hadoop快速部署工具,支持Apache Hadoop集群的供应、管理和监控
Kafka |一种高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据
Spark |类似于Hadoop MapReduce的通用并行框架
2.3 Hadoop的安装与使用
linux:CentOS、Ubuntu
系统安装方式:虚拟机(virtualBox ISO镜像) 双系统
hadoop安装方式:
- 单机模式 默认模式为非分布式模式(本地模式),即单 Java 进程,方便进行调试
- 伪分布模式 Hadoop可以在单节点上以伪分布式方式运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是
HDFS 中的文件 - 分布模式 使用多个节点构成集群环境来运行Hadoop
hadoop基本安装:
• 创建Hadoop用户
• SSH(较可
靠、专为远程登录会话和其他网络服务提供安全性的协议)登录权限设置
• 安装Java环境
• 单机安装配置
• 伪分布式安装配置(修改配置文件core-site.xml 、 hdfs-site.xml)
三种Shell命令方式区别:
•hadoop fs适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统
•hadoop dfs只能适用于HDFS文件系统
•hdfs dfs跟hadoop dfs的命令作用一样,也只能适用于HDFS文件系统
2.4 Hadoop集群的部署与使用
2.4.1 集群节点类型
•NameNode:负责协调集群中的数据存储
•DataNode:存储被拆分的数据块
•JobTracker:协调数据计算任务
•TaskTracker:负责执行由JobTracker指派的任务
•SecondaryNameNode:帮助NameNode收集文件系统运行的状态信息
2.4.2 集群规模
可大可小,初始时,可以从一个较小规模的集群开始,然后,规模随着存储器和计算需求的扩大而扩大
2.4.3 集群硬件配置
2.4.4 集群网络拓扑
2.4.5 集群的建立与安装
伪集群
参考http://dblab.xmu.edu.cn/blog/install-hadoop/
cd /usr/local/hadoop
./sbin/start-dfs.sh 启动 Hadoop
通过命令 jps 来判断是否成功启动
在这里插入图片描述
关闭hadoop ./sbin/stop-dfs.sh
2.4.6 集群基准测试
2.4.7 在云计算环境中使用Hadoop
Hadoop再探讨
9.1Hadoop的优化与发展
9.2 HDFS2.0的新特性
9.3 新一代资源管理调度框架YARN
9.4 Hadoop生态系统中具有代表性的功能组件