Как устранить неполадки при установке Apache Accumulo в Linux? - PullRequest
0 голосов
/ 21 марта 2019

Я пытаюсь установить Accumulo с открытым исходным кодом на RHEL 7.x.У меня есть два ГБ пространства подкачки.Я установил Java 1.8, Hadoop 3 и Zookeeper.Я запустил скрипт bootstrap_config.sh для Accumulo 1.9.2.

Я запустил это (и ожидал, что это сработает):

/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.otilS.$ 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/ Конфигурация в 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 (URLClassLo.Java: 382) на java.lang.ClassLoader.loadClass (ClassLoader.java:424) на org.apache.accumulo.start.classloader.AccumuloClassLoader $ 2.loadClass (AccumuloClassLoader.java:294) на java.lang.ClassClassLoader.java:357) ... еще 10

Я использовал сценарий Accumulo bootstrap_config.sh для настройки Hadoop версии 3. Как мне получить "/bin/accumulo-1.9.2/bin/Накопить init "на работу?

1 Ответ

1 голос
/ 21 марта 2019

Accumulo 1.9.2 ожидает Hadoop 2 из коробки, но имеет профиль сборки для перестройки тарбола специально для использования с Hadoop 3. Вы можете собрать Accumulo с профилем Hadoop 3, загрузив исходный тарбол и выполнив:

mvn clean package -Dhadoop.profile=3 -DskipTests

Если вы не заинтересованы в восстановлении из исходного кода, возможно, можно просто исправить проблемы пути к классу, прочитав сообщение об ошибке и соответствующим образом скорректировав свой путь к классу. В этом случае кажется, что вам не хватает jar-файла конфигурации общего пользования.

...