Setup Instructions
Perl
- YAML
- Net::Stomp
- DBI
- DBD::Pg
- WWW::Curl::Easy
- Memcached::libmemcached
Checkout the source and setup an /etc/cornea.conf file.
PostgreSQL
Note that postgres 8.4 ships with named transactions disabled. We use that for a little bit of two-phase commit action across the database cluster. The 2PC stuff isn't in the critical performance path -- it is just for administrative functions (adding new storage nodes and adding new asset representations). You'll need to allow a few of those, so add the following to your postgresql.conf:
max_prepared_transactions = 5
Setting up a few dedicated nodes... db1 and db2.
db1# createdb cornea && createuser cornea && createlang cornea plpgsql && psql cornea cornea < cornea.sql db2# createdb cornea && createuser cornea && createlang cornea plpgsql && psql cornea cornea < cornea.sql db1# corneactl init-metanode db1# corneactl init-peer-metanode db2 db2# corneactl init-metanode db2# corneactl init-peer-metanode db1 db1# corneactl first-sync-peer-metanode db2 db2# corneactl first-sync-peer-metanode db1 db1# cd /cornea/etc/smf && mk-mirror-smf.sh db2 db1# svccfg import /cornea/etc/smf/cornea-mirror-db2.xml db1# svcadm enable mirror-db2 db2# cd /cornea/etc/smf && mk-mirror-smf.sh db1 db2# svccfg import /cornea/etc/smf/cornea-mirror-db1.xml db2# svcadm enable mirror-db1
RabbitMQ (with stomp)
/etc/rabbitmq/rabbitmq.conf (the keys must match):
SERVER_START_ARGS=' -setcookie MAKEUPALONGSTRINGHERE -rabbit stomp_listeners [{"0.0.0.0",61613}] extra_startup_steps [{"STOMP-listeners",rabbit_stomp,kickstart,[]}]' CTL_ERL_ARGS="-setcookie MAKEUPALONGSTRINGHERE"
# rabbitmqctl add_user cornea cornea # rabbitmqctl delete_user guest # rabbitmqctl set_permissions cornea "^cornea.*" ".*" ".*"
