当AnalyticDB MySQL湖仓版(3.0)Spark应用需要访问自建数据库、其他云厂商数据服务等公网环境时,您可以参考本文进行配置。
背景信息
公网NAT网关可以提供公网地址转换功能,您可以为专有网络VPC创建公网NAT网关服务,使VPC(Virtual Private Cloud)内的实例能够访问互联网和提供互联网访问服务,更多信息请参见什么是公网NAT网关。
注意事项
若自建数据库或其他云厂商数据服务存在网络安全设置(例如防火墙、IP白名单等),您需要手动将SNAT条目的公网IP地址添加到网络安全设置中,或者将交换机IP网段添加至网络安全设置中,Spark应用才能成功访问数据源。
操作步骤
创建公网NAT网关,具体操作请参见创建公网NAT网关。
公网NAT网关需要与AnalyticDB MySQL实例为同一个地域。
绑定弹性公网IP(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网关所属VPC中的安全组ID。
更多关于Spark应用的信息,请参见Spark应用开发介绍。