昨天做了一個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!”,
若輸出了,便是成功。如圖是成功的效果圖:
這就是我今天的分享,感興趣的可以酌情試用,那就下次再見吧!!!