Aeolus: How to get started

From Pmgwiki

(Difference between revisions)
Jump to: navigation, search
(Directions for installing and running Aeolus code)
(Directions for installing and running Aeolus code)
 
(7 intermediate revisions not shown)
Line 6: Line 6:
#** service postgresql initdb (or run initdb somehow else)
#** service postgresql initdb (or run initdb somehow else)
#** chkconfig postgresql on
#** chkconfig postgresql on
-
#** (the following is adapted from aeolus/auditing/graphdb/SQLEventStore.java)
 
#** sudo -u postgres createuser --superuser YOUR_UNIX_USERNAME
#** sudo -u postgres createuser --superuser YOUR_UNIX_USERNAME
#** createdb AeolusAuthority
#** createdb AeolusAuthority
#** edit pg_hba.conf and change 127.0.0.1 entry to "trust" (fedora)
#** edit pg_hba.conf and change 127.0.0.1 entry to "trust" (fedora)
#** restart postgres server /etc/rc.d/init.d/postgresql restart
#** restart postgres server /etc/rc.d/init.d/postgresql restart
-
#* java 1.6
+
#* java 1.6 (OpenJDK 1.7 recommended)
#* ant
#* ant
# Download code: (download link coming soon)
# Download code: (download link coming soon)
Line 17: Line 16:
#** svn co svn+ssh://<Your-Name-Here>@lirone.csail.mit.edu/space/svnroot/aeolus aeolus<br>
#** svn co svn+ssh://<Your-Name-Here>@lirone.csail.mit.edu/space/svnroot/aeolus aeolus<br>
#** alternatively use eclipse to check out the sources from the repo
#** alternatively use eclipse to check out the sources from the repo
-
# You can look at the documentation on line at [http://pmg.csail.mit.edu/aeolus/javadoc]
+
# Build code using Eclipse or ant
-
# Build code
+
#* Eclipse: browse to build.xml, right click on build.xml and then choose Ant Build from the menu<br>
-
#*use eclipse to browse to build.xml
+
#* ant: run "ant" in the aeolus directory (uses build.xml)
-
#* right click on build.xml and then choose Ant Build from the menu<br>
+
-
#* Alternatively run "ant" in the aeolus directory (uses build.xml)
+
# Create environment
# Create environment
#* Create database (once)
#* Create database (once)
#** AUTHORITY SERVER (per authority/server/AuthorityManager.java)
#** AUTHORITY SERVER (per authority/server/AuthorityManager.java)
 +
#*** running as the postgres user
 +
#*** psql template1
#*** CREATE DATABASE AeolusAuthority;
#*** CREATE DATABASE AeolusAuthority;
-
#*** CONNECT AeolusAuthority;
+
#*** CREATE USER aeolus PASSWORD '<password-from-AuthorityManager.java>';
-
#*** GRANT ALL ON * TO 'aeolus'@'localhost' IDENTIFIED BY '<find-the-password-in-the-AuthorityManager-code>';
+
#*** GRANT ALL ON database AeolusAuthority TO aeolus;
 +
#*** recent tests indicate that some versions of postgres do not handle database names with upper case characters very well.  This leads to the suggestion to change AeolusAuthority to aeolusauthority in the above "create database" command and in the file authority/api/AuthorityConfiguration.java
# Run code
# Run code
#* cd aeolus
#* cd aeolus
Line 33: Line 33:
#* ./run-vn edu.mit.csail.aeolus.apps.<insert dir-name>.<insert class-name>    This starts the application
#* ./run-vn edu.mit.csail.aeolus.apps.<insert dir-name>.<insert class-name>    This starts the application
#** Note: do not use ".class" in the class name
#** Note: do not use ".class" in the class name
 +
