問題
你試圖訪問您的EC2實例的元數據服務器但不能連接。
導致
這是預定的,違約行為。它是功能設計。
解決方案
使用init腳本應用定製iptables磚集群配置使訪問元數據服務器。
- 定義一個位置來存儲init腳本。如果你不已經有一個文件夾為init腳本時,您必須創建一個。例如,使用dbfs: /磚/ < init-script-folder >:
% scala dbutils.fs.mkdirs (“dbfs: /磚/ < init-script-folder > /”)
- 創建init腳本:
% scala dbutils.fs.put (“dbfs: /磚/ < init-script-folder > /iptables.sh”、“”“# !/bin/bash sudo iptables -輸入- s 169.254.169.254 - j接受sudo iptables -輸出- d 169.254.169.254 - j”“接受”,真的)
- 驗證init腳本創建集群:
% scala顯示器(dbutils.fs.ls(“dbfs: /磚/ < init-script-folder > /iptables.sh"))
- 配置作為一個init腳本集群級init腳本在你的集群。
- 重新啟動集群。
集群重啟後,init腳本生效。你現在可以訪問元數據服務器的EC2實例。