Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Cannot Reproduce
-
1.6.0
-
None
-
None
-
None
Description
When trying to run the following, MAC fails to initialize Accumulo.
public static void main(String args[]){ MiniDFSCluster dfscluster = new MiniDFSCluster.Builder(new Configuration()).build(); MiniAccumuloConfig macConfig = new MiniAccumuloConfig(new File(args[0]), "secret"); Map<String, String> site = new HashMap<String, String>(); site.put("instance.volumes", dfscluster.getURI().toString() + "/accumulo"); macConfig.setSiteConfig(site); MiniAccumuloCluster mac = new MiniAccumuloCluster(macConfig); mac.start(); }
I see the following exception in the Intialize out file
2014-05-16 19:28:13 FATAL Initialize:537 - error talking to zookeeper java.lang.RuntimeException: Accumulo not initialized, there is no instance id at /accumulo/instance_id at org.apache.accumulo.core.zookeeper.ZooUtil.getInstanceIDFromHdfs(ZooUtil.java:62) at org.apache.accumulo.server.client.HdfsZooInstance._getInstanceID(HdfsZooInstance.java:139) at org.apache.accumulo.server.client.HdfsZooInstance.getInstanceID(HdfsZooInstance.java:123) at org.apache.accumulo.server.conf.ZooConfiguration.getInstance(ZooConfiguration.java:55) at org.apache.accumulo.server.conf.ServerConfiguration.getZooConfiguration(ServerConfiguration.java:53) at org.apache.accumulo.server.conf.ServerConfiguration.getSystemConfiguration(ServerConfiguration.java:62) at org.apache.accumulo.server.fs.VolumeManagerImpl.get(VolumeManagerImpl.java:396) at org.apache.accumulo.server.client.HdfsZooInstance._getInstanceID(HdfsZooInstance.java:133) at org.apache.accumulo.server.client.HdfsZooInstance.getInstanceID(HdfsZooInstance.java:123) at org.apache.accumulo.core.zookeeper.ZooUtil.getRoot(ZooUtil.java:38) at org.apache.accumulo.server.util.TablePropUtil.getTablePath(TablePropUtil.java:58) at org.apache.accumulo.server.util.TablePropUtil.setTableProperty(TablePropUtil.java:34) at org.apache.accumulo.server.init.Initialize.initMetadataConfig(Initialize.java:531) at org.apache.accumulo.server.init.Initialize.initMetadataConfig(Initialize.java:543) at org.apache.accumulo.server.init.Initialize.initFileSystem(Initialize.java:312) at org.apache.accumulo.server.init.Initialize.initialize(Initialize.java:238) at org.apache.accumulo.server.init.Initialize.doInit(Initialize.java:220) at org.apache.accumulo.server.init.Initialize.main(Initialize.java:630) 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:744) 2014-05-16 19:28:13 FATAL Initialize:240 - Failed to initialize filesystem java.io.IOException: java.lang.RuntimeException: Accumulo not initialized, there is no instance id at /accumulo/instance_id at org.apache.accumulo.server.init.Initialize.initMetadataConfig(Initialize.java:538) at org.apache.accumulo.server.init.Initialize.initMetadataConfig(Initialize.java:543) at org.apache.accumulo.server.init.Initialize.initFileSystem(Initialize.java:312) at org.apache.accumulo.server.init.Initialize.initialize(Initialize.java:238) at org.apache.accumulo.server.init.Initialize.doInit(Initialize.java:220) at org.apache.accumulo.server.init.Initialize.main(Initialize.java:630) 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:744) Caused by: java.lang.RuntimeException: Accumulo not initialized, there is no instance id at /accumulo/instance_id at org.apache.accumulo.core.zookeeper.ZooUtil.getInstanceIDFromHdfs(ZooUtil.java:62) at org.apache.accumulo.server.client.HdfsZooInstance._getInstanceID(HdfsZooInstance.java:139) at org.apache.accumulo.server.client.HdfsZooInstance.getInstanceID(HdfsZooInstance.java:123) at org.apache.accumulo.server.conf.ZooConfiguration.getInstance(ZooConfiguration.java:55) at org.apache.accumulo.server.conf.ServerConfiguration.getZooConfiguration(ServerConfiguration.java:53) at org.apache.accumulo.server.conf.ServerConfiguration.getSystemConfiguration(ServerConfiguration.java:62) at org.apache.accumulo.server.fs.VolumeManagerImpl.get(VolumeManagerImpl.java:396) at org.apache.accumulo.server.client.HdfsZooInstance._getInstanceID(HdfsZooInstance.java:133) at org.apache.accumulo.server.client.HdfsZooInstance.getInstanceID(HdfsZooInstance.java:123) at org.apache.accumulo.core.zookeeper.ZooUtil.getRoot(ZooUtil.java:38) at org.apache.accumulo.server.util.TablePropUtil.getTablePath(TablePropUtil.java:58) at org.apache.accumulo.server.util.TablePropUtil.setTableProperty(TablePropUtil.java:34) at org.apache.accumulo.server.init.Initialize.initMetadataConfig(Initialize.java:531) ... 11 more
If instead of setting instance.volumes I set the following, then it works
site.put("instance.dfs.uri", dfscluster.getURI().toString());