加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2018-04-17 16:21:56 所属栏目:大数据 来源:站长网
导读:副标题#e# OpenStack 控制计算、存储和网络资源池。本文主要关注 OpenStack 如何在大数据用例中扮演关键角色。 OpenStack 上的大数据 现在,数据随处生成,数据量呈指数增长。来自 Web 服务器、应用程序服务器、数据库服务器的数据以用户信息、日志文件和系
副标题[/!--empirenews.page--]

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

OpenStack 上的大数据

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

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

看一个用例场景 —— 大量的数据存储在关系数据库管理系统环境中。当数据集越来越大时, 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 驱动程序和瘦客户端访问。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读