我正在尝试在RHEL 7.x上安装开源Accumulo。我有两个GB的交换空间。我已经安装了Java 1.8,Hadoop 3和Zookeeper。我已经为Accumulo 1.9.2运行bootstrap_config.sh脚本。
我运行了这个程序(并希望它能正常工作):
/bin/accumulo-1.9.2/bin/accumulo init
但是我得到这个错误:
[start.Main]错误:未捕获的异常 java.util.ServiceConfigurationError: org.apache.accumulo.start.spi.KeywordExecutable:提供者 org.apache.accumulo.proxy.Proxy无法实例化 在java.util.ServiceLoader.fail(ServiceLoader.java:232) 在java.util.ServiceLoader.access $ 100(ServiceLoader.java:185) 在java.util.ServiceLoader $ LazyIterator.nextService(ServiceLoader.java:384) 在java.util.ServiceLoader $ LazyIterator.next(ServiceLoader.java:404) 在java.util.ServiceLoader $ 1.next(ServiceLoader.java:480) 在org.apache.accumulo.start.Main.checkDuplicates(Main.java:237) 在org.apache.accumulo.start.Main.getExecutables(Main.java:228) 在org.apache.accumulo.start.Main.main(Main.java:84)处由于:java.lang.NoClassDefFoundError: org / apache / commons / configuration / Configuration 在java.lang.Class.getDeclaredConstructors0(本地方法) 在java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) 在java.lang.Class.getConstructor0(Class.java:3075) 在java.lang.Class.newInstance(Class.java:412) 在java.util.ServiceLoader $ LazyIterator.nextService(ServiceLoader.java:380) ... 5更多原因:java.lang.ClassNotFoundException:org.apache.commons.configuration.Configuration 在java.net.URLClassLoader.findClass(URLClassLoader.java:382) 在java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在org.apache.accumulo.start.classloader.AccumuloClassLoader $ 2.loadClass(AccumuloClassLoader.java:294) 在java.lang.ClassLoader.loadClass(ClassLoader.java:357) ...还有10个
我使用Accumulo bootstrap_config.sh脚本配置了Hadoop版本3。如何使“ /bin/accumulo-1.9.2/bin/accumulo init”正常工作?
答案 0 :(得分:1)
Accumulo 1.9.2开箱即用,但是确实有一个构建配置文件来重建专门用于Hadoop 3的tarball。您可以通过下载源tarball并执行以下操作来使用Hadoop 3概要文件来构建Accumulo:< / p>
mvn clean package -Dhadoop.profile=3 -DskipTests
如果您不希望从源代码重建,可以通过阅读错误消息并相应地调整类路径来简单地解决类路径问题。在这种情况下,您似乎缺少了一个通用配置jar。