在 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 叢集,您可以嘗試下列步驟來還原叢集功能:
- 停止 Ambari 的 HBase。
- 從 Ambari 停止 HDFS。
- 在 Ambari 中,瀏覽至 [HDFS] --> [設定] --> [進階] --> [fs.defaultFS]
- 將 wasb 變更為 wasbs 後儲存。
- 如果您使用加速寫入功能,hbase 組態下的 'hbase.rootDir' 也需要從 wasb 變更為 wasb。
- 重新啟動所有必要服務。
新增更多記憶體帳戶
有數個選項可新增已啟用更安全的傳輸記憶體帳戶:
- 在最後一節中修改 Azure Resource Manager 範本。
- 使用 Azure 入口網站建立叢集並指定連結的儲存體帳戶。
- 使用腳本動作將已啟用更安全的記憶體帳戶新增至現有的 HDInsight 叢集。 如需詳細資訊,請參閱 將更多記憶體帳戶新增至 HDInsight。
下一步
- 如何使用「Azure 儲存體」(WASB) (而非 Apache Hadoop HDFS)作為預設資料存放區
- 如需有關 HDInsight 如何使用 Azure 儲存體的資訊,請參閱 搭配 HDInsight 使用 Azure 儲存體。
- 如需關於如何上傳資料到 HDInsight 的資訊,請參閱將資料上傳到 HDInsight。