所以我已按照Accumulo User Manual中的说明配置并初始化了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.
任何可能遗漏某些内容的帮助或指导都会非常有帮助! 提前谢谢!
答案 0 :(得分:0)
您无需使用该名称创建系统用户。您需要的是创建具有该名称的 Accumulo 用户。您可以在accumulo shell中以(Accumulo)root用户$ACCUMULO_HOME/bin/accumulo shell -u root
执行此操作。您还需要向用户授予表创建表的权限。请参阅shell中的help grant
以了解如何为该用户设置CREATE_TABLE系统权限。
答案 1 :(得分:0)
所以这就解决了我的问题:一个新的 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>
之后,一切都像魅力一样。希望有所帮助。发布任何疑问,都很乐意提供帮助。