Accumulo
  1. Accumulo
  2. ACCUMULO-2045

Accumulo fails to init when using viewfs://

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Not a Problem
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      I was trying to use viewfs:// with hadoop 2.2.0 and two namenodes. I tried to run accumulo init and it failed.

      I had the following in my hadoop core-site.xml

      <configuration>
        <property>
          <name>fs.default.name</name>
          <value>viewfs:///</value>
        </property>
        <property>
          <name>fs.viewfs.mounttable.default.link./nn1</name>
          <value>hdfs://ip-10-1-3-10:9000</value>
        </property>
        <property>
          <name>fs.viewfs.mounttable.default.link./nn2</name>
          <value>hdfs://ip-10-1-3-11:9000</value>
        </property>
      </configuration>
      

      I had the following in my accumulo-site.xml

        <property>
          <name>instance.volumes</name>
          <value>viewfs://nn1,viewfs://nn2</value>
        </property>
      

      I saw the following exception. At this point I am not sure if this is a config problem, accumulo bug, or hadoop bug.

      $ ./bin/accumulo  init
      2013-12-17 20:49:13,289 [init.Initialize] FATAL: java.io.IOException: viewfs://nn1/
      java.io.IOException: viewfs://nn1/
      	at org.apache.hadoop.fs.viewfs.InodeTree.<init>(InodeTree.java:338)
      	at org.apache.hadoop.fs.viewfs.ViewFileSystem$1.<init>(ViewFileSystem.java:161)
      	at org.apache.hadoop.fs.viewfs.ViewFileSystem.initialize(ViewFileSystem.java:161)
      	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2433)
      	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:88)
      	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2467)
      	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2449)
      	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:367)
      	at org.apache.hadoop.fs.Path.getFileSystem(Path.java:287)
      	at org.apache.accumulo.server.fs.VolumeManagerImpl.get(VolumeManagerImpl.java:356)
      	at org.apache.accumulo.server.init.Initialize.main(Initialize.java:556)
      	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:137)
      	at java.lang.Thread.run(Thread.java:744)
      Thread "init" died java.lang.reflect.InvocationTargetException
      java.lang.reflect.InvocationTargetException
      	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:137)
      	at java.lang.Thread.run(Thread.java:744)
      Caused by: java.lang.RuntimeException: java.io.IOException: viewfs://nn1/
      	at org.apache.accumulo.server.init.Initialize.main(Initialize.java:569)
      	... 6 more
      Caused by: java.io.IOException: viewfs://nn1/
      	at org.apache.hadoop.fs.viewfs.InodeTree.<init>(InodeTree.java:338)
      	at org.apache.hadoop.fs.viewfs.ViewFileSystem$1.<init>(ViewFileSystem.java:161)
      	at org.apache.hadoop.fs.viewfs.ViewFileSystem.initialize(ViewFileSystem.java:161)
      	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2433)
      	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:88)
      	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2467)
      	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2449)
      	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:367)
      	at org.apache.hadoop.fs.Path.getFileSystem(Path.java:287)
      	at org.apache.accumulo.server.fs.VolumeManagerImpl.get(VolumeManagerImpl.java:356)
      	at org.apache.accumulo.server.init.Initialize.main(Initialize.java:556)
      	... 6 more
      
      

        Activity

        Hide
        Keith Turner added a comment -

        I changed the following in accumulo-site.xml

           <value>viewfs://nn1,viewfs://nn2</value>
        

        to the following and then init ran ok.

           <value>viewfs:///nn1,viewfs:///nn2</value>
        
        Show
        Keith Turner added a comment - I changed the following in accumulo-site.xml <value>viewfs://nn1,viewfs://nn2</value> to the following and then init ran ok. <value>viewfs:///nn1,viewfs:///nn2</value>

          People

          • Assignee:
            Keith Turner
            Reporter:
            Keith Turner
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development