无法将新副本添加到 SiriDB

Failed to add a new replica to SiriDB

我的设置

我在同一节点上启动了两个 SiriDB 服务器,但使用不同的端口:

第一台服务器:

第二个服务器:


情况

我使用以下 curl 命令创建了一个新副本:

curl --location --request POST 'http://localhost:9021/new-replica' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic c2E6c2lyaQ==' \
--header 'Content-Type: text/plain' \
--data-raw '{
    "dbname": "dbtest",
    "username": "iris",
    "password": "siri",
    "host": "localhost",
    "port": 9000,
    "pool": 0
}'

上述命令的响应是 OK

但是在服务器日志记录中我看到以下错误消息:

Connecting to back-end server 'my-hostname-xxx:9010' failed (error: connection refused)

执行 list servers 查询时,服务器似乎无法找到彼此:

curl --location --request POST 'http://localhost:9021/query/dbtest' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic aXJpczpzaXJp' \
--header 'Content-Type: text/plain' \
--data-raw '{"q": "list servers"}'

这是回复:

{"columns":["status"],"servers":[["offline"],["running | synchronizing"]]}

我找不到问题所在,因为服务器 运行 在同一台主机上。所以,他们应该能找到对方吧?

很可能您的绑定不正确。你能检查一下是否是这种情况吗?

出于安全原因,默认情况下 SiriDB 仅绑定到 127.0.0.1(本地主机)。

由于使用了%HOSTNAME,可能是SiriDB正在监听另一个接口。

如果您使用的是配置文件,您可能需要将 bind_server_addressbind_client_address 都更改为 ::(任意)。

注意:可以使用环境变量 SIRIDB_BIND_SERVER_ADDRESSSIRIDB_BIND_CLIENT_ADDRESS.

完成相同的设置