简体   繁体   English

如何解决Linux上Apache Accumulo的安装问题?

[英]How do I troubleshoot the installation of Apache Accumulo on Linux?

I am trying to install open source Accumulo on RHEL 7.x. 我正在尝试在RHEL 7.x上安装开源Accumulo。 I have two GB of swap space. 我有两个GB的交换空间。 I have installed Java 1.8, Hadoop 3, and Zookeeper. 我已经安装了Java 1.8,Hadoop 3和Zookeeper。 I have run the bootstrap_config.sh script for Accumulo 1.9.2. 我已经为Accumulo 1.9.2运行bootstrap_config.sh脚本。

I ran this (and expected it to work): 我运行了这个(并希望它能正常工作):

/bin/accumulo-1.9.2/bin/accumulo init

But I get this error: 但是我得到这个错误:

[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. [start.main]错误:未捕获的异常java.util.ServiceConfigurationError:org.apache.accumulo.start.spi.KeywordExecutable:提供者org.apache.accumulo.proxy.Proxy无法在java.util.ServiceLoader.fail上实例化。位于java.util.ServiceLoader.access $ 100(ServiceLoader.java:185)处的ServiceLoader.java:232)位于java.util.ServiceLoader $ LazyIterator.next(java.util.ServiceLoader $ LazyIterator.nextService(ServiceLoader.java:384)处的ServiceLoader.java:232) org.apache.accumulo.start处java.util.ServiceLoader $ 1.next(ServiceLoader.java:480)处的ServiceLoader.java:404)org.apache.accumulo.start处的Main.checkDuplicates(Main.java:237)。 org.apache.accumulo.start.Main.main(Main.java:84)处的Main.getExecutables(Main.java:228)原因:java.lang.NoClassDefFoundError:org / apache / commons / configuration / java处的配置。 lang.Class.getDeclaredConstructors0(本机方法)(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 java:412)at java.util.ServiceLoader $ LazyIterator.nextService(ServiceLoader.java:380)... 5个其他原因:java.lang.ClassNotFoundException:org.apache.commons.configuration.Configuration at java.net.URLClassLoader org.apache.accumulo.start.classloader.AccumuloClassLoader $ 2.loadClass(AccumuloClassLoader.java:294)上的java.lang.ClassLoader.loadClass(ClassLoader.java:424)上的.findClass(URLClassLoader.java:382)在java.lang上.ClassLoader.loadClass(ClassLoader.java:357)...还有10个

I used the Accumulo bootstrap_config.sh script to configure Hadoop version 3. How do I get "/bin/accumulo-1.9.2/bin/accumulo init" to work? 我使用Accumulo bootstrap_config.sh脚本来配置Hadoop版本3。如何使“ /bin/accumulo-1.9.2/bin/accumulo init”正常工作?

Accumulo 1.9.2 expects Hadoop 2 out of the box, but does have a build profile to rebuild a tarball specifically for use with Hadoop 3. You can build Accumulo with the Hadoop 3 profile by downloading the source tarball and doing: Accumulo 1.9.2开箱即用,但是确实有一个构建配置文件来重建专门用于Hadoop 3的tarball。您可以通过下载源tarball并执行以下操作,使用Hadoop 3概要文件来构建Accumulo:

mvn clean package -Dhadoop.profile=3 -DskipTests

If you're not interested in rebuilding from source, it may be possible to simply fix the class path issues by reading the error message, and adjusting your class path accordingly. 如果您不希望从源代码重建,则可以通过阅读错误消息并相应地调整类路径来简单地解决类路径问题。 In this case, it seems you're missing a commons-configuration jar. 在这种情况下,您似乎缺少了通用配置jar。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM