Flume到HBase依赖失败

时间:2015-02-19 07:31:02

标签: hadoop hbase flume-ng

我使用HBase安装了FlumeApache Cloudera。我在flume服务器上运行linux代理,HBase当前主服务器正在运行。 我正在尝试从spooldir写到HBase,但我收到以下错误:

...
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)
...

Flume配置:

...
#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正在制作问题。

1 个答案:

答案 0 :(得分:1)

我可以通过将hbase-libraries的路径添加到conf / flume-env.sh中的FLUME_CLASSPATH来解决此问题,即在我的情况下文件看起来像:

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

希望它有所帮助。