ClickHouse/docs/fr/operations/troubleshooting.md
2020-04-04 12:15:31 +03:00

6.8 KiB

machine_translated machine_translated_rev toc_priority toc_title
true f865c9653f 46 Dépannage

Dépannage

Installation

Vous ne pouvez pas obtenir de paquets deb à partir du référentiel Clickhouse avec Apt-get

  • Vérifiez les paramètres du pare-feu.
  • Si vous ne pouvez pas accéder au référentiel pour quelque raison que ce soit, téléchargez les packages comme décrit dans Prise en main article et les installer manuellement en utilisant le sudo dpkg -i <packages> commande. Vous aurez aussi besoin d' tzdata paquet.

Connexion au serveur

Problèmes possibles:

  • Le serveur n'est pas en cours d'exécution.
  • Paramètres de configuration inattendus ou incorrects.

Le Serveur N'Est Pas En Cours D'Exécution

Vérifiez si le serveur est runnnig

Commande:

$ sudo service clickhouse-server status

Si le serveur n'est pas en cours d'exécution, démarrez-le avec la commande:

$ sudo service clickhouse-server start

Vérifier les journaux

Le journal principal de clickhouse-server est dans /var/log/clickhouse-server/clickhouse-server.log par défaut.

Si le serveur a démarré avec succès, vous devriez voir les chaînes:

  • <Information> Application: starting up. — Server started.
  • <Information> Application: Ready for connections. — Server is running and ready for connections.

Si clickhouse-server démarrage a échoué avec une erreur de configuration, vous devriez voir la <Error> chaîne avec une description de l'erreur. Exemple:

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 vous ne voyez pas d'erreur à la fin du fichier, parcourez le fichier entier à partir de la chaîne:

<Information> Application: starting up.

Si vous essayez de démarrer une deuxième instance de clickhouse-server sur le serveur, vous voyez le journal suivant:

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

Voir système.d les journaux

Si vous ne trouvez aucune information utile dans clickhouse-server journaux ou il n'y a pas de journaux, vous pouvez afficher system.d journaux à l'aide de la commande:

$ sudo journalctl -u clickhouse-server

Démarrer clickhouse-server en mode interactif

$ sudo -u clickhouse /usr/bin/clickhouse-server --config-file /etc/clickhouse-server/config.xml

Cette commande démarre le serveur en tant qu'application interactive avec les paramètres standard du script de démarrage automatique. Dans ce mode clickhouse-server imprime tous les messages d'événement dans la console.

Paramètres De Configuration

Vérifier:

  • Le panneau paramètres.

    Si vous exécutez ClickHouse dans Docker dans un réseau IPv6, assurez-vous que network=host est définie.

  • Paramètres du point de terminaison.

    Vérifier listen_host et tcp_port paramètre.

    Clickhouse server accepte les connexions localhost uniquement par défaut.

  • Paramètres du protocole HTTP.

    Vérifiez les paramètres de protocole pour L'API HTTP.

  • Paramètres de connexion sécurisés.

    Vérifier:

    Utilisez les paramètres appropriés lors de la connexion. Par exemple, l'utilisation de la port_secure paramètre avec clickhouse_client.

  • Les paramètres de l'utilisateur.

    Vous utilisez peut-être un mauvais nom d'utilisateur ou mot de passe.

Traitement Des Requêtes

Si ClickHouse ne peut pas traiter la requête, il envoie une description d'erreur au client. Dans le clickhouse-client vous obtenez une description de l'erreur dans la console. Si vous utilisez L'interface HTTP, ClickHouse envoie la description de l'erreur dans le corps de la réponse. Exemple:

$ 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 vous commencez à clickhouse-client avec l' stack-trace paramètre, ClickHouse renvoie la trace de la pile du serveur avec la description d'une erreur.

Vous pouvez voir un message sur une connexion rompue. Dans ce cas, vous pouvez répéter la requête. Si la connexion se rompt chaque fois que vous effectuez la requête, vérifiez les journaux du serveur pour détecter les erreurs.

Efficacité Du Traitement Des Requêtes

Si vous voyez que ClickHouse fonctionne trop lentement, vous devez profiler la charge sur les ressources du serveur et le réseau pour vos requêtes.

Vous pouvez utiliser l'utilitaire clickhouse-benchmark pour profiler les requêtes. Il indique le nombre de requêtes traitées par seconde, le nombre de lignes traitées par seconde, et les percentiles de temps de traitement des requêtes.