我一直在试图在cloudera quickstart VM上安装accumulo(我发现quickstart可以做任何事情)。我试图通过cloudera管理器安装它(我认为这将是更多的即插即用)但是在第5步尝试启动Accumulo服务时,该过程失败。深入研究日志,我发现它无法启动Master,Tracer,Tablet服务器或垃圾收集器。主人的Stderr给了我以下内容:
++ hostname
+ HOST=quickstart.cloudera
+ '[' master = monitor -a '' = true ']'
+ exec /usr/lib/accumulo/bin/accumulo master --address quickstart.cloudera
grep: /var/run/cloudera-scm-agent/process/26-accumulo16-ACCUMULO16_MASTER/masters: No such file or directory
log4j:WARN No appenders could be found for logger (org.apache.accumulo.start.classloader.AccumuloClassLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Uncaught exception: com/google/common/base/Preconditions
java.lang.NoClassDefFoundError: com/google/common/base/Preconditions
at org.apache.hadoop.conf.Configuration$DeprecationDelta.<init>(Configuration.java:325)
at org.apache.hadoop.conf.Configuration$DeprecationDelta.<init>(Configuration.java:338)
at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:420)
at org.apache.hadoop.io.WritableComparator.<init>(WritableComparator.java:128)
at org.apache.hadoop.io.WritableComparator.<init>(WritableComparator.java:116)
at org.apache.hadoop.io.Text$Comparator.<init>(Text.java:360)
at org.apache.hadoop.io.Text.<clinit>(Text.java:374)
at org.apache.accumulo.server.master.Master.<clinit>(Master.java:192)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.accumulo.start.classloader.AccumuloClassLoader.loadClass(AccumuloClassLoader.java:378)
at org.apache.accumulo.start.classloader.AccumuloClassLoader.loadClass(AccumuloClassLoader.java:385)
at org.apache.accumulo.start.Main.main(Main.java:42)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Preconditions
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 13 more
任何帮助将不胜感激。不幸的是我不会说太多Java - 我猜我错过了一个关键的包但是如果是这样的情况我很困惑为什么这是作为accumulo设置的一部分安装(fyi这是一个全新的cloudera.quickstart VM)
答案 0 :(得分:0)
关于未开始的服务;确保您具有Gateway角色或分配给accumulo master,monitor,tracer和gc节点的某些/任何HDFS角色。我遇到了同样的问题,一旦我意识到accumulo看不到HDFS,我就添加了Gateway角色。然后我能够初始化accumulo并启动相关的主服务。
您可以通过在accumulo master上运行hdfs dfs -ls /
来查看accumulo是否可以看到hadoop文件系统。如果您收到错误
警告:运行&#39; ls&#39;时未设置fs.defaultFS。命令
它向您显示本地文件系统,然后您知道accumulo master无法看到HDFS和必要的accumulo实例ID。