我正在慢慢学习 Accumulo 命令,并且在运行 Apache Hello World 示例以将 10K 行(50K 条目(批量摄取到伏隔中时遇到了问题。 https://accumulo.apache.org/1.7/examples/
我使用uno构建来启动并运行我的HDFS,zookeeper和Accumulo(2.0(。 我可以使用网络浏览器连接到Hadoop和Accumulo。 我可以通过shell登录到Accumulo,并已成功创建表hellotable。 然后,Apache示例中的说明说要启动使用BatchWriter批量插入的Java程序。 通用示例命令如下所示:
$ ./bin/accumulo org.apache.accumulo.examples.simple.helloworld.InsertWithBatchWriter instance zookeepers username password hellotable
使用我安装的信息,我正在运行以下命令:
我的 Accumulo 实例是 uno 我的用户名是 root 并且密码是秘密的
$ accumulo org.apache.accumulo.examples.simple.helloworld.InsertWithBatchWriter uno zookeepers root secret hellotable
当我运行命令时,我收到以下与 JAVA 和伏隔相关的错误:
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/bob/fluo-uno/install/accumulo-2.0.0/lib/slf4j-log4j12-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/bob/fluo-uno/install/apache-zookeeper-3.6.1-bin/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Invalid argument: Java <main class> 'org.apache.accumulo.examples.simple.helloworld.InsertWithBatchWriter' was not found. Please use the wholly qualified package name.
如何修改命令以干净地执行?
谢谢
您正在尝试的示例专门针对 Accumulo 版本 1.7(如 URL 所示(,该版本之前在默认类路径上附带了一个示例 jar。但是,您已指示您正在运行 Accumulo 2.0。
这些示例不是为 2.0 编写的,并且这些示例已移动到单独的存储库中,并且不会位于开箱即用的 Accumulo 类路径上。如果您想尝试,可以在 https://github.com/apache/accumulo-examples 找到更新的示例代码,尽管我不知道该代码对主流使用的准备程度如何。
您也可以在网站上尝试游览。