При установке Cloudera Manager не удалось получить пульс от агента - для добавления новых хостов в кластер
Я пытаюсь установить на Ubuntu 12.04.1 LTS менеджер cloudera, используя стандартную версию, и когда я хочу добавить новый хост, я получаю следующую ошибку:
Installation failed.Failed to receive heartbeat from agent.
Ensure that the host's hostname is configured properly.
Ensure that port 7182 is accesible on the Cloudera Manager server (check firewall rules).
Ensure that ports 9000 an 9001 are free on the host being added.
Check agent logs in /var/log/cloudera-scm-agent/ on the host being added (some of the logs can be found in the installation details).
в /etc/hosts
файл у меня настроен как:
127.0.0.1 localhost
127.0.0.1 hadoop-ubuntu
192.168.5.xyz hadoop-ubuntu.dana.local hadoop-ubuntu
192.168.3.xyz ro-m81.dana.local ro-m81
192.168.3.abc ro-m41.dana.local ro-m41
Следующие строки желательны для хостов с поддержкой IPv6
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
The **/var/log/cloudera-scm-agent/cloudera-scm-agent.log** shows the next error::
[09/Oct/2013 16:04:23 +0000] 4532 MainThread agent ERROR Heartbeating to 192.168.5.xyz:7182 failed.
Traceback (most recent call last):
File "/usr/lib64/cmf/agent/src/cmf/agent.py", line 747, in send_heartbeat
response = self.requestor.request('heartbeat', dict(request=heartbeat))
File "/usr/lib64/cmf/agent/build/env/lib/python2.6/site-packages/avro-1.6.3-py2.6.egg/avro/ipc.py", line 145, in request
return self.issue_request(call_request, message_name, request_datum)
File "/usr/lib64/cmf/agent/build/env/lib/python2.6/site-packages/avro-1.6.3-py2.6.egg/avro/ipc.py", line 256, in issue_request
call_response = self.transceiver.transceive(call_request)
File "/usr/lib64/cmf/agent/build/env/lib/python2.6/site-packages/avro-1.6.3-py2.6.egg/avro/ipc.py", line 485, in transceive
result = self.read_framed_message()
File "/usr/lib64/cmf/agent/build/env/lib/python2.6/site-packages/avro-1.6.3-py2.6.egg/avro/ipc.py", line 489, in read_framed_message
response = self.conn.getresponse()
File "/usr/lib64/python2.6/httplib.py", line 990, in getresponse
response.begin()
File "/usr/lib64/python2.6/httplib.py", line 391, in begin
version, status, reason = self._read_status()
File "/usr/lib64/python2.6/httplib.py", line 349, in _read_status
line = self.fp.readline()
File "/usr/lib64/python2.6/socket.py", line 433, in readline
data = recv(1)
error: [Errno 104] Connection reset by peer
Пожалуйста, помогите мне выяснить, почему я получаю эту ошибку или чего мне не хватает.
4 ответа
Столкнулся с той же проблемой, потом нашел решение.
Я использовал две машины, одну для master
и еще один для slave
мастер-машина, имеющая cloudera-scm-server
,
Я настроил /etc/hosts
в обеих машинах, наконец, ошибка ушла.
Ip главной машины: 192.168.1.10
In Master Machine /etc/hosts
127.0.0.1 localhost
192.168.1.10 <hostname>
Ip ведомой машины: 192.168.1.8
In Slave Machine /etc/hosts
127.0.0.1 localhost
192.168.1.8 <hostname>
Я была такая же проблема. Это то, что помогло мне.
введите ifconfig и найдите свой IP-адрес. не 127.0.0.1.
введите $hostname и найдите ваше имя хоста
отредактируйте файл / etc / hosts
добавьте туда запись для вашего ipaddress. что-то вроде
192.168.8.xxx hostname.test.com hostname
перезапустите сервис Cloudera. Перейдите на sonic.test.com:7180 и попробуйте снова. Он должен работать. Даже если это не сработало, зайдите на http://hostname.test.com:7180/cmf/home чтобы проверить состояние хостов.
Оказалось, что, хотя я получал ошибку сердцебиения, хост фактически работал и работал.
После проверки файлов хоста на всех узлах кластера убедитесь, что вы открыли порты 7180 и 7182 в установщике и порт 9000 на узлах кластера (кроме установщика).
Я получал сообщение "Ошибка инспектора. Возникла исключительная ситуация ввода-вывода" из установки Cloudera, пока я не просмотрел журналы программы установки (сервера) и не увидел, что клиенты не могут обмениваться данными через порт 9000.
У меня была такая же проблема с тобой, и я наконец исправил ее.
Проблема меня была в версии агента cloudera-scm-agent
отличается от сервера cloudera-scm-server
Вы могли бы использовать dpkg
или же yum
проверить себя.
- Сначала проверьте состояние агента Cloudera scm, независимо от того, запущен он или нет, используя "sudo service cloudera-scm-agent status"
2. проверьте файлы журнала агента в этом каталоге в /var/log/cloudera-scm-agent/
Ресурс разрешения: http://commandstech.com/what-is-heartbeat-in-hadoop-how-to-resolve-heartbeat-lost-in-cloudera-and-hortonworks/