#community-help

Troubleshooting Multi-Node Setup in Docker

TLDR Harpreet experienced issues running a multi-node setup on Docker and received troubleshooting advice and alternative solution from Kishore Nallan.

Powered by Struct AI

2

Jul 09, 2021 (29 months ago)
Harpreet
Photo of md5-745d880d794220d9f0fb9ade17c6b861
Harpreet
10:58 AM
I'm trying to run multiple node setup locally.

First I did
echo '127.0.0.1:8107:8108,127.0.0.1:7107:7108,127.0.0.1:9107:9108' > `pwd`/typesense-server-nodes`

following [this](https://github.com/typesense/typesense-js/blob/master/package.json#L71).

Then I opened 3 terminals and pasted:
docker run -i -p 8108:8108 -p 8107:8107 -v/tmp/typesense-server-data-1b/:/data -v`pwd`/typesense-server-nodes:/typesense-server-nodes typesense/typesense:0.20.0 --data-dir /data --api-key=xyz --listen-port 8108 --peering-port 8107 --enable-cors --nodes=/typesense-server-nodes```
docker run -i -p 7108:7108 -p 7107:7107 -v/tmp/.typesense-server-data-2b/:/data -vpwd/typesense-server-nodes:/typesense-server-nodes typesense/typesense:0.20.0 --data-dir /data --api-key=xyz --listen-port 7108 --peering-port 7107 --enable-cors --nodes=/typesense-server-nodes

docker run -i -p 9108:9108 -p 9107:9107 -v/tmp/.typesense-server-data-3b/:/data -vpwd/typesense-server-nodes:/typesense-server-nodes typesense/typesense:0.20.0 --data-dir /data --api-key=xyz --listen-port 9108 --peering-port 9107 --enable-cors --nodes=/typesense-server-nodes

Log was repeating `Multi-node with no leader: refusing to reset peers.`
So I tried initiating voting process, which returned `success: true` but nothing happened.
All other request are returning `{ "message": "Not Ready or Lagging"}`
What am I missing?
I20210709 10:33:43.281678 129 typesense_server_utils.cpp:260] Typesense peering service is running on 10.0.2.100:8107
I20210709 10:33:43.281688 129 typesense_server_utils.cpp:261] Snapshot interval configured as: 3600s
W20210709 10:33:43.281697 129 controller.cpp:1454] SIGINT was installed with 1
I20210709 10:33:43.281752 129 raft_server.cpp:511] Term: 1, last_index index: 0, committed_index: 0, known_applied_index: 0, applying_index: 0, pending_index: 0, disk_index: 0, pending_queue_size: 0, local_sequence: 0
W20210709 10:33:43.281774 129 raft_server.cpp:539] Multi-node with no leader: refusing to reset peers.
I20210709 10:33:53.283394 129 raft_server.cpp:511] Term: 1, last_index index: 0, committed_index: 0, known_applied_index: 0, applying_index: 0, pending_index: 0, disk_index: 0, pending_queue_size: 0, local_sequence: 0
W20210709 10:33:53.283416 129 raft_server.cpp:539] Multi-node with no leader: refusing to reset peers.
I20210709 10:33:54.136162 138 node.cpp:1484] node default_group:10.0.2.100:8107:8108 term 1 start pre_vote
W20210709 10:33:54.136191 138 node.cpp:1494] node default_group:10.0.2.100:8107:8108 can't do pre_vote as it is not in 127.0.0.1:7107:7108,127.0.0.1:8107:8108,127.0.0.1:9107:9108
I20210709 10:34:00.097368 139 node.cpp:1484] node default_group:10.0.2.100:8107:8108 term 1 start pre_vote
W20210709 10:34:00.097395 139 node.cpp:1494] node default_group:10.0.2.100:8107:8108 can't do pre_vote as it is not in 127.0.0.1:7107:7108,127.0.0.1:8107:8108,127.0.0.1:9107:9108
I20210709 10:34:02.366971 43 node.cpp:1211] node default_group:10.0.2.100:8107:8108 trigger-vote, current_term 1 state FOLLOWER election_timeout 5000
I20210709 10:34:02.366998 43 raft_server.cpp:664] Triggered vote. Ok? 1, status: OK
I20210709 10:34:03.284966 129 raft_server.cpp:511] Term: 1, last_index index: 0, committed_index: 0, known_applied_index: 0, applying_index: 0, pending_index: 0, disk_index: 0, pending_queue_size: 0, local_sequence: 0
W20210709 10:34:03.284992 129 raft_server.cpp:539] Multi-node with no leader: refusing to reset peers.
I20210709 10:34:08.323179 138 node.cpp:1484] node default_group:10.0.2.100:8107:8108 term 1 start pre_vote
W20210709 10:34:08.323215 138 node.cpp:1494] node default_group:10.0.2.100:8107:8108 can't do pre_vote as it is not in 127.0.0.1:7107:7108,127.0.0.1:8107:8108,127.0.0.1:9107:9108```
Kishore Nallan
Photo of md5-4e872368b2b2668460205b409e95c2ea
Kishore Nallan
11:00 AM
Docker containers cannot share network this way unless you use host networking.
Harpreet
Photo of md5-745d880d794220d9f0fb9ade17c6b861
Harpreet
11:02 AM
Okay, I'll read up about it.
Kishore Nallan
Photo of md5-4e872368b2b2668460205b409e95c2ea
Kishore Nallan
11:02 AM
But if you are on Mac, it's not possible to run Docker on host networking mode.
Harpreet
Photo of md5-745d880d794220d9f0fb9ade17c6b861
Harpreet
11:02 AM
I'm on linux
Kishore Nallan
Photo of md5-4e872368b2b2668460205b409e95c2ea
Kishore Nallan
11:03 AM
I'm sure there is a way to do it using Docker networking or via Docker Compose as well but I'm not familiar enough to advise.

1

11:03
Kishore Nallan
11:03 AM
Harpreet
Photo of md5-745d880d794220d9f0fb9ade17c6b861
Harpreet
11:07 AM
What I'm trying to do is to perform the vote operation on cluster, what's the easiest way to achieve that?
Kishore Nallan
Photo of md5-4e872368b2b2668460205b409e95c2ea
Kishore Nallan
11:08 AM
Why not just run Linux binary locally? Download tar gz, unzip and run.
Harpreet
Photo of md5-745d880d794220d9f0fb9ade17c6b861
Harpreet
11:09 AM
of typesense server?
Kishore Nallan
Photo of md5-4e872368b2b2668460205b409e95c2ea
Kishore Nallan
11:09 AM
Yes

1

11:09
Kishore Nallan
11:09 AM
Download the binary option under Linux here: https://typesense.org/downloads/
Harpreet
Photo of md5-745d880d794220d9f0fb9ade17c6b861
Harpreet
11:10 AM
Alright!