首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法拥有EMR集群的弹性IP

问无法拥有EMR集群的弹性IP
EN

Stack Overflow用户
提问于 2019-10-03 15:12:29
回答 1查看 838关注 0票数 1

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

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

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-10-03 20:41:01

我也是这样,做了一个代码,将预先获取的弹性公网EIP附加到主实例上。但是,如果您想连接AWS RDS,那么您可以简单地允许EMR的安全组是最好的。

下面是我用来修复主实例的弹性公网is,而不是其他实例的弹性is。在使用集群模式的spark应用程序的情况下,主节点拥有spark的驱动程序会话,并且只有该驱动程序会话需要成为白名单。

代码语言:javascript
复制
#!/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的引导操作。请注意,电子病历应具有associate-address的执行权限。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58214051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档