Support Questions
Find answers, ask questions, and share your expertise

How can I change Accumulo root password after installing HDP 2.4?

I recently setup a cluster using HDP 2.4. I unknowingly selected an Accumulo root password containing a "!" symbol. Apparently this messes up Accumulo (google it). Sure enough, Accumulo fails to start. In particular accumulo init gives an error immidiately after having the root password entered. However, I can't find any way within Ambari or even doing a grep across all plaintext files, to change the password I supplied. Can anyone tell me how I can inform Ambari to use a new root password for Accumulo? I tried running accumulo init manually and entering a simpler password. This allowed init to run, but now the password is set to something other than what Ambari expects, and Ambari can not start Accumulo. My specific error is

ERROR: Thread 'org.apache.accumulo.master.state.SetGoalState' died.
org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /accumulo/72023e05-7c44-4b01-8910-8452634dbea9/masters/goal_state

but I am certain this is because Ambari has the wrong accumulo root password. So how do I change it? Thanks.


@Frank G

I did this

[accumulo@phdns01 ~]$ ACCUMULO_CONF_DIR=/etc/accumulo/conf/server accumulo init --reset-security

2016-03-12 02:58:37,561 [fs.VolumeManagerImpl] WARN : dfs.datanode.synconclose set to false in hdfs-site.xml: data loss is possible on hard system reset or power loss

Enter initial password for root (this may not be applicable for your security setup): *****

Confirm initial password for root: *****

2016-03-12 02:58:46,295 [conf.AccumuloConfiguration] INFO : Loaded class :

2016-03-12 02:58:46,311 [conf.AccumuloConfiguration] INFO : Loaded class :

2016-03-12 02:58:46,319 [conf.AccumuloConfiguration] INFO : Loaded class :

2016-03-12 02:58:47,082 [handler.ZKAuthenticator] INFO : Removed /accumulo/f274208c-b583-44fe-b995-cd283fb561f7/users/ from zookeeper

[accumulo@phdns01 ~]$

Changed the password and ambari complained


The I updated ambari config for Accumulo with the new password to start the service through ambari.

I updated root password entry


Thanks. When I try accumulo init --reset-security I get the error below. Any ideas?

[handler.ZKAuthenticator] ERROR: KeeperErrorCode = NoAuth for /accumulo/72023e05-7c44-4b01-8910-8452634dbea9/users/root
org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /accumulo/72023e05-7c44-4b01-8910-8452634dbea9/users/root
  at org.apache.zookeeper.KeeperException.create(
  at org.apache.zookeeper.KeeperException.create(
  at org.apache.zookeeper.ZooKeeper.getChildren(
  at org.apache.zookeeper.ZooKeeper.getChildren(

@Frank G Is kerberos in place?

No it isn't. I removed and re-installed the service Accumulo and that error persisted.

I eventually fixed it.

In case anyone else has this problem, I found that I had to delete the folder /apps/accumulo/data within HDFS (something like "sudo su accumulo; and then: hadoop fs -rm -r /apps/accumulo/data"), and then let Accumulo start and init and everything worked fine.

Thanks for the help.

After performing : hadoop fs -rm -r /apps/accumulo/data (using accumulo user)

1. Use below command to initialize the accumulo,

[accumulo@phdns01 ~]$ ACCUMULO_CONF_DIR=/etc/accumulo/conf/server accumulo init

2. Then perform:

[accumulo@phdns01 ~]$ ACCUMULO_CONF_DIR=/etc/accumulo/conf/server accumulo init --reset-security

3. change passwd in configs as listed on Ambari(so as the passwd changed in step 2 is same as in config).

4. start accumulo from Ambari.

Rising Star

You need to have ACCUMULO_CONF_DIR=/etc/accumulo/conf/server for the accumulo init command, as @Neeraj Sabharwal shows, and the command must be run as the accumulo user to have access to the conf files in that directory. Otherwise you won't have permission to reset security.

Rising Star

The accumulo reset security command deletes all the users when you run it, in addition to changing the accumulo root password. You can change a single user's password in the accumulo shell with the "passwd" command. If you change the root user's or trace user's password through the accumulo shell, you should also update the password in the Ambari config for Accumulo as shown in @Neeraj Sabharwal's helpful screenshots.