Что такое источник и решение для ошибки «port 9000: Connection reject»?

1

Я заблуждаюсь с ошибкой port 9000: Connection refused .

Я работаю над Ubuntu 14.04 и столкнулся с проблемой при попытке запустить Hadoop в нераспределенном режиме, как один процесс Java (сравните документация Hadoop 2.4.1 ). Я пробовал следовать рекомендациям Hadoop Wiki по этой ошибке ( hadoop / ConnectionRefused ), но я не получил (я новичок% пользователя co_de% и затруднителю даже 100% понять приведенные предложения). Я отправил вопрос о стековом потоке , из которого я пришел к выводу, что у меня есть некоторая общая проблема с Ubuntu .

telnet :

[email protected]:~$ telnet localhost 9000
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

nmap :

[email protected]:~$ nmap localhost

Starting Nmap 6.40 ( http://nmap.org ) at 2015-04-27 11:09 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00022s latency).
Not shown: 995 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
631/tcp open  ipp
902/tcp open  iss-realsecure

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds

Конфигурация Netcat :

Я попытался использовать следующую команду для принудительного открытия порта 9000:

nc -k -l 9000

, но это не сработало (я все еще не смог выполнить описанную выше одиночную операцию и связал ее выше).

Судя по результатам моих исследований в Google, я вижу, что проблема довольно распространена и представляет собой огромную борьбу, особенно для тех, кто плохо разбирается в «проблемах, связанных с администрацией». Поскольку я принадлежу к этим, я любезно прошу ответить на следующие вопросы:

  • Q1 : Какова причина такой проблемы вообще? (Некоторые для непрофессионала вводные слова / ссылки об основных проблемах, связанных с портами / соединениями и т. Д., Были бы очень приветливы).

  • Q2 : как справиться с этой проблемой?

Обновление.

port 9000 Connection

ничего не возвращает.     

задан Marta Karas 27.04.2015 в 11:20
источник

3 ответа

0

В конце концов мне удалось сделать мою службу прослушивать порт 9000, добавив в файл /etc/ssh/sshd_config следующую строку:

Port 9000

Я последовал за этим сервером / openssh-сервером (в нем также содержатся некоторые важные замечания о создании копию исходного файла, перезапуск приложения sshd server и т. д.)

После этого я вижу:

telnet :

[email protected]:~$ telnet localhost 9000
Trying 127.0.0.1...
Connected to localhost.

nmap :

[email protected]:~$ nmap localhost

Starting Nmap 6.40 ( http://nmap.org ) at 2015-05-01 18:28 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00023s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
631/tcp  open  ipp
902/tcp  open  iss-realsecure
9000/tcp open  cslistener

Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

netstat :

[email protected]:~$ sudo netstat -nlp | grep :9000
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      16397/sshd      
tcp6       0      0 :::9000                 :::*                    LISTEN      16397/sshd 
    
ответ дан Marta Karas 01.05.2015 в 18:30
источник
1

TL; DR сначала более подробная информация:

«Отказано в подключении» - это ошибка, возникающая при попытке подключения к службе на компьютере или сервере (или локально на вашем собственном компьютере), когда указанная служба либо не прослушивает указанный TCP-порт (неправильный порт или служба не запускается) или когда брандмауэр явно отклоняет соединение вместо игнорирования запроса (не очень частое поведение).

И теперь немного подробнее:

Это может произойти только с TCP (службы UDP без сеанса), и эта ошибка действительно очень распространена для администраторов системы.

Когда клиентское приложение подключается к службе TCP, оно отправляет первый пакет с установленным флагом SYN. Если мы упростим, есть два возможных ответа на этот вопрос:

  • Сервер на самом деле прослушивает требуемый порт TCP и отвечает с помощью пакета SYN-ACK для подтверждения пакета SYN, после чего клиенты разрывают пакет ACK, чтобы «подтвердить» сервер, на который был получен SYN-ACK. Это тот момент, когда вы установили сеанс TCP, и когда вы можете начать «разговаривать» с сервером.
  • Сервер получает ваш SYN-пакет, но не прослушивает запрошенный порт. Соединение отклоняется пакетом с установленным флагом RST (сброс). Это 99% времени, когда вы получили печально известное «сообщение отказалось».

Как это исправить?

Ну, есть несколько вещей, которые вы можете проверить: запрашиваете ли вы правый порт на стороне клиента? Началось ли ваше обслуживание? Он прослушивает правый порт?

Эти три вопроса помогут вам решить вашу проблему.

Быстрая общая команда, которая будет введена на сервере (машина, которая запускает службу)

Проверка того, что служба прослушивает ожидаемый порт

ss -nat | grep <enter port number here> | grep LISTEN

Некоторые люди в старых системах также могут использовать этот

netstat -an | grep <enter port number here> | grep LISTEN

Если вы ничего не видите здесь, как ваш номер порта, ваша служба либо не запускается, либо не прослушивается на указанном вами номере порта.

Проверка работы службы

service <service name> status
    
ответ дан Marc-Olivier Barre 30.04.2015 в 20:32
1

Попробуйте отключить iptables:

sudo service iptables stop && sudo service ip6tables stop

Затем перезапустите hasoop. Если это помогло вам создать надлежащую конфигурацию для вашего брандмауэра.

    
ответ дан UNIm95 03.05.2015 в 23:38