Question

I've been struggling for some time now on setting up a "simple" BerkeleyDB replication using the db_replicate utility.

However no luck in making it actually work, and I'm not finding any concrete example on how thing should be set up.

Here is the setup I have so far. Environment is a Debian Wheezy with BDB 5.1.29

Database generation

A simple python script reading "CSV" files and inserting each line into the BDB file

from glob import glob
from bsddb.db import DBEnv, DB
from bsddb.db import DB_CREATE, DB_PRIVATE, DB_INIT_MPOOL, DB_BTREE, DB_HASH, DB_INIT_LOCK, DB_INIT_LOG, DB_INIT_TXN, DB_INIT_REP, DB_THREAD

env = DBEnv()
env.set_cachesize(0, 1024 * 1024 * 32)
env.open('./db/', DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_LOG |
                  DB_INIT_TXN | DB_CREATE | DB_INIT_REP | DB_THREAD)

db = DB(env)
db.open('apd.db', dbname='stuff', flags=DB_CREATE, dbtype=DB_BTREE)

for csvfile in glob('Stuff/*.csv'):
    for line in open(csvfile):
        db.put(line.strip(), None)

db.close()
env.close()

DB Configuration

In the DB_CONFIG file, this is where I'm missing the most important part I guess

repmgr_set_local_site localhost 6000

Actual replication try

# Copy the database file to begin with
db5.1_hotbackup -h ./db/ -b ./other-place

# Start replication master
db5.1_replicate -M -h db

# Then try to connect to it
db5.1_replicate -h ./other-place

The only thing I currently get from the replicate tool is:

db5.1_replicate(20648): DB_ENV->open: No such file or directory

edit after stracing the process I found out it was trying to access to __db.001, so I've copied those files manually. The current output is:

db5.1_replicate(22295): repmgr is already started
db5.1_replicate(22295): repmgr is already started
db5.1_replicate(22295): repmgr_start: Invalid argument

I suppose I'm missing the actual configuration value for the client to connect to the server, but so far no luck as all the settings yielded unrecognized name-value pair errors

Does anyone know how this setup might be completed? Maybe I'm not even headed in the right direction an this should be something completely different?

No correct solution

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top