#** <b>Important:</b> You can use ./run-vn -logging false <args-as-above> to turn off auditing. (The system is much slower with auditing enabled.)
# Misc notes
# Misc notes
#* Note: aeolus-apps.jar contains all the classes in apps (or at least approximately)
#* Note: aeolus-apps.jar contains all the classes in apps (or at least approximately)
#* Note: need to add aeolus-apps.jar to the class path if using shared state
#* Note: need to add aeolus-apps.jar to the class path if using shared state
-
#* Alternatively, cd to the dist directory and type <br>java -cp aeolus-rt.jar:../lib/bcel-5.2.jar edu.mit.csail.aeolus.runtime.RuntimeLoader /home/user-name/workspace/aeolus/dist/aeolus-apps.jar edu.mit.csail.aeolus.apps.testapps.HelloWorld<br>
+
#* Note: the Aeolus class loader always needs a full, absolute pathname
-
#* Note: the Aeolus class loader (RuntimeLoader in above command) always needs a full, absolute pathname
+
 
-
#* For performance measurements bypass the aeolus class loader<br>java -jar aeolus-rt.jar aeolus-rt.jar edu.mit.csail.aeolus.apps.testapps.RuntimeBenchmark
+
The API documentation is available here: [http://pmg.csail.mit.edu/aeolus/]
-
#* For completeness, here are the other two commands to collect performance numbers:
+
-
#** RPC: java -Xmx3G -cp aeolus-rt.jar:aeolus-apps.jar;../lib/bcel-5.2.jar edu.mit.csail.aeolus.runtime.RuntimeLoader ~/aeolus/dist/aeolus-apps.jar edu.mit.csail.aeolus.testing.MyApplication
+
-
#** Monster: java -Xmx3G -cp aeolus-rt.jar:../lib/bcel-5.2.jar edu.mit.csail.aeolus.runtime.RuntimeLoader ~/aeolus/dist/aeolus-apps.jar edu.mit.csail.aeolus.apps.bnewmonster.MonsterServer
+

Latest revision as of 17:07, 27 August 2012

Directions for installing and running Aeolus code

  1. Prerequisites
    • Postgres database
      • Install the rpms or packages (postgresql, postgresql-server, postgresql-jdbc)
      • service postgresql initdb (or run initdb somehow else)
      • chkconfig postgresql on
      • sudo -u postgres createuser --superuser YOUR_UNIX_USERNAME
      • createdb AeolusAuthority
      • edit pg_hba.conf and change 127.0.0.1 entry to "trust" (fedora)
      • restart postgres server /etc/rc.d/init.d/postgresql restart
    • java 1.6 (OpenJDK 1.7 recommended)
    • ant
  2. Download code: (download link coming soon)
    • For people with pmg accounts
      • svn co svn+ssh://<Your-Name-Here>@lirone.csail.mit.edu/space/svnroot/aeolus aeolus
      • alternatively use eclipse to check out the sources from the repo
  3. Build code using Eclipse or ant
    • Eclipse: browse to build.xml, right click on build.xml and then choose Ant Build from the menu
    • ant: run "ant" in the aeolus directory (uses build.xml)
  4. Create environment
    • Create database (once)
      • AUTHORITY SERVER (per authority/server/AuthorityManager.java)
        • running as the postgres user
        • psql template1
        • CREATE DATABASE AeolusAuthority;
        • CREATE USER aeolus PASSWORD '<password-from-AuthorityManager.java>';
        • GRANT ALL ON database AeolusAuthority TO aeolus;
        • recent tests indicate that some versions of postgres do not handle database names with upper case characters very well. This leads to the suggestion to change AeolusAuthority to aeolusauthority in the above "create database" command and in the file authority/api/AuthorityConfiguration.java
  5. Run code
    • cd aeolus
    • ./run-server This starts the AS (aka the Authority Server)
    • ./run-vn edu.mit.csail.aeolus.apps.<insert dir-name>.<insert class-name> This starts the application
      • Note: do not use ".class" in the class name
      • Important: You can use ./run-vn -logging false <args-as-above> to turn off auditing. (The system is much slower with auditing enabled.)
  6. Misc notes
    • Note: aeolus-apps.jar contains all the classes in apps (or at least approximately)
    • Note: need to add aeolus-apps.jar to the class path if using shared state
    • Note: the Aeolus class loader always needs a full, absolute pathname

The API documentation is available here: [1]

Personal tools