You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Timothy McKernan <ti...@gmail.com> on 2016/10/27 13:27:23 UTC

replication between single-node clusters: 5984 or 5986?

I'm automating the setup of lots of single-node clusters which all want to
do "pull" replication from a single-node cluster's db designated as the
master. The quick story is that after enabling replication the documents
that were replicated are only visible from the default "node" port, 5986.

1. I have an rpm built by compiling 2.0.0 source and running "make install
release". Other than creating the couchdb user and setting file permissions
the rpm makes no changes to the code.

2. On each server, the rpm is installed using the same default.ini and
local.ini supplied by the source.

3. Then they're configured by running this:
curl -H 'Content-Type: application/json' -X POST
http://127.0.0.1:5984/_cluster_setup -d \
'{"action":"enable_cluster","username":"admin","password":"caught_ya_looking!","bind_address":"0.0.0.0","port":
5984}'
curl -H 'Content-Type: application/json' -X POST
http://admin:caught_ya_looking\!@127.0.0.1:5984/_cluster_setup -d \
'{
  "action":"add_node",
  "username":"admin",
  "password":"caught_ya_looking!",
  "host":"127.0.0.1",
  "port":5984
}'
curl -H 'Content-Type: application/json' -X POST
http://admin:caught_ya_looking\!@127.0.0.1:5984/_cluster_setup -d \
'{"action":"finish_cluster"}'
curl -H 'Content-Type: application/json' -X PUT
http://admin:caught_ya_looking\!@127.0.0.1:5984/monitor

4. On the "master" server, named "md-004" the "monitor" database has a
couchapp uploaded and verified it's usable on port 5984.

5. On a slave server, named "md-005" the following is run:
curl -k -H 'Content-Type: application/json' -X POST
http://admin:caught_ya_looking\!@127.0.0.1:5984/_replicator -d \
'{
  "source":"http://admin:caught_ya_looking!@md-004:5984/monitor",
  "target":"monitor",
  "continuous":true,
  "user_ctx": {
    "roles": ["_admin"]
  }
}'

6. The problem: On the slave server's 5984 fauxton, "monitor" db has size
0. On slave server's 5986 fauxton, the "monitor" db is correctly sized and
the couchapp is usable.

What am I missing with this setup? My call to _replicator is over 5984, so
I expected anything pulled to be accessible to the slave's "public" port,
not just the node.