в конфиге 3 ноды зукипера. Прилетел алерт от заббикса:
ClickHouse: Too many ZooKeeper sessions opened (2 sessions).
Откуда берётся 2я сессия, и проблема ли это? Реплицированных таблиц ещё нет
zookeper в ансамбле?
Кластер из 3 нод. Лидер и 2 фолловера
ZK сервера в кластере сами по себе? кофиг zookeeper содержит все как надо ?? server.1= server.2= server.3= есть ??
ну да, server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
SELECT * FROM system.macros показывает разные replica для одинаковых shard на всех нодах? или есть повторения?
replica │ ch1 на одном replica │ ch2 на втором
а версия clickhouse какая? и откуда брали Zabbix Template? официальный шаблон использовали? да , в нашем на сессии триггера нет вообще ошибка из разряда "такой точно быть не должно" https://github.com/ClickHouse/ClickHouse/search?q=ZooKeeperSession покажите что у вас в xml файлах в <zookeeper> прописано?
<zookeeper> <node index="1"> <host>10.1.0.103</host> <port>2181</port> </node> <node index="2"> <host>10.2.1.95</host> <port>2181</port> </node> <node index="3"> <host>10.252.0.101</host> <port>2181</port> </node> </zookeeper> <macros> <replica>ch1</replica> </macros> ClickHouse client version 20.12.8.5 (official build).
а насколько это вообще проблема, и нельзя ли забить?
зукиперы сами открывают сессию (фолловеры)
т.е. ничего аномального, алерт можно дизаблить?
да, это проблема Number of sessions (connections) to ZooKeeper. Should be no more than one, because using more than one connection to ZooKeeper may lead to bugs due to lack of linearizability (stale reads) that ZooKeeper consistency model allows. то есть репликация потенциально будет работать криво
мнения двух коллег из Altinity разделились :) и как это вылавливать?
как этот алерт меряет? кол-во конектов от КХ к ЗК? Или кол-во подключенных к ЗК?
метрика специальная в system.metrics с комментариями от Леши https://github.com/ClickHouse/ClickHouse/blame/9c2aad6c1781b7b4554f792c27089f5f2e4ebcce/src/Common/CurrentMetrics.cpp#L41
что у вас возвращает select * from system.metrics where metric like '%ZooKeeperSession%'
│ ZooKeeperSession │ 2 │ Number of sessions (connections) to ZooKeeper. Should be no more than one, because using more than one connection to ZooKeeper may lead to bugs due to lack of linearizability (stale reads) that ZooKeeper consistency model allows. │
а если перестартовать КХ ?
я бы сделал SELECT * FROM system.metric_log WHERE CurrentMetric_ZooKeeperSession > 1 ORDER BY event_time DESC LIMIT 100
конфиги правильные вроде должно быть все ОК надо в логи смотреть truncate -s 0 /var/log/clickhouse-server/*.log systemctl restart clickhouse-server grep -i zoo /var/log/clickhouse-server/
кстати да, а точно у вас один <zookeeper>? grep -i zoo /var/lib/clickhouse/preprocessed_configs/
да, 3 нужных ноды
в логе вообще нет упоминания про ЗК
а что показывает netstat -ant|grep 2181 на сервере КХ ?
Баг был про это, его исправили
https://github.com/ClickHouse/ClickHouse/pull/21264
Обсуждают сегодня