我正在尝试在我的mapR上发布redhat虚拟机。 它预装了mapR生态系统。 我通过yum安装elasticsearch。
我可以从vm里听:
[root@maprdemo elasticsearch]# curl -XGET 'localhost:8080/?pretty' { "name" : "QYCiQJi", "cluster_name" : "sdc-search", "cluster_uuid" : "bMSLPA3uR5WKbtwKP0Sl7g", "version" : { "number" : "5.0.1", "build_hash" : "080bb47", "build_date" : "2016-11-11T22:08:49.812Z", "build_snapshot" : false, "lucene_version" : "6.2.1" }, "tagline" : "You Know, for Search" }
…但不是从机器外面 我可以从虚拟机外部访问其它端口,比如HUE UI,所以我相信有一些防火墙的问题。
我没有定义iptables规则:
[root@maprdemo elasticsearch]# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
我注意到的东西debugging:
[root@maprdemo elasticsearch]# netstat -anp | grep 8080 tcp 0 0 :::18080 :::* LISTEN 16987/java tcp 0 0 ::ffff:127.0.0.1:8080 :::* LISTEN 31852/java //A Port im able to access from outside the machine fine [root@maprdemo elasticsearch]# netstat -anp | grep 8443 tcp 0 0 :::8443 :::* LISTEN 13569/java
检查netstat时,我可以在机器外部查看的端口(8443)看起来有点不同。
我只是不知道还有什么要debugging。 如果任何人能指出我的方向来解决这个问题,那将是非常好的。 我只是一个开发人员,我的networking知识是有限的。
你只用你使用的命令看到默认的iptablesfilter,所以它仍然有可能发挥作用。 看看在这个线程的措辞非常措辞的iptables选项(真的很快尝试'iptables -S',我相信应该显示你的一切): https : //unix.stackexchange.com/questions/205867/viewing-所有的iptables规则
如果不是iptables,有时selinux会导致恶作剧,所以在testing时禁用它可能是一个选项('setenforce 0')。 您可以使用“sestatus”validation当前状态。 要再次启用“setenforce 1”或重新启动将重新启用。
最后但并非最不重要的,当我input这个我意识到这可能是答案,validation什么IP服务实际上正在监听。 我不熟悉那个应用程序,但是一般来说,实际上你可以有一个服务只在本地连接上监听一个给定的端口,所以它可能只是你需要的configuration改变。 事实上,在重新读取您的post中,您发布的端口8080的netstat输出中的环回地址(127.0.0.1)的存在让我怀疑是否发生了这种情况。