0

这是我的 aws 实例的控制台上出现的错误。

2014-08-09 12:22:41,803 (lifecycleSupervisor-1-2) [INFO -org.apache.flume.source.AvroSource.start(AvroSource.java:142)] 从本地启动 Avro 源:{ bindAddress:ec2-54 -221-143-114.compute-1.amazonaws.com,端口:44444 }... 2014-08-09 12:22:42,072(lifecycleSupervisor-1-1)[警告 - org.apache.flume.sink。 AvroSink.start(AvroSink.java:244)] 无法使用主机名创建 avro 客户端:ec2-54-221-143-114.compute-1.amazonaws.com,端口:41414 org.apache.flume.FlumeException:NettyAvroRpcClient {主机:ec2-54-221-143-114.compute-1.amazonaws.com,端口:41414 }:org.apache.flume.api.NettyAvroRpcClient.connect(NettyAvroRpcClient.java:117) 的 RPC 连接错误。 org.apache.flume.api.NettyAvroRpcClient 上的 apache.flume.api.NettyAvroRpcClient.connect(NettyAvroRpcClient.java:93)。在 org.apache.flume.sink.AvroSink.createConnection(AvroSink.java:182) 在 org.apache.flume.api.RpcClientFactory.getInstance(RpcClientFactory.java:88) 在 org.apache 配置(NettyAvroRpcClient.java:514) .flume.sink.AvroSink.start(AvroSink.java:242) 在 org.apache.flume.sink.DefaultSinkProcessor.start(DefaultSinkProcessor.java:46) 在 org.apache.flume.SinkRunner.start(SinkRunner.java:79 ) 在 org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:236) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 在 java.util.concurrent.FutureTask。在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) 原因:java.io.IOException:连接到 ec2-54-221-143-114.compute-1.amazonaws 时出错。 com/10.80.54.114:41414 at org.apache.avro.ipc.NettyTransceiver.getChannel(NettyTransceiver.java:261) at org.apache.avro.ipc.NettyTransceiver.(NettyTransceiver.java:203) at org.apache.avro .ipc.NettyTransceiver.(NettyTransceiver.java:152) 在 org.apache.flume.api.NettyAvroRpcClient.connect(NettyAvroRpcClient.java:106) ...还有 15 个原因:java.net.ConnectException: Connection denied at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739) at org.jboss.netty .channel.socket.nio.NioClientSocketPipelineSink$Boss.connect(NioClientSocketPipelineSink.java:401) at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.processSelectedKeys(NioClientSocketPipelineSink.java:370) at org.jboss.netty .channel.socket.nio.NioClientSocketPipelineSink$Boss.run(NioClientSocketPipelineSink.java:292)739)在 org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.processSelectedKeys 的 org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.connect(NioClientSocketPipelineSink.java:401) 370)在 org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.run(NioClientSocketPipelineSink.java:292)739)在 org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.processSelectedKeys 的 org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.connect(NioClientSocketPipelineSink.java:401) 370)在 org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.run(NioClientSocketPipelineSink.java:292)

4

1 回答 1

0

首先在本地机器上使用 Avro Source 运行 Flume 代理,然后使用 avro sink 运行 Flume 代理。原因是 Avro Source 启动了绑定在给定 IP 和端口的 Avro RPC 服务器。Avro Sink 是一个 avro rpc 客户端,它监听 Avro RPC Server 并向其发送 Flume 事件。

于 2015-05-27T10:02:44.137 回答