Hello.
Is it possible to use hostnames instead of ips in cluster configuration? The problem is that if you start the cluster in docker swarm the services ip changes on restarts, but in manticore.json the IPs are written, even if you use the hostname when creating the cluster.
what version do you use?
I was sure that issue with host name force resolving was fixed some times ago
the latest 6.3.0
could you provide your config, create and join statements along with resulting manticore.json file?
Create cluster commands.
create cluster test;
join cluster test at 'manticore175:9312';
manticore.json
{
"clusters":{"test":{
"nodes":["10.0.5.33:9312","10.0.5.29:9312"]
}},
"indexes":{"migrations":{
"type":"rt",
"path":"migrations"
},"post":{
"type":"rt",
"path":"post"
},"related_tag":{
"type":"rt",
"path":"related_tag"
},"tag":{
"type":"rt",
"path":"tag"
}}
I use default config and configure some values with env vars.
Related manticore services in docker-compose.yml.
manticore46:
image: manticoresearch/manticore:6.3.0
volumes:
- manticore_data:/var/lib/manticore
deploy:
placement: *default-placement
environment:
- EXTRA=1
- LOG_LEVEL=debug
- searchd_access_plain_attrs=mlock
- searchd_access_blob_attrs=mlock
- searchd_access_doclists=mlock
- searchd_access_hitlists=mlock
- searchd_max_threads_per_query=16
- searchd_net_workers=2
- searchd_pseudo_sharding=0
- searchd_telemetry=0
- searchd_threads=24
- telemetry=0
- searchd_query_log=/var/log/manticore/query.log
- searchd_query_log_min_msec=300
ulimits:
nproc: 65535
nofile:
soft: 65535
hard: 65535
memlock:
soft: -1
hard: -1
cap_add:
- IPC_LOCK
manticore175:
image: manticoresearch/manticore:6.3.0
volumes:
- manticore_data:/var/lib/manticore
deploy:
placement: *default-placement1
environment:
- EXTRA=1
- LOG_LEVEL=debug
- searchd_access_plain_attrs=mlock
- searchd_access_blob_attrs=mlock
- searchd_access_doclists=mlock
- searchd_access_hitlists=mlock
- searchd_max_threads_per_query=40
- searchd_net_workers=2
- searchd_pseudo_sharding=1
- searchd_telemetry=0
- searchd_threads=64
- telemetry=0
- searchd_query_log=/var/log/manticore/query.log
- searchd_query_log_min_msec=300
ulimits:
nproc: 65535
nofile:
soft: 65535
hard: 65535
memlock:
soft: -1
hard: -1
cap_add:
- IPC_LOCK
if I use this compose file
services:
web1:
image: manticoresearch/manticore:6.3.0
container_name: "web1"
ports:
- "17105-17130:9305-9330"
environment:
- EXTRA=1
- searchd_node_address=web1
web2:
image: manticoresearch/manticore:6.3.0
container_name: "web2"
ports:
- "17205-17230:9305-9330"
environment:
- EXTRA=1
- searchd_node_address=web2
web3:
image: manticoresearch/manticore:6.3.0
container_name: "web3"
ports:
- "17305-17330:9305-9330"
environment:
- EXTRA=1
- searchd_node_address=web3
and issue create cluster test;
then join cluster test at 'web1:9312';
I see the nodes names in manticore.json
{
"clusters":{"test":{
"nodes":["web1:9312","web3:9312","web2:9312"]
}},
"indexes":{}
}
Thanks! That’s the required option searchd_node_address
I missed in my config.