Mysql 无法为EMR群集提供弹性IP

Mysql 无法为EMR群集提供弹性IP,mysql,amazon-web-services,amazon-emr,amazon-data-pipeline,Mysql,Amazon Web Services,Amazon Emr,Amazon Data Pipeline,我每天运行一次数据管道,管道会创建一个临时EMR来运行活动。EMR连接到Mysql数据库,主节点和核心节点的IP需要在数据库中白名单 是否可以将静态或弹性IP分配给EMR上的节点,这样我就不必在每次创建EMR时手动将节点IP列入白名单 提前感谢。我也遇到了同样的情况,并编写了一个代码,用于将预先获得的EIP附加到主实例。但是如果你想连接AWS RDS,那么你可以简单地允许EMR的安全组是最好的 下面是我用来修复主实例(而不是其他实例)的EIP的内容。对于具有群集模式的spark应用程序,主节点具

我每天运行一次数据管道,管道会创建一个临时EMR来运行活动。EMR连接到Mysql数据库,主节点和核心节点的IP需要在数据库中白名单

是否可以将静态或弹性IP分配给EMR上的节点,这样我就不必在每次创建EMR时手动将节点IP列入白名单


提前感谢。

我也遇到了同样的情况,并编写了一个代码,用于将预先获得的EIP附加到主实例。但是如果你想连接AWS RDS,那么你可以简单地允许EMR的安全组是最好的

下面是我用来修复主实例(而不是其他实例)的EIP的内容。对于具有群集模式的spark应用程序,主节点具有spark的驱动程序会话,并且只需要将其作为白名单

#!/bin/bash
BOOL=`cat /emr/instance-controller/lib/info/instance.json | jq .isMaster`

if [ $BOOL == "true" ]
then
    ID=`/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id`

    aws ec2 associate-address --instance-id $ID --public-ip $1
fi
这个脚本接收到一个参数,这个参数就是您想要的EIP,我将此代码作为EMR的引导操作。请注意,EMR应具有关联地址的执行权限