无法将新副本添加到 SiriDB
Failed to add a new replica to SiriDB
我的设置
我在同一节点上启动了两个 SiriDB 服务器,但使用不同的端口:
第一台服务器:
- server_name: %HOSTNAME:9010
- listen_client_port: 9000
- http_api_port: 9020
第二个服务器:
- server_name: %HOSTNAME:9011
- listen_client_port: 9001
- http_api_port: 9021
情况
我使用以下 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_address
和 bind_client_address
都更改为 ::
(任意)。
注意:可以使用环境变量 SIRIDB_BIND_SERVER_ADDRESS
和 SIRIDB_BIND_CLIENT_ADDRESS
.
完成相同的设置
我的设置
我在同一节点上启动了两个 SiriDB 服务器,但使用不同的端口:
第一台服务器:
- server_name: %HOSTNAME:9010
- listen_client_port: 9000
- http_api_port: 9020
第二个服务器:
- server_name: %HOSTNAME:9011
- listen_client_port: 9001
- http_api_port: 9021
情况
我使用以下 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_address
和 bind_client_address
都更改为 ::
(任意)。
注意:可以使用环境变量 SIRIDB_BIND_SERVER_ADDRESS
和 SIRIDB_BIND_CLIENT_ADDRESS
.