1. 程式人生 > >flume蒐集資料到hadoop HA可能出現的問題及解決辦法

flume蒐集資料到hadoop HA可能出現的問題及解決辦法

把Hadoop叢集的hdfs-site.xml、core-site.xml兩個配置檔案複製到 flume安裝目錄的conf目錄去,把hadoop-hdfs-2.7.1.jar複製到 Flume  lib目錄。

ERROR - org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:459)] process failed

java.lang.IllegalArgumentException: java.net.UnknownHostException: ha1

解決方法

ha1公司Hadoop叢集NameService的名字,這個錯誤是由於找不到Hadoop叢集NameService造成的,所以需要把hdfs-site.xml複製到flume/conf目錄。

[email protected]:~# cp /etc/hadoop/conf/hdfs-site.xml /home//flume/conf/

 

java.io.IOException: Mkdirs failed to create /test/flume/16-09-19 (exists=false, cwd=file:/data/apache-flume-1.6.0-bin)

解決方法

[email protected]:~# cp/etc/hadoop/conf/core-site.xml /home/flume/conf/

 

java.io.IOException: No FileSystem for scheme: hdfs

解決方法把hadoop-hdfs-*.jar複製到flume/lib目錄下

[email protected]:~# cp /opt/cloudera/parcels/CDH-5.13.3-1.cdh5.13.3.p0.2/lib/hadoop/client/hadoop-hdfs.jar /home/worker/flume/lib/

 

java.lang.NullPointerException: Expected timestamp in the Flume event headers, but it was null

 

原因是Event物件headers沒有設定timestamp造成的,解決辦法:設定a1.sinks.k1.hdfs.useLocalTimeStamp=true,使用本地時間戳。