is_local,
host_name
FROM system.clusters
┌─is_local─┬─host_name──┐
│ 0 │ ch01 │
│ 0 │ ch02 │
└──────────┴────────────┘
потому что IP не совпадает в remote_servers и то что сервер про себя думает. Другими словами у вас например в remote_servers написан внешний IP 5.5.5.5 , а КХ не видит такой ip локально
Не похоже SELECT host_address, is_local FROM system.clusters ┌─host_address───┬─is_local─┐ │ 172.28.236.105 │ 0 │ │ 172.28.236.106 │ 0 │ └────────────────┴──────────┘ # hostname -I 172.28.236.106
А CH слушает этот 172.28.236.106 ?
Слушает # ss -ltn | grep 9001 LISTEN 0 1024 172.28.236.106:9001 *:*
Проблема в том, что select count(*) from cpu; Не работает, выпадает по таймауту select count(*) from raw_cpu; Работает Я в правильном направлении копаю?
не знаю. Мне не видно что такое cpu, raw_cpu
sudo netstat -nlpt|grep 9000
Cpu - distributed table, которая ссылается на cluster
sudo netstat -nlpt|grep 9000
# ss -ltn | grep 9000 LISTEN 0 64 *:9000 *:*
а что если на 172.28.236.106 выполнить два курла curl 172.28.236.106:9000 и curl 172.28.236.105:9000 а какой порт прописан в remote_servers?
Вторая нода (105) мертвая, на замене железа.
аа, и она реплика? а что select name, value,changed from system.settings where name= 'connect_timeout_with_failover_ms';
Да, одна шарда две реплики SELECT name, value, changed FROM system.settings WHERE name = 'connect_timeout_with_failover_ms' ┌─name─────────────────────────────┬─value─┬─changed─┐ │ connect_timeout_with_failover_ms │ 50 │ 0 │ └──────────────────────────────────┴───────┴─────────┘
Нашел проблему Спасибо большое за идею У меня другой процесс слушал 9001
Обсуждают сегодня