Accumulo: неверный логин или пароль

Поэтому я настроил и инициализировал accumulo, как указано в Руководстве пользователя Accumulo.

В conf/accumulo-site.xml я устанавливаю свой trace.user в accumulo_tracer, а также создаю системного пользователя с таким же именем. Кроме того, я храню пароль в том же файле под свойством trace.token.property.password.

Однако после ./bin/start-all.sh все запускается нормально, в том числе и аккумулирующий 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.

Любая помощь или руководство, где я мог что-то пропустить, было бы очень полезно! Заранее спасибо!


person Tanny    schedule 28.05.2015    source источник


Ответы (2)


Вам не нужно создавать системного пользователя с таким именем. Вам нужно создать пользователя Accumulo с таким именем. Вы можете сделать это в оболочке accumulo как пользователь root (Accumulo) $ACCUMULO_HOME/bin/accumulo shell -u root. Вам также необходимо предоставить пользователю разрешение на создание таблиц. См. help grant в оболочке, чтобы узнать, как установить системное разрешение CREATE_TABLE для этого пользователя.

person Christopher    schedule 29.05.2015

Итак, вот что решило мою проблему: новый init!!

Поэтому на этапе init я задаю пароль для пользователя root и тот же пароль, который я должен указать в файле conf/accumulo-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>

После этого все просто заработало как шарм. Надеюсь, это помогло. Пишите по любым вопросам, буду рад помочь.

person Tanny    schedule 17.07.2015