Я пытаюсь подключиться к порту 8020 на виртуальной машине CentOS, но получаю telnet: connect to address <public_ip>: Connection refused
когда я бегу telnet public_ip 8020
. Когда я бегу netstat -anp | grep 8020
я получил
tcp 0 0 127.0.0.1:8020 0.0.0.0:* LISTEN 18908/java
tcp 0 0 127.0.0.1:38750 127.0.0.1:8020 TIME_WAIT -
У меня прослушиваются другие порты, telnet public_ip 50070
позволяет мне подключиться. Вывод netstat по этому поводу
tcp 0 0 0.0.0.0:50070 0.0.0.0:* LISTEN 18908/java
Когда я выполняю telnet localhost 8020
я получил
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Нужно ли мне что-то делать, чтобы изменить 127.0.0.1 в netstat для 8020 на 0.0.0.0, как для успешного подключения к 50070?
Выход iptables -L -v
является
Chain INPUT (policy ACCEPT 84481 packets, 11M bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 54190 packets, 6770K bytes)
pkts bytes target prot opt in out source destination
Это служба hadoop, конфигурация, которая сообщает ей, что она должна прослушивать порт 8020, находится в core-site.xml.
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020</value>
</property>
Вы сказали привязать его к localhost
. Это плохая идея, если вы хотите, чтобы он был доступен с других машин.