2013-12-23 3 views
1

У меня есть 3 агента. 1 работает на окнах с использованием канала памяти, а другие 2 находятся в Linux с использованием File Channel для получения данных из агента Windows и ввода в Hbase.Flume agent не может доставить событие

Может ли кто-нибудь предположить, почему возникает следующая ошибка и каков шаг ее остановки?

2013-12-23 14:50:15,290 (SinkRunner-PollingRunner-DefaultSinkProcessor) [DEBUG - org.apache.flume.sink.AvroSink.destroyConnection(AvroSink.java:199)] Avro sinksink1 closing avro client: NettyAvroRpcClient { host: 192.168.101.232, port: 3001 } 
2013-12-23 14:50:15,290 (SinkRunner-PollingRunner-DefaultSinkProcessor) [ERROR - org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:160)] Unable to deliver event. 
Exception follows.org.apache.flume.EventDeliveryException: Failed to send events 
     at org.apache.flume.sink.AvroSink.process(AvroSink.java:325) 
     at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68) 
     at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: org.apache.flume.EventDeliveryException: NettyAvroRpcClient { host: 192.168.101.232, port: 3001 }: Failed to send batch 
     at org.apache.flume.api.NettyAvroRpcClient.appendBatch(NettyAvroRpcClient.java:236) 
     at org.apache.flume.sink.AvroSink.process(AvroSink.java:309)  ... 3 more 
Caused by: org.apache.flume.EventDeliveryException: NettyAvroRpcClient { host: 192.168.101.232, port: 3001 }: Handshake timed out after 20000ms 
     at org.apache.flume.api.NettyAvroRpcClient.appendBatch(NettyAvroRpcClient.java:280) 
     at org.apache.flume.api.NettyAvroRpcClient.appendBatch(NettyAvroRpcClient.java:224) ... 4 more 
Caused by: java.util.concurrent.TimeoutException 
     at java.util.concurrent.FutureTask.get(Unknown Source) 
     at org.apache.flume.api.NettyAvroRpcClient.appendBatch(NettyAvroRpcClient.java:278) 

Ниже мои окна конфигурационный файл

a1.sources = source1 
a1.channels = channel1 channel2 
a1.sinks = sink1 sink2 

a1.sources.source1.handler = com.flume.handler.DynamicJSONHandler 
a1.sources.source1.type = org.apache.flume.source.http.HTTPSource 
a1.sources.source1.bind = 192.168.101.29 
a1.sources.source1.port = 2001 

a1.channels.channel1.type = org.apache.flume.channel.MemoryChannel 
a1.channels.channel1.capacity = 1000 
a1.channels.channel1.transactionCapacity = 1000 

a1.sinks.sink1.type = org.apache.flume.sink.AvroSink 
a1.sinks.sink1.hostname = 192.168.101.232 
a1.sinks.sink1.port = 3001 

a1.channels.channel2.type = org.apache.flume.channel.MemoryChannel 
a1.channels.channel2.capacity = 1000 
a1.channels.channel2.transactionCapacity = 1000 

a1.sinks.sink2.type = org.apache.flume.sink.AvroSink 
a1.sinks.sink2.hostname = 192.168.101.233 
a1.sinks.sink2.port = 3001 

a1.sources.source1.channels = channel1 channel2 
a1.sinks.sink1.channel = channel1 
a1.sinks.sink2.channel = channel2 

ответ

4

AvroSink предназначен для записи данных на другой водопропускной агент, который имеет Avro Источник прослушивание этого конкретного источника. Avro Sink инициирует рукопожатие с источником, к которому он подключается. Но похоже, что это рукопожатие отключается через 20 секунд - так что, скорее всего, ваша сеть сталкивается с серьезными проблемами с задержкой. Вы видите какие-либо проблемы с агентом, запускающим источник?

+0

В то же время я не получил никаких проблем у моего исходного агента. –

+0

Но когда я уменьшаю нагрузку на Avro Sink, ошибка исчезла. Спасибо за ответ –

+0

@ Как вы можете уменьшить нагрузку, можете ли вы объяснить, пожалуйста? – Alsphere

 Смежные вопросы

  • Нет связанных вопросов^_^