Announcement

Collapse
No announcement yet.

Volt DB doesn't start

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Volt DB doesn't start

    I've installed VoltDB on Linux OS Centos x86_64 with java version "Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)" when i try to start the example "voter" i receive the following error (View image error.jpg):

    Build: 4.2 voltdb-4.2-0-gc9751d3-local Enterprise Edition
    Connecting to VoltDB cluster as the leader...
    Host id of this node is: 0
    Starting VoltDB with trial license. License expires on May 17, 2014.
    Initializing the database and command logs. This may take a moment...
    ERROR: Thread Thread[Iv2ExecutionSite: 0:0,5,main] died
    java.lang.UnsatisfiedLinkError: /tmp/snappy-1.1.0.1-645f8c7c-1b9b-40ad-8b08-c0c884a3148a-libsnappyjava.so: /tmp/snappy-1.1.0.1-645f8c7c-1b9b-40ad-8b08-c0c884a3148a-libsnappyjava.so: failed to map segment from shared object: Operation not permitted
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.jav a:1939)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.jav a:1864)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java :1825)
    at java.lang.Runtime.load0(Runtime.java:792)
    at java.lang.System.load(System.java:1059)
    at org.xerial.snappy.SnappyLoader.loadNativeLibrary(S nappyLoader.java:166)
    at org.xerial.snappy.SnappyLoader.load(SnappyLoader.j ava:145)
    at org.xerial.snappy.Snappy.<clinit>(Snappy.java:47)
    at org.voltdb.utils.CompressionService.maxCompressedL ength(CompressionService.java :216)
    at org.voltdb.SnapshotSiteProcessor.<clinit>(Snapshot SiteProcessor.java:147)
    at org.voltdb.iv2.Site.initialize(Site.java:442)
    at org.voltdb.iv2.Site.run(Site.java:506)
    at java.lang.Thread.run(Thread.java:722)
    ERROR: Thread Thread[Iv2ExecutionSite: 0:1,5,main] died
    java.lang.NoClassDefFoundError: Could not initialize class org.voltdb.SnapshotSiteProcesso r
    at org.voltdb.iv2.Site.initialize(Site.java:442)
    at org.voltdb.iv2.Site.run(Site.java:506)
    at java.lang.Thread.run(Thread.java:722)
    ERROR: Thread Thread[Iv2ExecutionSite: 0:2,5,main] died
    java.lang.NoClassDefFoundError: Could not initialize class org.voltdb.SnapshotSiteProcesso r
    at org.voltdb.iv2.Site.initialize(Site.java:442)
    at org.voltdb.iv2.Site.run(Site.java:506)
    at java.lang.Thread.run(Thread.java:722)
    Attached Files

  • #2
    Hi,

    You do not have execute privileges in /tmp. This is a known limitation - see #5.3 in the release notes http://voltdb.com/docs/ReleaseNotes/...ownLimitations . You can either change /tmp, or you can specify an alternate tmpdir. I've included the information from our release notes below:

    If the HTTP port is enabled (which it is by default) but the process does not have execute privileges for the /tmp directory, VoltDB throws a fatal exception on startup. The error message indicates that the process could not load the native library for the Snappy web server.
    The workaround is to either use an account that has execute permission for the /tmp directory or specify an alternate directory that the account can access by assigning the environment variable VOLTDB_OPTS = "-Djava.io.tmpdir={alternate-tmpdir}".

    Comment


    • #3
      Originally posted by rmorgenstein View Post
      Hi,

      You do not have execute privileges in /tmp. This is a known limitation - see #5.3 in the release notes http://voltdb.com/docs/ReleaseNotes/...ownLimitations . You can either change /tmp, or you can specify an alternate tmpdir. I've included the information from our release notes below:

      If the HTTP port is enabled (which it is by default) but the process does not have execute privileges for the /tmp directory, VoltDB throws a fatal exception on startup. The error message indicates that the process could not load the native library for the Snappy web server.
      The workaround is to either use an account that has execute permission for the /tmp directory or specify an alternate directory that the account can access by assigning the environment variable VOLTDB_OPTS = "-Djava.io.tmpdir={alternate-tmpdir}".
      thank you, we solved the problem

      Comment

      Working...
      X