Azure HDInsight 中具有安全传输存储帐户的 Apache Hadoop 群集

要求安全传输功能,通过强制所有请求使用安全连接,提升了 Azure 存储帐户的安全性。 只有 HDInsight 群集 3.6 或更高版本支持此功能和 wasbs 方案。

重要

在创建群集后启用安全存储传输可能会导致使用存储帐户时出错,因此不建议这样做。 最好使用已启用安全传输的存储帐户创建新群集。

存储帐户

Azure 门户

默认情况下,在 Azure 门户中创建存储帐户时,会启用安全传输所需的属性。

若要使用 Azure 门户更新现有存储帐户,请参阅 “要求使用 Azure 门户进行安全传输”。

PowerShell

对于 PowerShell cmdlet New-AzStorageAccount,请确保参数 -EnableHttpsTrafficOnly 设置为 1

若要使用 PowerShell 更新现有存储帐户,请参阅 需要使用 PowerShell 进行安全传输

Azure CLI(Azure 命令行界面)

对于 Azure CLI 命令 az storage account create,请确保参数 --https-only 设置为 true

若要使用 Azure CLI 更新现有存储帐户,请参阅 需要使用 Azure CLI 进行安全传输

安全传输错误

如果在创建 HDInsight 群集后意外启用了“需要安全传输”选项,则可能会看到错误消息,如下所示:

com.microsoft.azure.storage.StorageException: The account being accessed does not support http.

仅对于 HBase 群集,可以尝试以下步骤来还原群集功能:

  1. 从 Ambari 停止 HBase。
  2. 从 Ambari 停止 HDFS。
  3. 在 Ambari 中,导航到“HDFS”-->“配置”-->“高级”-->“fs.defaultFS”
  4. 将 wasb 更改为 wasbs,并保存它。
  5. 如果使用加速写入功能,则还需要将 hbase 配置下的“hbase.rootDir”从 wasb 更改为 wasbs。
  6. 重启所有必需的服务。

添加更多存储帐户

可通过多种选项添加启用更安全的传输存储帐户:

  • 修改上一部分中的 Azure 资源管理器模板。
  • 使用 Azure 门户 创建群集并指定链接的存储帐户。
  • 使用脚本操作,将更多启用了安全传输的存储帐户添加到现有的 HDInsight 群集。 有关详细信息,请参阅 将更多存储帐户添加到 HDInsight

后续步骤