你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

设置包含自定义 Ambari DB 的 HDInsight 群集

Apache Ambari 简化了 Apache Hadoop 群集的管理和监视。 Ambari 提供易于使用的 Web UI 和 REST API。 Ambari 包括在 HDInsight 群集中,用于监视群集和进行配置更改。

在一般的群集创建过程中,如其他文章(例如在 HDInsight 中设置群集)中所述,Ambari 将部署在由 HDInsight 管理的、不可供用户访问的 S0 Azure SQL 数据库中。

使用自定义 Ambari DB 功能,可以在由你管理的外部数据库中部署新群集和设置 Ambari。 部署是使用 Azure 资源管理器模板完成的。 此功能提供以下优势:

  • 自定义 - 可以选择数据库的大小和处理容量。 如果大型群集需要处理密集型工作负荷,规格较低的 Ambari 数据库可能会成为管理操作的瓶颈。
  • 灵活性 - 可根据要求按需缩放数据库。
  • 控制 - 可以根据组织的要求管理数据库的备份和安全性。

本文的余下内容将讨论以下几点:

  • 使用自定义 Ambari DB 功能的要求
  • 使用自己的外部数据库为 Apache Ambari 预配 HDInsight 群集所要执行的步骤

自定义 Ambari DB 的要求

可以使用所有群集类型和版本来部署自定义的 Ambari DB。 多个群集不能使用同一个 Ambari DB。

自定义 Ambari DB 具有以下附加要求:

  • 数据库名称不能包含连字符或空格
  • 必须有现有的 Azure SQL DB 服务器和数据库。
  • 为 Ambari 设置提供的数据库必须是空的。 没有任何表采用默认的 dbo 架构。
  • 用于连接到数据库的用户应具有对数据库的 标准版LECT、CREATE TABLE、IN标准版RT、UPDATE、DELETE、ALTER ON SCHEMA 和 REFERENCES ON SCHEMA 权限。
GRANT CREATE TABLE TO newuser;
GRANT INSERT TO newuser;
GRANT SELECT TO newuser;
GRANT UPDATE TO newuser;
GRANT DELETE TO newuser;
GRANT ALTER ON SCHEMA::dbo TO newuser;
GRANT REFERENCES ON SCHEMA::dbo TO newuser;
  • 在托管 Ambari 的服务器上启用“允许访问 Azure 服务”选项。
  • 需要在防火墙规则中允许来自 HDInsight 服务的管理 IP 地址。 有关必须添加到服务器级别防火墙规则的 IP 地址列表,请参阅 HDInsight 管理 IP 地址

在外部数据库中托管 Apache Ambari DB 时,请记住以下几点:

  • 你需要负责支付用于保存 Ambari 的 Azure SQL DB 的额外费用。
  • 定期备份自定义 Ambari DB。 Azure SQL 数据库会自动生成备份,但备份保留时间范围有所不同。 有关详细信息,请参阅了解 SQL 数据库自动备份
  • 在 HDInsight 群集达到“正在运行”状态后,请勿更改自定义 Ambari DB 密码。 不支持此操作。

部署包含自定义 Ambari DB 的群集

若要创建使用你自己的外部 Ambari 数据库的 HDInsight 群集,请使用自定义 Ambari DB 快速入门模板

编辑 azuredeploy.parameters.json 中的参数,指定有关新群集以及用于保存 Ambari 的数据库的信息。

可以使用 Azure CLI 开始部署。 请将 <RESOURCEGROUPNAME> 替换为要在其中部署群集的资源组。

az deployment group create --name HDInsightAmbariDBDeployment \
    --resource-group <RESOURCEGROUPNAME> \
    --template-file azuredeploy.json \
    --parameters azuredeploy.parameters.json

警告

请对 HDInsight 群集使用以下建议的 SQL DB 和头节点 VM。 请勿将默认的 Ambari DB (S0) 用于任何生产环境。

数据库和头节点调整大小

下表提供了有关基于 HDInsight 群集大小选择 Azure SQL DB 层的指南。

工作器节点数 必需的 DB 层 必需的头节点 VM
<=4 S0 4 核/28 GB RAM 或更高配置
>4 && <=8 S1 4 核/28 GB RAM 或更高配置
>8 && <=16 S2 4 核/28 GB RAM 或更高配置
>16 && <=32 S3 8 核/56 GB RAM 或更高配置
>32 && <=64 S4 8 核/56 GB RAM 或更高配置
>64 && <=128 P2 16 核/112 GB RAM 或更高配置
>128 联系支持人员 联系支持人员

后续步骤