java - 如何对 Linux 上的 Apache Accumulo 安装进行故障排除?

标签 java linux hadoop apache-zookeeper accumulo

我正在尝试在 RHEL 7.x 上安装开源 Accumulo。我有 2 GB 的交换空间。我已经安装了 Java 1.8、Hadoop 3 和 Zookeeper。我已经为 Accumulo 1.9.2 运行了 bootstrap_config.sh 脚本。

我运行了这个(并期望它能工作):

/bin/accumulo-1.9.2/bin/accumulo init

但是我得到这个错误:

[start.Main] ERROR: Uncaught exception java.util.ServiceConfigurationError: org.apache.accumulo.start.spi.KeywordExecutable: Provider org.apache.accumulo.proxy.Proxy could not be instantiated at java.util.ServiceLoader.fail(ServiceLoader.java:232) at java.util.ServiceLoader.access$100(ServiceLoader.java:185) at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384) at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) at java.util.ServiceLoader$1.next(ServiceLoader.java:480) at org.apache.accumulo.start.Main.checkDuplicates(Main.java:237) at org.apache.accumulo.start.Main.getExecutables(Main.java:228) at org.apache.accumulo.start.Main.main(Main.java:84) Caused by: java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) at java.lang.Class.getConstructor0(Class.java:3075) at java.lang.Class.newInstance(Class.java:412) at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380) ... 5 more Caused by: java.lang.ClassNotFoundException: org.apache.commons.configuration.Configuration at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at org.apache.accumulo.start.classloader.AccumuloClassLoader$2.loadClass(AccumuloClassLoader.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 10 more

我使用 Accumulo bootstrap_config.sh 脚本配置 Hadoop 版本 3。如何让“/bin/accumulo-1.9.2/bin/accumulo init”工作?

最佳答案

Accumulo 1.9.2 期望 Hadoop 2 开箱即用,但确实有一个构建配置文件来重建专门用于 Hadoop 3 的 tarball。您可以通过下载源 tarball 并执行以下操作来使用 Hadoop 3 配置文件构建 Accumulo:

mvn clean package -Dhadoop.profile=3 -DskipTests

如果您对从源代码重建不感兴趣,可以通过阅读错误消息并相应地调整您的类路径来简单地修复类路径问题。在这种情况下,您似乎缺少一个公共(public)配置 jar。

关于java - 如何对 Linux 上的 Apache Accumulo 安装进行故障排除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55280111/

相关文章:

java - Web 应用程序中的 context.xml 与 web.xml

java - 将多行文本值设置为 imageview 不起作用

java - 在java中使用oauth调用Linkedin api

hadoop - 在没有作业的情况下运行作业时获取状态

java - 为 appengine 的数据存储区编写基本查询

c - 在 Linux 中打印出 sleep 控制台

java - JVM 和 Java Linux 进程

linux - Tar 模式匹配层次结构中任何位置的文件/文件夹

scala - 如何在连接中选择数据框的所有列 - Spark-scala

hadoop - 使用FileInputFormat为大型文件分配映射器的输入?