Я пытаюсь подключиться к порту 8020 на виртуальной машине CentOS, но получаю telnet: подключиться к адресу < public_ip>: соединение отклонено
при запуске 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>
Вы сказали ему связаться с местным хозяином
. Это плохая идея, если вы хотите, чтобы он был доступен с других машин.