當AnalyticDB MySQL企業版及湖倉版Spark應用需要訪問自建資料庫、其他雲廠商資料服務等公網環境時,您可以參考本文進行配置。
背景資訊
公網NAT Gateway可以提供公網地址轉換功能,您可以為Virtual Private Cloud建立公網NAT Gateway服務,使VPC(Virtual Private Cloud)內的執行個體能夠訪問互連網和提供互連網訪問服務,更多資訊請參見什麼是公網NAT Gateway。
注意事項
若自建資料庫或其他雲廠商資料服務存在網路安全設定(例如防火牆、IP白名單等),您需要手動將SNAT條目的公網IP地址添加到網路安全設定中,或者將交換器IP網段添加至網路安全設定中,Spark應用才能成功訪問資料來源。
操作步驟
建立公網NAT Gateway,具體操作請參見建立公網NAT Gateway。
公網NAT Gateway需要與AnalyticDB MySQL執行個體為同一個地區。
綁定Elastic IP Address(EIP),具體操作請參見綁定EIP。
建立SNAT條目,具體操作請參見建立SNAT條目。
推薦按交換器粒度建立SNAT條目,指定任意交換器即可。
在Spark應用中,配置下述關鍵參數,樣本如下。
{ "comments": ["-- Here is just an example of SparkPi. Modify the content and run your spark program."], "args": ["1000"], "file": "local:///tmp/spark-examples.jar", "name": "SparkPi", "className": "org.apache.spark.examples.SparkPi", "conf": { "spark.driver.resourceSpec": "small", "spark.executor.instances": 1, "spark.executor.resourceSpec": "small", "spark.adb.eni.enabled": "true", "spark.adb.eni.vswitchId": "vsw-bp1ghmwrkeaw3xvnd****", "spark.adb.eni.securityGroupId": "sg-bp1airvjxl5vpr2****" } }
關鍵參數說明:
關鍵參數
說明
spark.adb.eni.enabled
通過外表訪問其他外部資料源,開啟ENI訪問開關,需配置為
true
。spark.adb.eni.vswitchId
彈性網卡的交換器ID,需配置為SNAT條目中指定的交換器ID。
spark.adb.eni.securityGroupId
彈性網卡的安全性群組ID,需配置公網NAT Gateway所屬VPC中的安全性群組ID。
更多關於Spark應用的資訊,請參見Spark應用開發介紹。