水槽到HBase的dependencie失败(Flume to HBase dependencie

2019-10-21 23:28发布

我已经安装HBaseFlume使用Apache Cloudera 。 我有一个flume一个上运行代理linux服务器,其中HBase当前主运行。 我试图从一个写spooldirHBase ,但我得到了以下错误:

...
ERROR org.apache.flume.node.PollingPropertiesFileConfigurationProvider: Failed to start agent because dependencies were not found in classpath. Error follows.
java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
at  org.apache.flume.sink.hbase.HBaseSink.<init>(HbaseSink.java:116)
...

水槽的配置:

...
#Sinks
tier1.sinks.hbase-sink.channel          = memory-channel
tier1.sinks.hbase-sink.type             = org.apache.flume.sink.hbase.HBaseSink
tier1.sinks.hbase-sink.table            = FlumeTable
tier1.sinks.hbase-sink.columnFamily     = FlumeColumn

我试图修改flume-env.sh并设置HBASE_HOME HADOOP_HOME ,但什么也没有改变。

我已经成功写入HDFS ,但HBase是决策问题。

Answer 1:

我可以在conf增加了FLUME_CLASSPATH HBase的-库的路径解决此问题/ flume-env.sh,即在我的情况下,该文件看起来像:

FLUME_CLASSPATH="/home/USERNAME/hbase-1.0.1.1/lib/*"

希望能帮助到你。



文章来源: Flume to HBase dependencie failure