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 用于打开防火墙的主要内容,如果未能解决你的问题,请参考以下文章

使用 Spark 配置 Apache Zeppelin

如何让 Zeppelin 在 EMR 集群上干净地重新启动?

在 apache zeppelin 中订购条形图值

是否可以通过 IAM 角色限制从 EMR (zeppelin) 访问 S3 数据?

如何设置 Zeppelin 以使用远程 EMR Yarn 集群

如何为 zeppelin 用户授予正确的权限