Flume agent выбрасывает java.net.ConnectException: соединение отказано
Некоторое время я использовал flume, у меня есть агент и коллектор, работающие на одной машине.
конфигурация
agent: exec("/usr/bin/tail -n +0 -F /path/to/file") | agentE2ESink("hostname", 35855)
collector: collectorSource(35855) | collector(10000) { collectorSink("/hdfs/path/to/sink","name") }
Возникающие проблемы в агентском узле:
2012-06-04 19:13:33,625 [naive file wal consumer-27] INFO debug.InsistentOpenDecorator: open attempt 0 failed, backoff (1000ms): Failed to open thrift event sink to hostname:35855 : java.net.ConnectException: Connection refused
2012-06-04 19:13:34,625 [logicalNode hostname-19] ERROR connector.DirectDriver: Expected ACTIVE but timed out in state OPENING
2012-06-04 19:13:34,632 [naive file wal consumer-27] INFO debug.InsistentOpenDecorator: open attempt 1 failed, backoff (2000ms): Failed to open thrift event sink to hostname:35855 : java.net.ConnectException: Connection refused
2012-06-04 19:13:36,635 [naive file wal consumer-27] INFO debug.InsistentOpenDecorator: open attempt 2 failed, backoff (4000ms): Failed to open thrift event sink to hostname:35855 : java.net.ConnectException: Connection refused
и тогда пустые ACK будут отправляться непрерывно
2012-06-04 19:19:56,960 [Roll-TriggerThread-0] INFO endtoend.AckListener$Empty: Empty Ack Listener began 20120604-191956958+0530.881565921235084.00000026
2012-06-04 19:20:07,043 [Roll-TriggerThread-0] INFO hdfs.SeqfileEventSink: closed /tmp/flume-user1/agent/hostname/writing/20120604-191956958+0530.881565921235084.00000026
Я не понимаю, почему отказано в соединении. Есть ли какие-либо изменения на уровне системы, которые необходимо сделать?
Примечание: сборщик прослушивает порт, но агент не может отправить данные через порт 35855.
Может ли кто-нибудь помочь мне с этой проблемой.
Спасибо
1 ответ
Если вы используете агент и сборщик в одном и том же окне, вы должны использовать localhost в качестве адреса.
agentE2ESink("localhost", 35855)