添加对 HDP 2.2 插件的支持

https://blueprints.launchpad.net/sahara/+spec/hdp-22-support

本规范建议添加基于 Ambari Blueprints [1] 和 Ambari 管理控制台的新 HDP 插件。

问题描述

目前我们支持旧的 HDP 插件,其中包含旧的 HDP 发行版。 此外,旧的 HDP 插件看起来每年都未得到 HortonWorks 团队的支持 [2]。 许多客户希望使用新版本的 HDP。 新的 HDP 插件将基于 Ambari Blueprints。 Ambari Blueprints 是集群的声明性定义。 通过 Blueprint,您可以通过 REST API 指定 Stack、组件布局和配置,从而实现 Hadoop 集群实例。

提议的变更

新的 HDP 插件将支持通过 Ambari Blueprints 配置 HDP stack。

插件将支持关键的 Sahara 功能

  • Cinder 集成

  • Swift 集成

  • EDP

  • 伸缩

  • 事件日志

新的 HDP 插件将支持以下操作系统:Ubuntu 12.04 和 CentOS 6。 此外,新的插件将支持包含 HDP 包的镜像。

新的 HDP 插件将支持 Ambari 支持的所有服务。 此外,新的插件将支持 NameNode 和 ResourceManager 的高可用性。 如果选择了我们的流程,客户端将安装在所有节点上。 例如,如果选择了 Oozie,则 Oozie 客户端将安装在所有节点上。

插件将支持以下服务

Service

流程

Ambari

Ambari

Falcon

Falcon Server

Flume

Flume

HBase

HBase Master

HBase RegionServer

HDFS

NameNode

DataNode

SecondaryNameNode

JournalNode

Hive

Hive Metastore

HiveServer

Kafka

Kafka Broker

Knox

Knox Gateway

Oozie

Oozie

Ranger

Ranger Admin

Ranger Usersync

Slider

Slider

Spark

Spark History Server

Sqoop

Sqoop

Storm

DRPC Server

Nimbus

Storm UI Server

Supervisor

YARN

YARN Timeline Server

MapReduce History Server

NodeManager

ResourceManager

ZooKeeper

ZooKeeper

替代方案

在旧插件中添加对 HDP 2.2 的支持,但如果没有 Ambari Blueprints,这将非常困难。

数据模型影响

REST API 影响

其他最终用户影响

部署者影响

开发者影响

Sahara-image-elements impact

需要添加用于构建预安装 Ambari 包的镜像的元素。 为了安装 HDP Stack,插件应使用包含 HDP 包的镜像。 还需要添加用于构建本地 HDP 镜像的元素。

Sahara-dashboard / Horizon 影响

实现

负责人

主要负责人

sreshetniak

其他贡献者

nkonovalov

工作项

  • 添加插件的基本实现 [3] [4]

  • 添加用于构建 Ambari 镜像的元素 [5]

  • 添加 EDP 支持 [6]

  • 添加其他服务支持 [7]

  • 添加伸缩支持 [8]

  • 添加高可用性支持 [9]

  • 添加用于构建 HDP 镜像的元素 [10]

依赖项

测试

  • 添加插件的单元测试

  • 添加场景测试和 sahara-ci 上的作业

文档影响

新的插件文档应添加到 Sahara 文档中。

参考资料

[1] https://cwiki.apache.org/confluence/display/AMBARI/Blueprints

[2] http://stackalytics.com/?module=sahara-group&release=all&company=hortonworks&metric=commits

[3] https://review.openstack.org/#/c/184292/

[4] https://review.openstack.org/#/c/185100/

[5] https://review.openstack.org/#/c/181732/

[6] https://review.openstack.org/#/c/194580/

[7] https://review.openstack.org/#/c/195726/

[8] https://review.openstack.org/#/c/193081/

[9] https://review.openstack.org/#/c/197551/

[10] https://review.openstack.org/#/c/200570/