Aeolus: How to get started

From Pmgwiki

(Difference between revisions)
Jump to: navigation, search
(Directions for checking out and running code)
(Directions for installing and running Aeolus code)
 
(14 intermediate revisions not shown)
Line 1: Line 1:
-
== Directions for checking out and running code ==
+
== Directions for installing and running Aeolus code ==
# Prerequisites
# Prerequisites
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
-
# Check out code (or download code: download information coming soon)
+
# Download code: (download link coming soon)
-
#*svn co svn+ssh://<Your-Name-Here>@lirone.csail.mit.edu/space/svnroot/aeolus aeolus<br>
+
#* For people with pmg accounts
-
#* alternatively use eclipse to check out the sources from the repo
+
#** svn co svn+ssh://<Your-Name-Here>@lirone.csail.mit.edu/space/svnroot/aeolus aeolus<br>
-
# You can look at the documentation on line at [http://pmg.csail.mit.edu/aeolus]
+
#** alternatively use eclipse to check out the sources from the repo
-
# Build code
+
# Build code using Eclipse or ant
-
#*use eclipse to browse to build.xml
+
#* Eclipse: browse to build.xml, right click on build.xml and then choose Ant Build from the menu<br>
-
#* right click on build.xml and then choose Ant Build from the menu<br>
+
#* ant: run "ant" in the aeolus directory (uses build.xml)
-
#* Alternatively run "ant" in the aeolus directory (uses build.xml)
+
# Create environment
# Create environment
-
#* Create databases (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 32: 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
-
# Running code in earlier versions (for reference only)
+
#** <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.)
-
#*java -cp ~/workspace/aeolus/aeolus/dist/aeolus-rt.jar:~/workspace/aeolus/aeolus/../lib/bcel-5.2.jar edu.mit.csail.aeolus.runtime.RuntimeLoader ~/workspace/aeolus/aeolus/dist/aeolus-apps.jar edu.mit.csail.aeolus.apps.testapps.HelloWorld<br>
+
# 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