在 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 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 添加更多存储帐户

后续步骤