OpenStack如何在大数据用例中扮演关键角色

OpenStack如何在大数据用例中扮演关键角色

作者:佚名 2018-04-12 18:00:43

云计算

大数据

OpenStack OpenStack 控制计算、存储和网络资源池。本文主要关注 OpenStack 如何在大数据用例中扮演关键角色。现在,数据随处生成,数据量呈指数增长。来自 Web 服务器、应用程序服务器、数据库服务器的数据以用户信息、日志文件和系统状态信息的形式提供。

OpenStack 控制计算、存储和网络资源池。本文主要关注 OpenStack 如何在大数据用例中扮演关键角色。

OpenStack 上的大数据

现在,数据随处生成,数据量呈指数增长。来自 Web 服务器、应用程序服务器、数据库服务器的数据以用户信息、日志文件和系统状态信息的形式提供。大量的数据也由物联网设备产生,如传感器、车辆、工业设备等。从科学模拟模型生成的数据也是大数据的来源之一。使用传统软件工具来存储和执行这些数据的分析可能很困难,而 Hadoop 可以解决这个问题。

[[225851]]

看一个用例场景 —— 大量的数据存储在关系数据库管理系统环境中。当数据集越来越大时, RDBMS ( 关系数据库管理系统 Relational Database Management System )表现不佳。而且这个问题会随着数据集的增长而越发严重。在这个阶段,避免采用 NoSQL 。需要以具有成本效益的方式存储和处理大量数据。应该依赖非虚拟化环境中的高端服务器吗?要求是随时扩展集群,需要一个更好的仪表板来管理其所有组件。

计划在 OpenStack 之上建立一个 Hadoop 集群并创建 ETL ( Extract-Transform-Load)作业环境。Hadoop 是一个行业标准框架,用于存储和分析具有容错 Hadoop 分布式文件系统和 MapReduce 实施的大型数据集。然而,可伸缩性在典型的 Hadoop 集群中是一个非常普遍的问题。

Openstack 推出了一个名为 Sahara 的项目 —— 数据处理即服务。 Openstack Sahara 旨在配置和管理数据处理框架,如集群拓扑中的 hadoop mapreduce、spark和Storm 。该项目与 Amazon Elastic MapReduce(EMR) 服务提供的数据分析平台类似。Openstack Sahara 可在几分钟内部署集群。此外,Openstack Sahara 可以根据需求通过添加或删除工作节点来伸缩集群。

使用 Openstack Sahara 管理 Hadoop 集群的好处

  • ——集群可以更快地提供且易于配置。
  • ——像其他 OpenStack 服务一样,Sahara 服务可以通过强大的 REST API、CLI 和 Horizon 仪表板进行管理。
  • ——插件可用于支持 Vannila(Apache Hadoop)、HDP(ambari)、CDH(Cloudera)、MapR、Spark、Storm 等多个 Hadoop 供应商。
  • ——集群大小可根据需求进行伸缩。
  • ——可以与 OpenStack Swift 集成以存储由 Hadoop和 Spark 处理的数据。
  • ——集群监控变得简单。
  • ——除集群配置外,Sahara 还可以用作分析即服务,用于临时或突发分析工作负载。

架构

Openstack Sahara 旨在利用 OpenStack 的核心服务和其他完全托管服务。这使 Sahara 更加可靠并且能够有效地管理 Hadoop 集群,你可以选择使用包括 Trove( OpenStack 数据服务组件,允许用户对关系型数据库进行管理,实现了 Mysql 实例的异步复制和提供 PostgreSQL 数据库的实例。) 和 Swift 在内的服务。来看看 Sahara 的架构。

  • —— Sahara 服务有一个 API 服务器,它响应来自最终用户的 HTTP 请求并与其他 OpenStack 服务交互以执行其功能。
  • —— Keystone (身份即服务)对用户进行身份验证,并提供用于与 OpenStack 配合使用的安全令牌,将用户在 Sahara 中的能力限制为其 OpenStack 权限。
  • —— Heat (编排即服务)用于配置和编排数据处理集群的部署。
  • —— Glance(虚拟机镜像即服务)使用操作系统和预安装的 Hadoop / Spark 软件包存储 VM 镜像以创建数据处理集群。
  • —— Nova (计算)为数据处理集群提供虚拟机。
  • —— Ironic(裸机即服务)为数据处理集群提供裸机节点。
  • —— Neutron(网络)便于网络服务从基础到高级拓扑访问数据处理集群。
  • —— Cinder(块存储)为集群节点提供持久存储介质。
  • —— Swift(对象存储)提供可靠的存储来保存作业二进制文件和由hadoop / spark处理的数据。
  • —— Designate(DNS即服务)提供托管区域以保留集群实例的DNS记录。 Hadoop服务通过主机名与群集实例进行通信。
  • —— Ceilometer(telrmetry)收集和存储有关用于计量和监控目的的集群指标。
  • —— Manila(文件共享)可用于存储作业创建的作业二进制文件和数据。
  • —— Barbican(密钥管理服务)安全地存储密码和私钥等敏感数据。
  • ——Trove(数据库即服务)为 hive metastore 提供数据库实例,并存储 Hadoop 服务和其他管理服务的状态。

