要求安全传输功能,通过强制所有请求使用安全连接,提升了 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 群集,可以尝试以下步骤来还原群集功能:
- 从 Ambari 停止 HBase。
- 从 Ambari 停止 HDFS。
- 在 Ambari 中,导航到“HDFS”-->“配置”-->“高级”-->“fs.defaultFS”
- 将 wasb 更改为 wasbs,并保存它。
- 如果使用加速写入功能,则还需要将 hbase 配置下的“hbase.rootDir”从 wasb 更改为 wasbs。
- 重启所有必需的服务。
添加更多存储帐户
可通过多种选项添加启用更安全的传输存储帐户:
- 修改上一部分中的 Azure 资源管理器模板。
- 使用 Azure 门户 创建群集并指定链接的存储帐户。
- 使用脚本操作,将更多启用了安全传输的存储帐户添加到现有的 HDInsight 群集。 有关详细信息,请参阅 将更多存储帐户添加到 HDInsight。
后续步骤
- 使用 Azure 存储(WASB)而不是 Apache Hadoop HDFS 作为默认数据存储
- 有关 HDInsight 如何使用 Azure 存储的信息,请参阅 将 Azure 存储与 HDInsight 配合使用。
- 有关如何将数据上传到 HDInsight 的信息,请参阅 将数据上传到 HDInsight。