Устранение неполадок
Не удается получить deb-пакеты из репозитория ClickHouse с помощью apt-get
- Проверьте настройки брандмауэра.
- Если вы не можете получить доступ к репозиторию по какой-либо причине, загрузите пакеты, как описано в статье руководство по установке, и установите их вручную с помощью команды
sudo dpkg -i <packages>
. Вам также понадобится пакетtzdata
.
Не удается обновить deb-пакеты из репозитория ClickHouse с помощью apt-get
Проблема может возникнуть, когда GPG-ключ изменился.
Пожалуйста, используйте инструкцию из страницы настройка, чтобы обновить конфигурацию репозитория.
Вы получаете разные предупреждения с apt-get update
Завершенные предупреждающие сообщения выглядят как одно из следующих:
Чтобы решить указанную выше проблему, пожалуйста, используйте следующий скрипт:
Не удается получить пакеты с Yum из-за неправильной подписи
Возможная проблема: кэш неправильный, возможно, он был поврежден после обновления GPG-ключа в 2022-09.
Решение - очистить кэш и каталог lib для Yum:
После этого следуйте руководству по установке
Подключение к серверу
Возможные проблемы:
- Сервер не запущен.
- Неожиданные или неверные параметры конфигурации.
Сервер не запущен
Проверьте, запущен ли сервер
Если сервер не запущен, запустите его с помощью команды:
Проверьте журналы
Основной журнал clickhouse-server
по умолчанию находится в /var/log/clickhouse-server/clickhouse-server.log
.
Если сервер запустился успешно, вы должны увидеть строки:
<Information> Application: starting up.
— Сервер запущен.<Information> Application: Ready for connections.
— Сервер работает и готов к подключениям.
Если запуск clickhouse-server
завершился неудачей из-за ошибки конфигурации, вы должны увидеть строку <Error>
с описанием ошибки. Например:
Если вы не видите ошибок в конце файла, просмотрите весь файл, начиная с строки:
Если вы попытаетесь запустить второй экземпляр clickhouse-server
на сервере, вы увидите следующий журнал:
Просмотреть журналы system.d
Если вы не найдете полезной информации в журналах clickhouse-server
или если журналов нет, вы можете просмотреть журналы system.d
, используя команду:
Запустить clickhouse-server в интерактивном режиме
Эта команда запускает сервер как интерактивное приложение с параметрами, стандартными для сценария автозагрузки. В этом режиме clickhouse-server
выводит все сообщения событий в консоль.
Параметры конфигурации
Проверьте:
-
Настройки Docker:
- Если вы запускаете ClickHouse в Docker в сети IPv6, убедитесь, что установлен
network=host
.
- Если вы запускаете ClickHouse в Docker в сети IPv6, убедитесь, что установлен
-
Настройки конечных точек.
- Проверьте настройки listen_host и tcp_port.
- Сервер ClickHouse по умолчанию принимает подключения только с localhost.
-
Настройки протокола HTTP:
- Проверьте параметры протокола для HTTP API.
-
Настройки безопасного подключения.
- Проверьте:
- Настройку tcp_port_secure.
- Настройки для SSL-сертификатов.
- Используйте правильные параметры при подключении. Например, используйте параметр
port_secure
сclickhouse_client
.
- Проверьте:
-
Настройки пользователя:
- Возможно, вы используете неправильное имя пользователя или пароль.
Обработка запросов
Если ClickHouse не может обработать запрос, он отправляет клиенту описание ошибки. В clickhouse-client
вы получите описание ошибки в консоли. Если вы используете HTTP интерфейс, ClickHouse отправляет описание ошибки в теле ответа. Например:
Если вы запустите clickhouse-client
с параметром stack-trace
, ClickHouse вернет трассировку стека сервера с описанием ошибки.
Вы можете увидеть сообщение о разорванном соединении. В этом случае вы можете повторить запрос. Если соединение разрывается каждый раз, когда вы выполняете запрос, проверьте журналы сервера на наличие ошибок.
Эффективность обработки запросов
Если вы видите, что ClickHouse работает слишком медленно, вам нужно оценить нагрузку на ресурсы сервера и сеть для ваших запросов.
Вы можете использовать утилиту clickhouse-benchmark для профилирования запросов. Она показывает количество запросов, обрабатываемых в секунду, количество строк, обрабатываемых в секунду, и процентиль времени обработки запросов.