2015-05-15 19 views
6

Ho bisogno di avere un cluster Couchbase locale e di replicare i dati dal nostro cluster di prodotti su di esso, non può averlo installato direttamente su OS X (a causa di incompatibilità vbuckets - prod cluster è su linux) .Couchbase XDCR in un contenitore Docker

Docker per il salvataggio. Sono riuscito a creare Dockerfile, you can see it here.

Ora, il cluster viene eseguito, è raggiungibile in LAN, tutte le porte necessarie sono spedizioni - I used tricks described here

ho creato con successo riferimento cluster scheda XDCR, eppure ogni volta che provo a replicare i dati di secchio - cambia il nome host del mio gruppo per alcuni indirizzi IP non chiacchiere e crea una voce di registro:

Updated remote cluster `mycluster` hostname to "172.17.0.5:8091" 
because old one ("mylaptop.company.com:8091") 
is not part of the cluster anymore 

so Couchbase è molto sensibile agli indirizzi IP, come potete vedere, invece sto usando hostname della mia macchina (host del contenitore docker). Ho provato a cambiare il nome host del contenitore usando docker run -h, che non sembrava essere d'aiuto.

Chiunque, ragazzi, avete impostato XDCR con un cluster in esecuzione in un contenitore mobile?

+0

Hai mai risolto questo? Mi sto imbattendo in un problema simile. – jmiraglia

+0

@jmiraglia no, sfortunatamente non sono riuscito a trovare un modo per risolvere questo problema. Più tardi sono passato ad altre cose, nel mio attuale progetto non sto usando Couchbase. Scusate. – Agzam

risposta

1

Il cluster non accetta il nodo come parte di esso, quindi viene eliminato. Sembra che tu non abbia il tuo networking impostato correttamente.

potrebbe essere che avete bisogno di alcune più porte aperte: (tutti nodo a nodo porte) http://docs.couchbase.com/couchbase-manual-2.5/cb-install/#network-ports

Inoltre, come si fa a iniziare il contenitore? L'esposizione nel file di dati non apre le porte, è inoltre necessario inserire il comando P per visualizzare realmente le porte

+0

no, tutte le porte necessarie sono aperte. Ho tutti questi: 8091 8092 11209 11210 11211 11214 11215 18091 18092 4369. Come ho detto, trova il bucket, si connette al cluster, ma non vuole replicare, perché l'indirizzo IP del contenitore docker è diverso da l'ip della sua macchina hosting. Sto cercando di usare l'hostname della mia macchina, invece di ip - tutto lo stesso, non si replica – Agzam

+0

Forse ho bisogno di trovare un modo per rendere il container docker "visibile" nella rete locale completamente, solo l'inoltro delle porte non è sufficiente? – Agzam

1

Ho finito per capirlo. Il primo passo è impostare il nome host della tua base divano su qualcosa accessibile dal master cluster. La seconda cosa che devi fare è aggiornare il file hosts sul cluster slave, sostituendo la definizione corrente 127.0.0.1 in cui COUCHBASE_HOSTNAME è il nome host utilizzato in precedenza, non sono stato in grado di utilizzare gli indirizzi IP pubblici e ho dovuto usare un nome di dominio con record DNS che puntano allo slave:

127.0.0.1 COUCHBASE_HOSTNAME

Problemi correlati