Accumulo: Username or Password is Invalid issue



所以我已经按照accumulo用户手册中的规定配置和初始化了accumulo。

conf/accumulo-site.xml中,我将trace.user设置为accumulo_tracer,并且我还创建了一个具有相同名称的系统用户。此外,我将密码存储在trace.token.property.password属性下的同一文件中。

然而,在./bin/start-all.sh之后,一切都启动正常,包括accumulo UI。但是在logs/tracer_localhost.log文件中显示如下错误:

2015-05-28 10:58:46,229 [watcher.MonitorLog4jWatcher] INFO : Enabled log-forwarding
2015-05-28 10:58:46,254 [server.Accumulo] INFO : tracer starting
2015-05-28 10:58:46,254 [server.Accumulo] INFO : Instance 48f5f9cf-f08d-4736-b504-335b044a2d88
2015-05-28 10:58:46,255 [server.Accumulo] INFO : Data Version 6
2015-05-28 10:58:46,255 [server.Accumulo] INFO : Attempting to talk to zookeeper
2015-05-28 10:58:46,430 [server.Accumulo] INFO : ZooKeeper connected and initialized, attempting to talk to HDFS
2015-05-28 10:58:46,430 [server.Accumulo] INFO : Connected to HDFS
2015-05-28 10:58:46,432 [watcher.MonitorLog4jWatcher] INFO : Changing monitor log4j address to localhost:4560
2015-05-28 10:58:46,433 [watcher.MonitorLog4jWatcher] INFO : Enabled log-forwarding
2015-05-28 10:58:46,510 [watcher.MonitorLog4jWatcher] INFO : Set watch for Monitor Log4j watcher
2015-05-28 10:58:46,638 [tracer.TraceServer] INFO : Waiting to checking/create the trace table.
org.apache.accumulo.core.client.AccumuloSecurityException: Error BAD_CREDENTIALS for user accumulo_tracer - Username or Password is Invalid
    at org.apache.accumulo.core.client.impl.ServerClient.execute(ServerClient.java:65)
    at org.apache.accumulo.core.client.impl.ConnectorImpl.<init>(ConnectorImpl.java:66)
    at org.apache.accumulo.server.client.HdfsZooInstance.getConnector(HdfsZooInstance.java:156)
    at org.apache.accumulo.tracer.TraceServer.<init>(TraceServer.java:201)
    at org.apache.accumulo.tracer.TraceServer.main(TraceServer.java:303)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.accumulo.start.Main$1.run(Main.java:141)
    at java.lang.Thread.run(Thread.java:745)
Caused by: ThriftSecurityException(user:accumulo_tracer, code:BAD_CREDENTIALS)
    at org.apache.accumulo.core.client.impl.thrift.ClientService$authenticate_result$authenticate_resultStandardScheme.read(ClientService.java:15613)
    at org.apache.accumulo.core.client.impl.thrift.ClientService$authenticate_result$authenticate_resultStandardScheme.read(ClientService.java:15591)
    at org.apache.accumulo.core.client.impl.thrift.ClientService$authenticate_result.read(ClientService.java:15535)
    at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
    at org.apache.accumulo.core.client.impl.thrift.ClientService$Client.recv_authenticate(ClientService.java:500)
    at org.apache.accumulo.core.client.impl.thrift.ClientService$Client.authenticate(ClientService.java:486)
    at org.apache.accumulo.core.client.impl.ConnectorImpl$1.execute(ConnectorImpl.java:69)
    at org.apache.accumulo.core.client.impl.ConnectorImpl$1.execute(ConnectorImpl.java:66)
    at org.apache.accumulo.core.client.impl.ServerClient.executeRaw(ServerClient.java:100)
    at org.apache.accumulo.core.client.impl.ServerClient.execute(ServerClient.java:63)
    ... 10 more
2015-05-28 10:58:47,469 [server.Accumulo] WARN : System swappiness setting is greater than ten (60) which can cause time-sensitive operations to be delayed.  Accumulo is time sensitive because it needs to maintain distributed lock agreement.

任何帮助或指导,我可能错过了一些东西,将是非常有帮助的!提前感谢!

您不需要使用该名称创建系统用户。您需要的是创建一个具有该名称的Accumulo用户。您可以在accumulo shell中以(accumulo)根用户$ACCUMULO_HOME/bin/accumulo shell -u root的身份执行此操作。您还需要授予用户创建表的表权限。查看shell中的help grant,了解如何为该用户设置CREATE_TABLE系统权限。

所以这就是解决我的问题:一个新的init!!

因此,在init阶段,我为root用户提供了一个密码,该密码与我应该在conf/accumulate -site.xml 中提到的密码相同。
<property>
  <name>instance.secret</name>
  <value>your_own_secret_password</value>
  <description>A secret unique to a given instance that all servers must know in order to communicate with one another.
  Change it before initialization. To
  change it later use ./bin/accumulo org.apache.accumulo.server.util.ChangeSecret --old [oldpasswd] --new [newpasswd],
  and then update this file.
  </description>
</property>

从那以后,一切都很顺利。希望这对你有所帮助。张贴任何疑问,将很乐意提供帮助。

相关内容

  • 没有找到相关文章

最新更新