我构建了一个hadoop集群,其中一个是主从节点,另一个是从节点。现在,我想建立一个Flume来获取主计算机上集群的所有日志。但是,当我尝试从tarball安装flume时,我总是得到:error:could not find or load main class org.apache.flume.node.application so,please help me to find the answer,or the best way to install flume on my cluster.错误:找不到或加载主类org.apache.flume.node.application所以,请帮助我找到答案。非常感谢!
7条答案
按热度按时间uyhoqukh1#
基本上是因为Flume。。
试试这个命令
$unset flume\u主页
dldeef672#
最好的调试方法是查看正在触发的java命令,并确保flume lib包含在
CLASSPATH
(-cp
),就像下面的命令一样
/lib/*
,这就是flume-ng-*.jar
是的,但这是不正确的,因为里面什么都没有/lib
,在此行中-cp '/staging001/Flume/server/conf://lib/*:/lib/*'
. 一定是的${FLUME_HOME}/lib
.所以,如果你看看
flume-ng
剧本,有FLUME_CLASSPATH
设置,如果不存在,则设置基于FLUME_HOME
.因此,请确保这些环境中的任何一个都已设置。与
FLUME_HOME
设置,(我正在使用systemd
)这是正在工作的javaexec。
wydwbb8l3#
我以前也遇到过同样的问题,只是因为没有设置flume\u类路径
yh2wf1be4#
我知道问这个问题已经快一年了,但我看到了!
使用sudo bin/flume ng设置agnet时。。。。确保指定代理配置所在的文件。
--conf文件flume\u agent.conf->-f conf/flume\u agent.conf
这就成功了!
pw9qyyiw5#
我想你是想在windows上运行cygwin的flume?如果是这样的话,我也有类似的问题。问题可能出在flume ng脚本上。
在bin/flume ng中找到以下行:
换成这个
请注意,路径已替换为windows目录。java将无法从cygdrive路径中找到库路径,我们必须将其转换为正确的windows路径
kb5ga3dv6#
可能您正在使用源文件,您首先应该编译源代码并生成二进制代码,然后在二进制文件目录中,您可以执行:bin/flume ng agent--conf./conf/-f conf/flume.conf-dflume.root.logger=debug,console-n agent1。所有这些信息您可以遵循:https://cwiki.apache.org/confluence/display/flume/getting+started
lyfkaqu17#
看起来您在/bin文件夹flume-in/flume-ng-dist/target/apache-flume-1.5.0.1-bin/apache-flume-1.5.0.1-bin run flume-ng之后运行了flume-ng