2

当我尝试从 java 客户端连接到 accumulo 时,它失败了。我正在使用“root”用户,但已更改密码。我调试了我的代码,它实际上得到了正确的用户名和密码,与我用来登录 shell 的用户名和密码相同。

我在其他一些网站上读到我必须在我的 accumulo-site.xml 文件中设置“trace.user”和“trace.password”,所以我这样做并重新启动了 accumulo。不幸的是,它并没有改变任何事情。

当我尝试从 java 连接时,这些是堆栈中的重要行:

Caused by: org.apache.accumulo.core.client.AccumuloSecurityException: Error BAD_CREDENTIALS for user root - Username or Password is Invalid
Caused by: ThriftSecurityException(user:root, code:BAD_CREDENTIALS)

从我的 accumulo 控制台,我看到:

08 15:44:06,0544    tserver:michael-GA-890GPA-UD3H  4   
ERROR
ThriftSecurityException(user:root, code:BAD_CREDENTIALS)

当我查看我的累积日志时,我只会看到相同的异常,并且它的堆栈每秒都会被打印出来。

我浏览了 accumulo 手册,找不到任何我遗漏的东西。谷歌搜索和 SO 搜索也没有帮助我。

有人可以告诉我我做错了什么吗?

4

2 回答 2

1

根据您使用的版本,您还可能在 accumulo-site.xml 中定义了 trace.token.property.password,它是 trace.password 的替代品。>=1.6.0 引入了 trace.token.property.password 属性。如果配置中同时存在该属性和 trace.password,则 trace.token.property.password 将优先于 trace.password。

查看 $ACCUMULO_LOG_DIR/tracer_$hostname.debug.log 文件,您可能会在其中有许多异常。

配置跟踪器的“正确”方式(读作:您希望如何在生产环境中执行此操作)是将“跟踪”表创建为“root”,创建一个“跟踪”用户,然后将“ trace 用户对“trace”表的 READ、WRITE 和 ALTER_TABLE 权限。然后,更新 accumulo-site.xml 中的 trace.user 和 trace.token.property.password。

于 2015-02-10T16:33:47.653 回答
1

不确定您是否仍然需要解决方案,帮助我的是将值更改为trace.token.property.password正确的密码,即文件instance.secrettrace.user“root”的值accumulo-site.xml

或者您可以使用“root”用户打开 acccumulo shell 并在 shell 中创建一个新用户,然后更新跟踪用户的值及其当前密码。

于 2015-06-02T06:51:18.503 回答