如何建立Sahara集群

请按照部署 Sahara 安装指南中的步骤操作。不同的部署环境有不同的方式,如果你想要试验, Kolla 也是一个不错的选择。

你还可以通过 Horizon 仪表板管理 Sahara 项目。

用Sahara集群ETL(提取、转换和加载)或ELT(提取、加载和转换)

市场上有很多 ETL 工具可用。

传统数据仓库有其自身的优点和局限性,例如它可能位于数据源以外的其他位置。Hadoop 是运行 ETL 作业的理想平台。

数据存储区中有各种数据,包括结构化、半结构化和非结构化数据。Hadoop生态系统有从不同数据源(包括数据库、文件和其他数据流)中提取数据并将其存储在集中式 Hadoop Distributed File System(HDFS) 中的工具。

随着数据快速增长,Hadoop 集群可以扩展并利用OpenStack Sahara 。

Apache Hive 是建立在 Hadoop 生态系统之上的数据仓库项目,也是进行 ETL 分析的可靠工具。一旦使用工具(如 Sqoop、Flume、Kafka 等)从数据源中提取数据后,应该使用 MapReduce 技术用 Hive 或pig scripts 进行清理和转换。

Hive 的另一个优点是它是一个交互式查询引擎,可以通过 Hive 查询语言访问。它类似于 SQL 。因此,数据库人员可以在不掌握 Java 和 MapReduce 概念的情况下,在 Hadoop 生态系统中执行作业。Hive 查询执行引擎解析 Hive 查询并将其转换为一系列 MapReduce / Spark 作业。Hive 可以通过JDBC / ODBC 驱动程序和瘦客户端访问。

Oozie 是 Hadoop 生态系统中可用的工作流引擎。工作流是一组必须作为分布式环境中的序列执行的任务。Oozie 帮助创建一个简单的工作流来层叠多个工作流并创建协调的作业。Oozie 用于为复杂的 ETL 作业创建工作流也很理想,尽管它没有模块来支持与 Hadoop 相关的所有操作。

我们可以使用任何工作流引擎来执行 ETL 工作,例如 Openstack Mistral (工作流即服务)。Apache oozie 在某些方面类似于 Openstack Mistral ,充当可以定期触发的作业调度器。

我们来看看一个典型的 ETL 作业流程,它使用Hadoop 将应用程序将其数据存储在 MySQL 服务器中。存储的数据需要以最少的成本和时间进行分析。

提取

***步是从 MySQL 中提取数据并将其存储在 HDFS中。

Apache Sqoop 可用于从结构化数据源(如 RDBMS数据存储)导出/导入数据。

如果要提取的数据是半结构化的或非结构化的,你可以使用 Apache Flume 从数据链接中获取数据,例如 Web 服务器日志、Twitter 数据流或传感器数据。

转换

从上述阶段提取的数据格式不正确(只是原始数据)。应该用适当的过滤器和数据聚合来清理。

这是在 HDFS 中存储数据必不可少的。

此时,我们需要为每个表设计 Hive 模式,并创建一个数据库来转换存储在临时区域中的数据。

通常情况下,数据采用 .csv 格式,每条记录均以逗号分隔。

我们不需要检查 HDFS 数据以了解它是如何存储的。有一些异常数据类型应该与 Hive 兼容。

数据库建模后,我们可以加载提取的数据进行清理。表格中的数据仍然未标准化。从不同的表中聚合所需的列。

同样,可以用“ OVERWRITE INTO TABLE ”语句来汇总多个表中的数据。

Hive 支持分区表,通过水平分配执行负载来提高查询性能。我们倾向于分区存储年份和月份的列。有时,分区表在 MapReduce 作业中创建更多任务。

加载

现在是时候将转换后的数据加载到 HDFS 中的数据仓库目录中,这是数据的最终状态。在这里,我们可以应用 SQL 查询来获得适当的结果。

所有的 DML 命令都可以用来分析基于用例的仓库数据。

结果可以下载为 .csv、表格或图表进行分析。它可以与其他流行的商业智能工具(如Talend OpenStudio、Tabelau 等)集成。

自动化

现在使用 Oozie 工作流引擎自动执行 ETL 作业(你也可以使用 Mistral,大多数 Hadoop 用户习惯用Apache Oozie )。

结论

OpenStack 集成了一个非常大的 Hadoop 生态系统,许多云提供商提供 Hadoop 服务(只需要点击几下它们的云管理门户网站即可)。Sahara 支持大部分 Hadoop 供应商插件,让你执行 ETL 工作流。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/270782.html<

(0)
运维的头像运维
上一篇2025-05-07 23:46
下一篇 2025-05-07 23:47

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注