Apache Zeppelin + EMR(Spark) Cluster 用于打开防火墙
Posted
技术标签:
【中文标题】Apache Zeppelin + EMR(Spark) Cluster 用于打开防火墙【英文标题】:Apache Zeppelin + EMR(Spark) Cluster for opening the firewall 【发布时间】:2015-10-09 14:59:36 【问题描述】:我尝试将 apache zeppelin 与 EMR(Spark) Cluster 一起使用。我对使用带有开放防火墙的 apache zeppelin + EMR 集群有一些要求。在工作场所,有被防火墙阻止的静态ip。如你所知, 每次使用 aws cli 命令创建 EMR 集群时,都应更改其 IP 和 DNS 名称。那么您知道如何使用固定 IP 将 apache zeppelin 服务器(EC2 实例)与 EMR 集群连接吗? 提前致谢。
【问题讨论】:
【参考方案1】:我不完全理解你的问题。让我尝试回答这部分问题:“那么你知道如何使用固定IP将apache zeppelin服务器(EC2实例)连接到EMR集群吗?”
这应该可以通过使用:http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-cli-commands.html#elastic-ip 将弹性 ip 与 EMR 集群的主节点连接起来。
你也可以试试qubole的托管集群,支持spark+zeppelin。 Qubole 通过为您提供访问 zeppelin 笔记本的固定端点来解决此问题。
免责声明:我为 Qubole 工作
【讨论】:
【参考方案2】:我终于成功使用socat解决了这个问题或需求。
socat TCP-LISTEN:8080,fork TCP:$EMR_CLUSTER_NAME:8080
socat TCP-LISTEN:8081,fork TCP:$EMR_CLUSTER_NAME:8081
还要检查脚本(install-apache-zeppelin-on-amazon-emr.sh),我修改了一些代码并使用 socat 而不是使用 ssh 隧道。
【讨论】:
以上是关于Apache Zeppelin + EMR(Spark) Cluster 用于打开防火墙的主要内容,如果未能解决你的问题,请参考以下文章
如何让 Zeppelin 在 EMR 集群上干净地重新启动?
是否可以通过 IAM 角色限制从 EMR (zeppelin) 访问 S3 数据?