大数据简介
大数据是指通过世界各地的各种平台生成的所有数据。
大数据的类别:
-
结构
-
非
-
半结构化
大数据示例:
1) 纽约交易所每天生成约1tb 的新交易数据。
2)社交媒体: 统计数据显示, 每天有 500多 tb 的数据被输入社交媒体网站 facebook 的数据库。
数据主要是从以下方面产生的:
-
照片和视频上传
-
消息交换
-
评论
3) 喷气发动机/旅游门户:
英格尔喷气发动机每天飞行30分钟即可生成 10 tb 以上的数据.数据的生成高达许多 pb (pb)。
什么是 hadoop?
hadoop 是由 apache 软件基金会管理的开源框架。开源意味着它是免费提供的, 它的源代码可以根据用户的要求进行更改。apache hadoop 旨在高效地存储和处理大数据。hadoop 用于数据存储、处理、分析、访问、治理、操作和安全。
拥有大量数据的大型组织使用 hadoop, 在大量商品硬件的帮助下进行处理。群集是指通过 lan 连接的一组系统, 此群集上的多个节点有助于执行 hadoop 作业。hadoop 在管理大数据方面在全球范围内越来越受欢迎, 目前, 它拥有近90% 的市场份额。
hadoop 的特点
-
成本效益: hadoop 系统非常具有成本效益, 因为它不需要任何专门的硬件, 因此需要低投资。使用简单的硬件称为商品硬件就足以满足系统的需要。
-
支持大的节点集群: hadoop 结构可以由数千个节点组成, 形成一个大的集群。大型集群有助于扩展存储系统 & 提供了更多的计算能力。
-
数据并行处理: hadoop 系统支持跨群集中所有节点对数据进行并行处理, 从而减少了存储 & 处理时间。
-
数据分布 (分布式处理): hadoop 可以在群集中的所有节点上高效地分配数据。此外, 如果特定节点忙或无法操作, 它还会在整个群集上复制数据, 以便检索其他节点的数据。
-
自动故障转移管理 (容错): hadoop 的一个重要功能是, 它在群集中的节点出现故障时自动解决问题。框架本身将用另一个系统替换故障系统, 同时在新计算机上配置复制的设置和数据。
-
支持异构群集:异构群集是指对来自不同供应商、不同操作系统并在不同版本上运行的节点或计算机进行计算的群集。例如, 如果 hadoop 集群有三个系统, 一个是在 rhel linux 上运行的联想机器, 第二个是在 ubuntu linux 上运行的英特尔机器, 第三个是在 fedora linux 上运行的 amd 机器, 那么所有这些不同的系统都能够同时运行在单个群集上运行
这是指可伸缩性, 这是 hadoop 系统的重要功能之一。
hadoop 生态系统概述
hadoop 生态系统包括:
-
hdfs (hadoop 分布式文件系统)
-
阿帕奇Mapreduce
-
阿帕奇猪
-
apache hbase
-
阿帕奇蜂巢
-
apache sqoop
-
阿帕奇水槽
-
阿帕奇动物园管理员
-
阿帕奇·卡夫卡
-
阿帕奇·奥齐
hdfs (hadoop 分布式文件系统): hdfs 在 hadoop 框架中具有最重要的工作。它同时分发数据并将其存储在群集中的每个节点上。此过程减少了将数据存储到磁盘上的总时间。
mapreduce (read/用 mr 从 hadoop 中写入大型数据集): hadoop mapreduce 是系统的另一个重要部分, 它处理存储在群集中的海量数据。它允许并行处理 hdfs 存储的所有数据。此外, 它还通过集群中的巨大可伸缩性解决了处理成本高的问题。
阿帕奇猪(pig 是 hadoop 生态系统的一种 etl): 为 hadoop 集群中的海量数据集编写数据分析程序是高级脚本语言。pig 使开发人员能够生成查询执行例程, 用于分析大型数据集。脚本语言被称为 pig 拉丁语, 它是 pig 的关键部分之一, 第二个关键部分是编译器。
apache hbase (oltpsm-nosql) 源: 它是一个面向列的数据库, 支持 hdfs 的实时工作。它可以处理大型数据库表, 即包含数百万行和列的文件。hbase 的一个重要用途是有效地使用主节点来管理区域服务器。
apache hive (hive 是 hadoop 上的 sql 引擎): 使用类似 sql 的接口, hive 允许从 hdfs 中平方数据。sql 语言的 hive 版本称为 hiveql。
apache sqoop (data nomit/sql 源): 它是一个应用程序, 可帮助将数据从 hadoop 导入到其他关系数据库管理系统。它可以传输您的大部分数据。sqoop 基于连接器体系结构, 支持用于建立与新外部系统的连接的插件。
apache flume (从无结构化 (社交媒体网站) 导入数据) : 它是一个应用程序, 它允许将流数据存储到 hadoop 集群中, 例如写入日志文件的数据, 是流数据的一个很好的示例。
apache zooo管人员 (在集群环境中使用的协调工具): 其作用是管理上述应用程序之间的协调, 以确保其在 hadoop 生态系统中的高效运行。
hadoooo–hdfs 守护程序的功能
hadoop 系统的工作原理是主从体系结构。
名称节点: 它是主节点, 并且在实体中是唯一的。它负责存储 hdfs 元数据, 以跟踪存储在 hdfs 中的所有文件。存储在元数据上的信息类似于文件名、文件的权限、文件的授权用户以及文件的存储位置
数据节点: 它是从属节点, 并以多个数字存在。数据节点负责按照名称节点的指示存储和检索数据。数据节点间歇性地报告到名称节点, 并显示其当前状态以及与之一起存储的所有文件。数据节点保留存储在其中的每个文件的多个副本。
辅助名称节点: 存在辅助名称节点, 以支持存储元数据的主名称节点。在名称节点因元数据损坏或任何其他原因而失败时, 辅助名称节点可防止整个群集出现故障。辅助名称节点指示名称节点创建并发送 fsimage 和编辑日志文件, 在这些文件上, 由辅助名称节点创建压缩的 fsimage 文件。然后将此压缩文件传回 tge name 节点, 并将其重命名。此过程可以每小时重复一次, 也可以在编辑日志文件的大小超过64mb 时重复。