Я намагався змусити Hadoop працювати в автономному режимі на моєму MBP (ОС 10.9.5), але я постійно отримував помилки "відмовився від з'єднання". Я виявив, що telnet localhost 9000дає ту саму помилку, яку мені сказали спробувати як діагностичну. Те саме відбувається, якщо я спробую 127.0.0.1замість цього localhost, або якщо я спробую ftpзамість цього telnet. Однак ping localhostі ssh localhostдобре працює.
Я деякий час тому заплутався з налаштуванням сервера Apache, і я переживаю, що, можливо, щось зламалося. У якийсь момент я, очевидно, додав рядок:
127.0.0.1 test.local
до /etc/hosts. Я також змінив, httpd.confщоб використовувати папку ~/testяк свою DocumentRoot, а також змінив extra/httpd-vhosts.conf.
Я відновив оригінальні httpd*файли з /etc/apache2/originalпапки, і я відновив /etc/hostsфайл у початковому стані. apachectl configtestдає мені:
httpd: Could not reliably determine the server's fully qualified domain name, using <username>.local for ServerName
Syntax OK
То що мені робити? Як я можу змусити комп’ютер припинити відмову від з'єднання? Я мало знаю про мережу чи сервери.
Для повноти ось початкова помилка telnet:
$ ssh localhost
$ telnet localhost 9000
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host
і мій /etc/hostsфайл:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
і помилка Hadoop, яка використовує ту саму мову "відмовлено від з'єднання", що і telnet :
java.net.ConnectException: Call From <username>.local/<ip> to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
Перейшовши за посиланням у помилці ( http://wiki.apache.org/hadoop/ConnectionRefused ), я прочитав таке:
Якщо програма або кластер не працюють, і це повідомлення з’являється в журналі, то це більш серйозно.
- Перевірте правильність імені хоста, яким користувач користується
- Перевірте правильність IP-адреси, з якою клієнт намагається поговорити, щоб ім'я хоста було правильним.
- Переконайтеся, що адреса призначення у винятку не є 0,0.0.0 - це означає, що ви фактично не налаштували клієнта з реальною адресою для цієї послуги, а натомість він підбирає властивість на сервері, яка вимагає її слухати кожен порт для з'єднань.
- Перевірте, чи немає запису для вашого імені хоста, відображеного на 127.0.0.1 або 127.0.1.1 в / etc / hosts (Ubuntu для цього відомий)
- Перевірте порт, на якому клієнт намагається поговорити, використовуючи сірники, на яких сервер пропонує послугу.
- На сервері спробуйте a,
telnet localhost <port>щоб побачити, чи порт там відкритий.- На клієнті спробуйте
telnet <server> <port>перевірити, чи доступ до порту доступний віддалено.Жодна з цих проблем не є Hadoop, це проблеми з конфігурацією хоста, мережі та брандмауера. Оскільки це ваш кластер, тільки ви можете дізнатися та відстежити проблему.
і справді я не вдається на другому етапі, який, мабуть, повинен працювати; звідси це питання.