I’m starting a cluster of nodes across two datacentres using Docker Toolbox for Windows 7; on Docker for Mac OS I don’t see the same issue.
The issue is that on Windows 7 only two of the nodes are showing in “docker ps -a” as being healthy, and it’s only these two that I can “cockroach sql --insecure” into to be able to run SQL commands. If I attempt to do the same on the other three nodes it just blocks.
The CockroachDB Cluster Overview however is showing 5 live nodes with no under-replicated ranges, so there does seem to be a discrepancy.
The commands I am running are:
docker-compose up -d
to start the cluster using the YML file shown below, and then running the commands
winpty docker exec -it roach-o bash
/cockroach/cockroach init --insecure
to initialise the cluster.
Why the discrepancy, and would you suggest an alternative way to start the cluster (aside from not using Windows 7 which is a company requirement!!) - thanks.
version: '2.1'
networks:
shared:
driver: bridge
dc0:
driver: bridge
dc1:
driver: bridge
volumes:
roach0-data:
roach1-data:
roach2-data:
roach3-data:
roach4-data:
services:
# DC 0 ROACHES
roach-0:
container_name: roach-0
image: cockroachdb/cockroach
volumes:
- roach0-data:/cockroach/cockroach-data
networks:
- shared
- dc0
command: start --logtostderr=INFO --insecure --locality=datacenter=dc-0 --join=roach-0,roach-1,roach-2
healthcheck:
test: /cockroach/cockroach sql --insecure -e "show databases;"
interval: 1s
ports:
- 8000:8080
- 9000:26257
roach-1:
container_name: roach-1
image: cockroachdb/cockroach
volumes:
- roach1-data:/cockroach/cockroach-data
networks:
- shared
- dc0
command: start --logtostderr=INFO --insecure --locality=datacenter=dc-0 --join=roach-0,roach-1,roach-2
healthcheck:
test: /cockroach/cockroach sql --insecure -e "show databases;"
interval: 1s
ports:
- 8001:8080
- 9001:26257
# DC 1 ROACHES
roach-2:
container_name: roach-2
image: cockroachdb/cockroach
volumes:
- roach2-data:/cockroach/cockroach-data
networks:
- shared
- dc1
command: start --logtostderr=INFO --insecure --locality=datacenter=dc-1 --join=roach-0,roach-1,roach-2
healthcheck:
test: /cockroach/cockroach sql --insecure -e "show databases;"
interval: 1s
ports:
- 8002:8080
- 9002:26257
roach-3:
container_name: roach-3
image: cockroachdb/cockroach
volumes:
- roach3-data:/cockroach/cockroach-data
networks:
- shared
- dc1
command: start --logtostderr=INFO --insecure --locality=datacenter=dc-1 --join=roach-0,roach-1,roach-2
healthcheck:
test: /cockroach/cockroach sql --insecure -e "show databases;"
interval: 1s
ports:
- 8003:8080
- 9003:26257
roach-4:
container_name: roach-4
image: cockroachdb/cockroach
volumes:
- roach4-data:/cockroach/cockroach-data
networks:
- shared
- dc1
command: start --logtostderr=INFO --insecure --locality=datacenter=dc-1 --join=roach-0,roach-1,roach-2
healthcheck:
test: /cockroach/cockroach sql --insecure -e "show databases;"
interval: 1s
ports:
- 8004:8080
- 9004:26257