* Replace underscores with hyphens * remove temporary code * fix style check * fix collapse
6.6 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 3e185d24c9 |
46 | Solución de problemas |
Solución De Problemas
- Instalación
- Conexión al servidor
- Procesamiento de consultas
- Eficiencia del procesamiento de consultas
Instalación
No Puede Obtener Paquetes Deb Del Repositorio De Clickhouse Con Apt-get
- Compruebe la configuración del firewall.
- Si no puede acceder al repositorio por cualquier motivo, descargue los paquetes como se describe en el Primeros pasos artículo e instálelos manualmente usando el
sudo dpkg -i <packages>
comando. También necesitará eltzdata
paquete.
Conexión Al Servidor
Posibles problemas:
- El servidor no se está ejecutando.
- Parámetros de configuración inesperados o incorrectos.
El Servidor No Se está Ejecutando
Compruebe si el servidor está ejecutado
Comando:
$ sudo service clickhouse-server status
Si el servidor no se está ejecutando, inícielo con el comando:
$ sudo service clickhouse-server start
Comprobar registros
El registro principal de clickhouse-server
está en /var/log/clickhouse-server/clickhouse-server.log
predeterminada.
Si el servidor se inició correctamente, debería ver las cadenas:
<Information> Application: starting up.
— Server started.<Information> Application: Ready for connections.
— Server is running and ready for connections.
Si clickhouse-server
error de inicio con un error de configuración, debería ver el <Error>
cadena con una descripción de error. Por ejemplo:
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
Si no ve un error al final del archivo, revise todo el archivo a partir de la cadena:
<Information> Application: starting up.
Si intenta iniciar una segunda instancia de clickhouse-server
en el servidor, verá el siguiente registro:
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
Ver sistema.d registros
Si no encuentra ninguna información útil en clickhouse-server
registros o no hay registros, puede ver system.d
registros usando el comando:
$ sudo journalctl -u clickhouse-server
Iniciar clickhouse-server en modo interactivo
$ sudo -u clickhouse /usr/bin/clickhouse-server --config-file /etc/clickhouse-server/config.xml
Este comando inicia el servidor como una aplicación interactiva con parámetros estándar del script de inicio automático. En este modo clickhouse-server
imprime todos los mensajes de eventos en la consola.
Parámetros De configuración
Comprobar:
-
Configuración de Docker.
Si ejecuta ClickHouse en Docker en una red IPv6, asegúrese de que
network=host
se establece. -
Configuración del punto final.
Comprobar listen_host y Tcp_port configuración.
El servidor ClickHouse acepta conexiones localhost solo de forma predeterminada.
-
Configuración del protocolo HTTP.
Compruebe la configuración del protocolo para la API HTTP.
-
Configuración de conexión segura.
Comprobar:
- El Tcp_port_secure configuración.
- Ajustes para Sertificados SSL.
Utilice los parámetros adecuados mientras se conecta. Por ejemplo, utilice el
port_secure
parámetro conclickhouse_client
. -
Configuración del usuario.
Es posible que esté utilizando el nombre de usuario o la contraseña incorrectos.
Procesamiento De Consultas
Si ClickHouse no puede procesar la consulta, envía una descripción de error al cliente. En el clickhouse-client
obtienes una descripción del error en la consola. Si está utilizando la interfaz HTTP, ClickHouse envía la descripción del error en el cuerpo de la respuesta. Por ejemplo:
$ 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
Si empiezas clickhouse-client
con el stack-trace
parámetro, ClickHouse devuelve el seguimiento de la pila del servidor con la descripción de un error.
Es posible que vea un mensaje sobre una conexión rota. En este caso, puede repetir la consulta. Si la conexión se rompe cada vez que realiza la consulta, compruebe si hay errores en los registros del servidor.
Eficiencia Del Procesamiento De Consultas
Si ve que ClickHouse funciona demasiado lentamente, debe perfilar la carga en los recursos del servidor y la red para sus consultas.
Puede utilizar la utilidad clickhouse-benchmark para crear perfiles de consultas. Muestra el número de consultas procesadas por segundo, el número de filas procesadas por segundo y percentiles de tiempos de procesamiento de consultas.