I’d like to manually install SciDB. I hope the steps outlined are somewhat correct, I read thru all the scripts and tried to replay what is actually happening. I’m pretty sure that I’m doing the right thing, to provide some context theres a lengthy intro about what I did, let me know if you need any details about the stuff I did…
As far as I read the scripts the installation basically boils down to:
- Prepare System
- Only the scidb account is actually necessary
- install scidb-14.12-all (DO NOT INSTALL scidb-14.12-all-coord because that will pull in PostgreSQL)
- Place config.ini in /opt/scidb/14.12/etc/config.ini
- Create the Base Data Path … # mkdir -p $SCIDB_BASE_DATA_PATH # only one instance so no instance storage paths required
- Make all the data dirs owned by the scidb user … # chown -R scidb $SCIDB_BASE_DATA_PATH
- Configure Postgres according to the values in config.ini
** NOTE to the devs: PostgreSQL does allow upper and lower case letters in almost all object names, you just need to quote the identifer as in >>CREATE DATABASE “miXeDcAsE”; CREATE TABLE “MoReMiXeDcAsEs”<< – unquoted identifiers will be lower cased before being processed by PostgreSQL.
Now the interesting part
The scidb.py initAll adds a couple of command line switches but I’m not quite sure they why the would be needed, after all it is just information that actually resides in the configurationfile
Heres The config file, prepared by the configurator utility
[scidb_test_cluster] server-0=host1.example.invalid,0 install_root=/opt/scidb/14.12 pluginsdir=/opt/scidb/14.12/lib/scidb/plugins logconf=/opt/scidb/14.12/share/scidb/log4cxx.properties db_user=scidb db_passwd=scidb base-port=1239 base-path=/data/ngsarchive2/scidb/data redundancy=0 ### Threading: max_concurrent_queries=2, threads_per_query=8 # max_concurrent_queries + 2: execution-threads=4 # max_concurrent_queries * threads_per_query: result-prefetch-threads=16 # threads_per_query: result-prefetch-queue-size=8 operator-threads=8 ### Memory: 32000MB per instance, 24000MB reserved # network: 9600MB per instance assuming 5MB average chunks # in units of chunks per query: sg-send-queue-size=480 sg-receive-queue-size=480 # caches: 9600MB per instance smgr-cache-size=4800 mem-array-threshold=4800 # sort: 4800MB per instance (specified per thread) merge-sort-buffer=300 # NOTE: Uncomment the following line to set a hard memory limit; # NOTE: queries exceeding this cap will fail: # max-memory-limit=32000
The base data directory does exist:
ls -ld /data/ngsarchive2/scidb/data drwxr-sr-x 2 scidb scidb 4096 Feb 10 14:00 /data/ngsarchive2/scidb/data
On each host run as scidb user, and this is the question – Why does it fail?
/opt/scidb/14.12/bin/scidb --register --config /data/ngsarchive2/scidb/scidb_test_cluster.ini --catalog 'Host=vie-bio-postgres; User ID=scidb; Password=scidb; Database=scidb_test_cluster;'
2015-2-10 14:7:46 (ppid=14611): Failed to initialize server configuration: UserException in file: src/system/Config.cpp function: parse line: 720
Error id: scidb::SCIDB_SE_CONFIG::SCIDB_LE_ERROR_IN_CONFIGURATION_FILE
Error description: Error in config. Error '* Line 1, Column 2
Syntax error: value, object or array expected.
' in configuration file.
If that worked then, on each host: run as scidb user
SciDB should be installed and running it should be a matter of: