пятница, 8 декабря 2023 г.

clickhouse+zookeeper+ansible

Установить кликхаус не очень сложно (под докер тоже есть официальный образ), но для работы на нескольких серверах нужно ещё добавить zookeeper (уже есть версия c clickhouse keeper, но пока рекомендуется ставить)

Нюанс: сам конфиг кликхауса в убогом и давно устаревшем xml, это надо учитывать. Хотя есть и поддержка ямла, но пока 99.9% инструкций, включая офдоки, на xml

Можно взять за основу достаточно популярную роль

https://galaxy.ansible.com/ui/standalone/roles/AlexeySetevoi/clickhouse/

Но данная роль использовать zookeeper может, но вот ставить - нет.

Впрочем, если нас устроит докер:

https://hub.docker.com/_/zookeeper

При этом конфиги кладём в  /conf/zoo.cfg, данные подключаем в /data

Хотя можно обойтись и без докера, другая роль:

https://github.com/dpvpro/ansible-clickhouse-dp

Ансибл роль для установки Clickhouse и Zookeper


PS Проверка статуса по старым докам делается через

echo 'stat' | nc localhost 2181

Но сейчас будет ошибка

stat is not executed because it is not in the whitelist.

Причины и решения есть например тут:

https://github.com/confluentinc/cp-docker-images/issues/827

Быстрофикс: в docker-compose в переменные каждого инстанса добавляем  (чуть доработанный докер-компоуз из _/zookeeper)

ZOO_4LW_COMMANDS_WHITELIST: '*'

и перезапускаем. Теперь можно проверить:

docker exec -ti zookeeper-zoo1-1 echo 'stat' | nc localhost 2181 | grep Mode

Можно через zhCli:

zhCli.sh -server localhost:2181 get -s

https://zookeeper.apache.org/doc/r3.9.1/zookeeperTools.html#zkCli

https://zookeeper.apache.org/doc/r3.7.0/zookeeperCLI.html

Но и тут можно получить ошибку

 - SASL config status: Will not attempt to authenticate using SASL (unknown error)


Комментариев нет:

Отправить комментарий