文章目录
1 大数据
1.1 大数据概述
信息科技为大数据时代提供技术支撑:
(1)存储设备容量不断增加
(2)CPU处理能力大幅提升
(3)网络带宽不断增加
数据产生方式的变革促成大数据时代的来临:
大数据的特点:数据量大、数据类型繁多(结构化数据10%、非结构化数据90%)、处理速度快、价值密度低。
大数据关键技术:
- 分布式存储:解决海量数据的存储问题;
- 分布式处理:解决海量数据的处理问题。
大数据计算模式:
1.2 大数据、云计算与物联网
物联网层次架构:
物联网关键技术:
- 识别技术(条形码、二维码)
- 感知技术(RFID等)
2 大数据处理架构Hadoop
2.1 Hadoop简介
Hadoop是Apache软件基金会旗下开源分布式计算平台,为用户提供了底层细节透明的分布式基础框架。
- 高可靠性;
- 高效性;
- 高可扩展性;
- 高容错性
- 成本低
- 运行在Linux平台上
- 支持多种编程语言(C++、Java)
选择Hadoop版本(Apache Hadoop、Hortonworks、Cloudera、MapReduce……)的考虑因素:
(1)是否开源(即是否免费);
(2)是否有稳定版;
(3)是否经实践检验;
(4)是否有强大的社区支持
2.2 Hadoop 项目结构
2.3 Hadoop的安装与使用
具体参照该地址:http://dblab.xmu.edu.cn/post/bigdata/
2.4 Hadoop集群的部署和使用
Hadoop框架中最核心的设计是为海量数据提供存储的HDFS和对数据进行计
算的MapReduce
MapReduce的作业主要包括:(1)从磁盘或从网络读取数据,即IO密集工
作;(2)计算数据,即CPU密集工作
Hadoop集群的整体性能取决于CPU、内存、网络以及存储之间的性能平衡。
因此运营团队在选择机器配置时要针对不同的工作节点选择合适硬件类型
一个基本的Hadoop集群中的节点主要有
- NameNode:负责协调集群中的数据存储
- DataNode:存储被拆分的数据块
- JobTracker:协调数据计算任务
- TaskTracker:负责执行由JobTracker指派的任务
- SecondaryNameNode:帮助NameNode收集文件系统运行的状态信息
Hadoop集群规模可大可小,初始时,可以从一个较小规模的集群开始,比如
包含10个节点,然后,规模随着存储器和计算需求的扩大而扩大
如果数据每周增大1TB,并且有三个HDFS副本,然后每周需要一个额外的
3TB作为原始数据存储。要允许一些中间文件和日志(假定30%)的空间,由
此,可以算出每周大约需要增加一台新机器。存储两年数据的集群,大约需要
100台机器
对于一个小的集群,名称节点(NameNode)和JobTracker运行在单个节点
上,通常是可以接受的。但是,随着集群和存储在HDFS中的文件数量的增加,
名称节点需要更多的主存,这时,名称节点和JobTracker就需要运行在不同的
节点上
第二名称节点(SecondaryNameNode)会和名称节点可以运行在相同的机器
上,但是,由于第二名称节点和名称节点几乎具有相同的主存需求,因此,二
者最好运行在不同节点上
具体安装和使用请参照:《大数据技术与应用MOOC》
其他相关笔记:
数据研发学习笔记4.1:大数据之概述与处理架构Hadoop
数据研发学习笔记4.2:大数据之分布式文件系统HDFS
数据研发学习笔记4.3:大数据之分布式数据库HBase
数据研发学习笔记4.4:大数据之NoSQL数据库
数据研发学习笔记4.5:大数据之云数据库
数据研发学习笔记4.6:大数据之MapReduce
数据研发学习笔记4.7:大数据之数据仓库Hive
数据研发学习笔记4.8:大数据之Spark
数据研发学习笔记4.9:流计算
数据研发学习笔记4.10:图计算
数据研发学习笔记4.11:大数据之数据可视化