我尝试将AWS用作可扩展的分析工具。我使用apache zeppelin作为Spark群集的交互式shell并尝试使用wisp进行绘图。这引起了一个问题,因为wisp中的绘图方法是基于我认为的码头服务器启动Web应用程序。这在我的本地计算机上运行良好,但在AWS上它不起作用,因为它获取私有IP地址而不是公共IP地址。
在wisp中,它使用java.net.InetAddress.getLocalHost.getCanonicalHostName
检索机器的IP地址。这始终返回专用FQDN地址。我怎样才能让java函数返回AWS提供的公共IP地址或FQDN,而不是每当我启动集群并重建时都会硬编码?
我尝试更改/ etc / hosts和/ etc / hostname但两者都没有效果。我真的不知道java.net.InetAddress.getLocalHost.getCanonicalHostName
的位置
正在从中得到它的地址。
非常感谢任何帮助或建议。
迪安
答案 0 :(得分:0)
使用sudo ufw disable
关闭内部防火墙(无论如何,在ubuntu vm上,查找替代命令以了解您的vm风格)。
接下来,转到您帐户的AWS EC2管理页面,然后点击您实例的安全组。
在安全组页面上,编辑入站规则并添加自定义tcp规则。
在端口下,输入' 1 - 65536'并在源头放入' 0.0.0.0/0'。请注意,您刚刚完成的操作是打开实例上的所有端口,以便来自所有地方的所有传入流量。你刚刚在互联网上放了一个欢迎垫。我不建议长期这样做,这是非常愚蠢的。它起到了我的原则证明的作用,这就是我的目标。我现在正在寻找使其安全的方法。
感谢大家的克制,不要嘲笑我是个白痴。