Print

Print


Greetings -

I recently deployed a single node instance of qserv on lsst-dev03 (/u1/bchick/sandbox2/modules) using the latest master branch source code. It wasn't easy, but I got it up and running and will document here precisely what I did. What follows are merely notes on a series of hacks that worked. Hopefully these will be helpful as we update the build and configure processes.

Also, I'd like to put these on Trac somewhere. Any suggestions on where would a good place?

Enjoy,
Bill

1) Copied qserv source code to /u1/bchick/src/qserv-modules

2) copy qserv-build.conf.example to qserv-build.conf

3) Modified qserv-build.conf to include the following lines:
base_dir = /u1/bchick/sandbox2/modules
master=lsst-dev03.slac.stanford.edu
[qms]
db = QMS
user = qmsuser
pass = qserv
port = 7082
[mysqld]
port=3306
pass=qserv
[dependencies]
scisql_url=file:///u/ki/bchick/qserv_build/scisql-0.3.2.tar.bz2

4) Fixed bug in /u1/bchick/src/qserv-modules/qserv/core/site_scons/detect.py changing line 189 from
if existPp: ppDirs.prepend(existPp)
to
if existPp: ppDirs = existPp.split(":") + ppDirs

5) Ran `scons' within /u1/bchick/src/qserv-modules

6) Added the following to the top of qserv-env.sh:
export PYTHONPATH=${PYTHONPATH}:${QSERV_BASE}/lib/python2.6/site-packages

7) Added a symbolic links by running:
ln -s $QSERV_BASE/qserv/core $QSERV_BASE/qserv/master
ln -s $QSERV_BASE/qserv/core/modules/proxy $QSERV_BASE/qserv/core/proxy
ln -s $QSERV_BASE/qserv/core/bld/dist/lsst/qserv/master $QSERV_BASE/lib/python2.6/site-packages/lsst/qserv/master

8) I'm not yet sure how to build the worker, so I copied the following shared objects from a preexisting qserv instance:
cp /u1/bchick/sandbox2/mystuff/qserv/worker/dist/libqserv_worker.so $QSERV_BASE/qserv/worker/dist
cp /u1/bchick/sandbox2/mystuff/qserv/worker/dist/libqserv_workerCmsd.so $QSERV_BASE/qserv/worker/dist

9) Obtain qserv environment variables:
source $QSERV_BASE/qserv-env.sh

10) Ran the following which *attempts* to start all necessary qserv processes (qserv-master failed to start due to a lack of metadata. okay for now):
qserv-start

11) Logged into mysql as root:
mysql -A --socket=$QSERV_BASE/var/lib/mysql/mysql.sock --protocol=TCP --user=root --password='qserv' --database=LSST

12) Grant privileges to qserv mysql user:
grant all privileges on *.* to qsmaster@localhost;

13) Create qservResult database:
create database qservResult;

14) Create qserv worker database and Dbs table:
create database qservw_worker;
use qservw_worker;
create table Dbs (db char(200));
insert into Dbs (db) values ('LSST');

15) Ran unit test in order to acquire data, including metadata (note that test failed):
qserv-benchmark.py -l --case=01

16) Shutdown qserv:
qserv-stop

17) Manually killed mysql-proxy:
killall mysql-proxy

18) Start qserv
qserv-start

19) Connected to mysql-proxy:
mysql -A --port=4040 --protocol=TCP --user=root --pass='qserv' --database=LSST

20) Ran a query (and obtained results!):
select * from Object where objectId = 430213989148129;

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the QSERV-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1