如何在 HDInsight 群集中编写用户帐户脚本

How to script User accounts in HDInsight clusters

我正在自动创建 HDInsight 集群。我可以创建集群。但是,该模板会创建 ADMIN 帐户。我们正在使用 Ambari 手动创建用户帐户,但希望将其自动化。我想我可以得到一个脚本作为模板的一部分。

  1. 我需要一个脚本来以 Ambari 的方式创建用户帐户。我不知道从哪里开始。
  2. 创建群组也会有所帮助。

遗憾的是,您无法使用脚本操作在 HDInsight 群集中创建用户帐户,并且 Azure HDInsight 中的 Ambari 不支持创建本地用户并使用这些用户登录。

  • 您可以添加仅在 HDInsight 企业安全包中可用的用户帐户。

  • 您可以使用 LDAP 用户登录加入域的 HDInsight 集群中的 Ambari UI。

具有企业安全包 (ESP) 的 HDInsight 群集 可以对 Azure Active Directory (Azure AD) 用户使用强身份验证,以及使用基于角色的访问控制 (RBAC)政策。在将用户和组添加到 Azure AD 时,您可以同步需要访问您的集群的用户。

参考: Synchronize Azure Active Directory users to an HDInsight cluster and also you may checkout similar question 在 Azure HDInsight MSDN 论坛中解决。

几乎所有 Amabri 操作都可以使用 Ambari 的 Rest 接口编写脚本。看: How to use RestSharp with Ambari Swagger

我选择使用由集群触发的 Azure Functions 来实现 RestSharp 接口 创建订阅事件。但是,这些操作也可以在创建期间或之后使用脚本操作定义的 Curl 脚本来实现。 Ambari Rest 界面很挑剔,需要某些 headers 存在或不存在。 Fiddler可以用来监听Ambari web客户端来判断正确的headers。有一个 swagger.json 文件可从集群下载。这不是一个很好的文件,但足以入门。

我把我的客户 swagger.json 放在 github 上: https://github.com/USStateDept/Azure-HDInsight-Ambari-RestClient