(Antiquity graphic)
Introduction
News
Search
Documentation License
Download
Contributors
Contact Us

Antiquity
Secure Log For Wide-Area Distributed Storage

Installation Guide - Bamboo
  • Installing & Testing Bamboo
      • cd /bamboo/test
      • perl -w location-test-menu.pl
    • Start up a node (option 4)
      • Successful output:
        • Starting localhost:3630 with gateway localhost:3630.
          cfg=/tmp/experiment-1478-localhost-3630.cfg
          log=/tmp/experiment-1478-localhost-3630.log
          pid=1479
    • Check object pointers (option 2)
      • Successful output:
        • "Some text here
        • All counts okay."
        • If you see "All counts okay" then the test was successful
    • Note:
      • Bamboo is both a Distributed Hash Table (DHT) as well as an "operating system"
        • By operating system, we mean that antiquity or anyone provides Bamboo with configuration files (.cfg) and Bamboo takes these files and executes them on its system. Bamboo then creates a gateway for the configuration file, which can be viewed through a web browser. So Bamboo's operating system structure never changes, and its job is to merely wait for a configuration file to be given to it so it can execute it
        • Bamboo does have the capability of providing a DHT but for antiquity purposes, we will not be using this functionality
  • Running Bamboo (Bamboo Guide)
    • Recall:
      • The note above describes Bamboo to provide an operating system for configuration files to be run on
    • Start Bamboo:
      • To run Bamboo in some configuration other than a simple test, you need to create a configuration file for each node you want to run. Go ahead and save this config file as /tmp/gateway.cfg
      • Start up the bamboo node:
        • /bamboo/bin/run-java bamboo.lss.DustDevil /tmp/gateway.cfg
          • Receive errors (should only be seen by Intel Mac users):
            • Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/user/bamboo/lib/darwin/libdb_java-4.2.jnilib:
            • at java.lang.ClassLoader$NativeLibrary.load(Native Method)
            • at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
            • at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
            • at java.lang.Runtime.loadLibrary0(Runtime.java:822)
            • at java.lang.System.loadLibrary(System.java:992)
            • at com.sleepycat.db.db_javaJNI.(db_javaJNI.java:36)
            • at com.sleepycat.db.DbEnv.(DbEnv.java:1081)
            • at bamboo.db.StorageManager.init(StorageManager.java:737)
            • at bamboo.lss.DustDevil.init_nodes(DustDevil.java:138)
            • at bamboo.lss.DustDevil.main(DustDevil.java:281)
            • at bamboo.lss.DustDevil.main(DustDevil.java:184)
            • at bamboo.lss.DustDevil.main(DustDevil.java:338)
            • Fix:
              • The current library /bamboo/lib/darwin/libdb_java-4.2.jnilib used in Bamboo is compiled for Mac PPC and we are running it on an Intel Mac, so this library along with /libdb-4.2dylib (in the same directory as the other one) needs to be updated to a compatible version capable of running on an Intel Mac
                • x86 (Intel Mac) versions of these files are already located in/antiquity/lib/darwin_x86/ so we can just copy them from that folder over to /bamboo/lib/darwin/
                  • cp ~/antiquity/lib/darwin_x86/libdb_java-4.2.jnilib ~/bamboo/lib/darwin
                  • cp ~/antiquity/lib/darwin_x86/libdb-4.2.dylib ~/bamboo/lib/darwin
        • Run node again:
          • /bamboo/bin/run-java bamboo.lss.DustDevil /tmp/gateway.cfg
          • Successful output:
            • You should see:
              • lots of INFO messages regarding configurations
              • Sandstorm: Ready
              • Tapestry: Ready
              • :watchdog awakened messages
          • To see the node's info on the web browser, open:
            • http://localhost:3631/


Last modified 2007/08/17.