ThriftSecurityException(用户:root,代码:BAD_REDENTIALS)



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

我在其他一些网站上读到,我必须在accumulo-site.xml文件中设置"trace.user"one_answers"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日志时,我只看到相同的异常,它的堆栈每秒都会被打印出来。

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

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

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

查看$ACCUMULO_LOG_DIR/tratch_$hostname.debug.LOG文件,您可能会发现其中有许多异常。

配置跟踪器的"正确"方法(读作:在生产环境中如何执行)是将"trace"表创建为"root",创建一个"trace"用户,并授予"trace’用户对"trace‘表的read、WRITE和ALTER_table权限。然后,更新accumulo-site.xml中的trace.user和trace.token.properties密码。

不确定您是否仍然想要解决方案,帮助我的是将trace.token.property.password的值更改为正确的密码,即accumulo-site.xml文件中trace.user"根"的instance.secret的值。

或者,您可以使用"root"用户打开accumuro外壳,在外壳内创建一个新用户,然后更新跟踪用户及其当前密码的值。

最新更新