org.apache.flume.EventDeliveryException: Failed to send events at org.apache.flume.sink.AbstractRpcSink.process(AbstractRpcSink.java:392) at org.apache.flume.sink.LoadBalancingSinkProcessor.process(LoadBalancingSinkProcessor.java:154) at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.flume.EventDeliveryException: NettyAvroRpcClient { host: hadoop07, port: 44444 }: Failed to send batch at org.apache.flume.api.NettyAvroRpcClient.appendBatch(NettyAvroRpcClient.java:315) at org.apache.flume.sink.AbstractRpcSink.process(AbstractRpcSink.java:376) ... 3 more Caused by: org.apache.flume.EventDeliveryException: NettyAvroRpcClient { host: hadoop07, port: 44444 }: Avro RPC call returned Status: FAILED at org.apache.flume.api.NettyAvroRpcClient.waitForStatusOK(NettyAvroRpcClient.java:391) at org.apache.flume.api.NettyAvroRpcClient.appendBatch(NettyAvroRpcClient.java:374) at org.apache.flume.api.NettyAvroRpcClient.appendBatch(NettyAvroRpcClient.java:303) ... 4 more
解决方法
Avro Sink This sink forms one half of Flume’s tiered collection support. Flume events sent to this sink are turned into Avro events and sent to the configured hostname / port pair. The events are taken from the configured Channel in batches of the configured batch size. Required properties are in bold. Property Name Default Description channel – type – The component type name, needs to be avro. hostname – The hostname or IP address to bind to. port – The port # to listen on. batch-size 100 number of event to batch together for send. connect-timeout 20000 Amount of time (ms) to allow for the first (handshake) request. request-timeout 20000 Amount of time (ms) to allow for requests after the first. reset-connection-interval none Amount of time (s) before the connection to the next hop is reset. This will force the Avro Sink to reconnect to the next hop. This will allow the sink to connect to hosts behind a hardware load-balancer when news hosts are added without having to restart the agent.
a1.sinks.k1.connect-timeout = 30000