8.2 KiB
Устранение неисправностей
Установка дистрибутива
Не получается скачать deb-пакеты из репозитория ClickHouse с помощью Apt-get
- Проверьте настройки брандмауэра.
- Если по какой-либо причине вы не можете получить доступ к репозиторию, скачайте пакеты как описано в разделе Начало работы и установите их вручную командой
sudo dpkg -i <packages>
. Также, необходим пакетtzdata
.
Соединение с сервером
Возможные проблемы:
- Сервер не запущен.
- Неожиданные или неправильные параметры конфигурации.
Сервер не запущен
Проверьте, запущен ли сервер
Команда:
$ sudo service clickhouse-server status
Если сервер не запущен, запустите его с помощью команды:
$ sudo service clickhouse-server start
Проверьте журналы
Основной лог clickhouse-server
по умолчанию — /var/log/clickhouse-server/clickhouse-server.log
.
В случае успешного запуска вы должны увидеть строки, содержащие:
<Information> Application: starting up.
— сервер запускается.<Information> Application: Ready for connections.
— сервер запущен и готов принимать соединения.
Если clickhouse-server
не запустился из-за ошибки конфигурации вы увидите <Error>
строку с описанием ошибки. Например:
2019.01.11 15:23:25.549505 [ 45 ] {} <Error> ExternalDictionaries: Failed reloading 'event2id' external dictionary: Poco::Exception. Code: 1000, e.code() = 111, e.displayText() = Connection refused, e.what() = Connection refused
Если вы не видите ошибки в конце файла, просмотрите весь файл начиная со строки:
<Information> Application: starting up.
При попытке запустить второй экземпляр clickhouse-server
журнал выглядит следующим образом:
2019.01.11 15:25:11.151730 [ 1 ] {} <Information> : Starting ClickHouse 19.1.0 with revision 54413
2019.01.11 15:25:11.154578 [ 1 ] {} <Information> Application: starting up
2019.01.11 15:25:11.156361 [ 1 ] {} <Information> StatusFile: Status file ./status already exists - unclean restart. Contents:
PID: 8510
Started at: 2019-01-11 15:24:23
Revision: 54413
2019.01.11 15:25:11.156673 [ 1 ] {} <Error> Application: DB::Exception: Cannot lock file ./status. Another server instance in same directory is already running.
2019.01.11 15:25:11.156682 [ 1 ] {} <Information> Application: shutting down
2019.01.11 15:25:11.156686 [ 1 ] {} <Debug> Application: Uninitializing subsystem: Logging Subsystem
2019.01.11 15:25:11.156716 [ 2 ] {} <Information> BaseDaemon: Stop SignalListener thread
Проверьте логи system.d
Если из логов clickhouse-server
вы не получили необходимой информации или логов нет, то вы можете посмотреть логи system.d
командой:
$ sudo journalctl -u clickhouse-server
Запустите clickhouse-server в интерактивном режиме
$ sudo -u clickhouse /usr/bin/clickhouse-server --config-file /etc/clickhouse-server/config.xml
Эта команда запускает сервер как интерактивное приложение со стандартными параметрами скрипта автозапуска. В этом режиме clickhouse-server
выводит сообщения в консоль.
Параметры конфигурации
Проверьте:
-
Настройки Docker.
При запуске ClickHouse в Docker в сети IPv6 убедитесь, что установлено `network=host`.
-
Параметры endpoint.
Проверьте настройки [listen_host](server_configuration_parameters/settings.md#server_configuration_parameters-listen_host) и [tcp_port](server_configuration_parameters/settings.md#server_configuration_parameters-tcp_port). По умолчанию, сервер ClickHouse принимает только локальные подключения.
-
Настройки протокола HTTP.
Проверьте настройки протокола для HTTP API.
-
Параметры безопасного подключения.
Проверьте: - Настройку `tcp_port_secure`. - Параметры для SSL-сертификатов. Используйте правильные параметры при подключении. Например, используйте параметр `port_secure` при использовании `clickhouse_client`.
-
Настройки пользователей.
Возможно, вы используете неверное имя пользователя или пароль.
Обработка запросов
Если ClickHouse не может обработать запрос, он отправляет клиенту описание ошибки. В clickhouse-client
вы получаете описание ошибки в консоли. При использовании интерфейса HTTP, ClickHouse отправляет описание ошибки в теле ответа. Например:
$ curl 'http://localhost:8123/' --data-binary "SELECT a"
Code: 47, e.displayText() = DB::Exception: Unknown identifier: a. Note that there are no tables (FROM clause) in your query, context: required_names: 'a' source_tables: table_aliases: private_aliases: column_aliases: public_columns: 'a' masked_columns: array_join_columns: source_columns: , e.what() = DB::Exception
Если вы запускаете clickhouse-client
c параметром stack-trace
, то ClickHouse возвращает описание ошибки и соответствующий стек вызовов функций на сервере.
Может появиться сообщение о разрыве соединения. В этом случае необходимо повторить запрос. Если соединение прерывается каждый раз при выполнении запроса, следует проверить журналы сервера на наличие ошибок.
Скорость обработки запросов
Если вы видите, что ClickHouse работает слишком медленно, необходимо профилировать загрузку ресурсов сервера и сети для ваших запросов.
Для профилирования запросов можно использовать утилиту clickhouse-benchmark. Она показывает количество запросов, обработанных за секунду, количество строк, обработанных за секунду и перцентили времени обработки запросов.