昨天做了一个Java连接虚拟机,实现Flume Avro Source 的远程连接,确报了一个这样的错,经过了一晚上,终于找到了解决的方案。
我来给大家分享一下!
报错如下:
Exception in thread "main" org.apache.flume.FlumeException:NettyAvroRpcClient{
host:xxxx,port:xxxx}:RPC connection error
解决的办法是:
把配置文件中a1.sources.r1.bind必须设置为虚拟的的主机名和虚拟机的ip(决不能是127.0.0.1或0.0.0.0)
如图是我配置的内容(已正确解决的):
下面的是我的Java内容,已修改ip和配置的端口号,连接也正常了。
上图中第一个箭头是我的虚拟机ip和配置的avro的端口号,第二个箭头是需要在控制台输出的内容:“Hello flume!”
首先运行Flume Avro 开启Agent在控制台,开启不报错后,再运行Java代码,之后去虚拟机查看控制台是否输出了“Hello flume!”,
若输出了,便是成功。如图是成功的效果图:
这就是我今天的分享,感兴趣的可以酌情试用,那就下次再见吧!!!
继续努力