我尝试将 flume 与 syslogs source 和 hbase sink 一起使用。
当我运行 flume agent 时出现此错误:Failed to start agent because dependencies were not found in classpath.错误如下。 java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
,这意味着(来自 question )缺少一些 hbase 库,要解决它我需要在 flume-env.sh 文件中设置这些 lib 的路径,即我所做的,并运行 flume 但这里仍然存在错误是我用来运行 flume agent 的命令:bin/flume-ng agent --conf ./conf --conf-file ./conf/flume.properties --name agent -Dflume.root.logger=INFO,console
所以我的问题是,如果我使用的解决方案是正确的(我需要将 lib 添加到 flume ) 为什么我仍然得到同样的错误,如果不是如何解决这个问题
编辑
从我阅读的文档中:flume-ng 可执行文件在 --conf/-c 命令行选项指定的 conf 目录中查找并获取名为“flume-env.sh”的文件。
。< br/>
我还没有测试过,但我认为这是解决方案(我只需要确认)
最佳答案
我建议您下载 HBase 完整的 tar 包并将 HBASE_HOME 等环境变量设置到正确的位置。然后 Flume 可以自动从 HBase 存储库中选择库。
关于hadoop - 带有 syslogs source 和 hbase sink 的 flum agent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41021961/