--- toc_priority: 46 toc_title: "\u0423\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u0020\u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u043e\u0441\u0442\u0435\u0439" --- # Устранение неисправностей {#ustranenie-neispravnostei} - [Установка дистрибутива](#troubleshooting-installation-errors) - [Соединение с сервером](#troubleshooting-accepts-no-connections) - [Обработка запросов](#troubleshooting-does-not-process-queries) - [Скорость обработки запросов](#troubleshooting-too-slow) ## Установка дистрибутива {#troubleshooting-installation-errors} ### Не получается скачать deb-пакеты из репозитория ClickHouse с помощью Apt-get {#ne-poluchaetsia-skachat-deb-pakety-iz-repozitoriia-clickhouse-s-pomoshchiu-apt-get} - Проверьте настройки брандмауэра. - Если по какой-либо причине вы не можете получить доступ к репозиторию, скачайте пакеты как описано в разделе [Начало работы](../getting-started/index.md) и установите их вручную командой `sudo dpkg -i `. Также, необходим пакет `tzdata`. ## Соединение с сервером {#troubleshooting-accepts-no-connections} Возможные проблемы: - Сервер не запущен. - Неожиданные или неправильные параметры конфигурации. ### Сервер не запущен {#server-ne-zapushchen} **Проверьте, запущен ли сервер** Команда: ``` bash $ sudo service clickhouse-server status ``` Если сервер не запущен, запустите его с помощью команды: ``` bash $ sudo service clickhouse-server start ``` **Проверьте журналы** Основной лог `clickhouse-server` по умолчанию — `/var/log/clickhouse-server/clickhouse-server.log`. В случае успешного запуска вы должны увидеть строки, содержащие: - ` Application: starting up.` — сервер запускается. - ` Application: Ready for connections.` — сервер запущен и готов принимать соединения. Если `clickhouse-server` не запустился из-за ошибки конфигурации вы увидите `` строку с описанием ошибки. Например: ``` text 2019.01.11 15:23:25.549505 [ 45 ] {} ExternalDictionaries: Failed reloading 'event2id' external dictionary: Poco::Exception. Code: 1000, e.code() = 111, e.displayText() = Connection refused, e.what() = Connection refused ``` Если вы не видите ошибки в конце файла, просмотрите весь файл начиная со строки: ``` text Application: starting up. ``` При попытке запустить второй экземпляр `clickhouse-server` журнал выглядит следующим образом: ``` text 2019.01.11 15:25:11.151730 [ 1 ] {} : Starting ClickHouse 19.1.0 with revision 54413 2019.01.11 15:25:11.154578 [ 1 ] {} Application: starting up 2019.01.11 15:25:11.156361 [ 1 ] {} 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 ] {} Application: DB::Exception: Cannot lock file ./status. Another server instance in same directory is already running. 2019.01.11 15:25:11.156682 [ 1 ] {} Application: shutting down 2019.01.11 15:25:11.156686 [ 1 ] {} Application: Uninitializing subsystem: Logging Subsystem 2019.01.11 15:25:11.156716 [ 2 ] {} BaseDaemon: Stop SignalListener thread ``` **Проверьте логи system.d** Если из логов `clickhouse-server` вы не получили необходимой информации или логов нет, то вы можете посмотреть логи `system.d` командой: ``` bash $ sudo journalctl -u clickhouse-server ``` **Запустите clickhouse-server в интерактивном режиме** ``` bash $ sudo -u clickhouse /usr/bin/clickhouse-server --config-file /etc/clickhouse-server/config.xml ``` Эта команда запускает сервер как интерактивное приложение со стандартными параметрами скрипта автозапуска. В этом режиме `clickhouse-server` выводит сообщения в консоль. ### Параметры конфигурации {#parametry-konfiguratsii} Проверьте: - Настройки 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`. - Настройки пользователей. Возможно, вы используете неверное имя пользователя или пароль. ## Обработка запросов {#troubleshooting-does-not-process-queries} Если ClickHouse не может обработать запрос, он отправляет клиенту описание ошибки. В `clickhouse-client` вы получаете описание ошибки в консоли. При использовании интерфейса HTTP, ClickHouse отправляет описание ошибки в теле ответа. Например: ``` bash $ 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 возвращает описание ошибки и соответствующий стек вызовов функций на сервере. Может появиться сообщение о разрыве соединения. В этом случае необходимо повторить запрос. Если соединение прерывается каждый раз при выполнении запроса, следует проверить журналы сервера на наличие ошибок. ## Скорость обработки запросов {#troubleshooting-too-slow} Если вы видите, что ClickHouse работает слишком медленно, необходимо профилировать загрузку ресурсов сервера и сети для ваших запросов. Для профилирования запросов можно использовать утилиту clickhouse-benchmark. Она показывает количество запросов, обработанных за секунду, количество строк, обработанных за секунду и перцентили времени обработки запросов.