abort_on_logical_error
allowed_disks_for_table_engines
auth_use_forwarded_address
Ce paramètre doit être utilisé avec une extrême prudence, car les adresses transmises peuvent être facilement usurpées : les serveurs qui acceptent ce type d’authentification ne doivent pas être accessibles directement, mais uniquement via un proxy de confiance.
bcrypt_workfactor
bcrypt_password, qui utilise l’algorithme Bcrypt.
Le facteur de travail détermine la quantité de calculs et le temps nécessaires pour calculer le hachage et vérifier le mot de passe.
blob_storage_log
blob_storage_log.
Les paramètres suivants peuvent être configurés via des sous-balises :
De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
Exemple :
builtin_dictionaries_reload_interval
cache_size_to_ram_max_ratio
cannot_allocate_thread_fault_injection_probability
cgroups_memory_usage_observer_wait_time
0.
compression
Nous vous recommandons de ne pas modifier ce paramètre si vous venez de commencer à utiliser ClickHouse.
<case> :
min_part_size– Taille minimale d’une partie de données.min_part_size_ratio– Ratio entre la taille de la partie de données et la taille de la table.method– Méthode de compression. Valeurs acceptables :lz4,lz4hc,zstd,deflate_qpl.level– Niveau de compression. Voir Codecs.
Vous pouvez configurer plusieurs sections
<case>.- Si une partie de données correspond à un ensemble de conditions, ClickHouse utilise la méthode de compression indiquée.
- Si une partie de données correspond à plusieurs ensembles de conditions, ClickHouse utilise le premier ensemble correspondant.
Si aucune condition n’est remplie pour une partie de données, ClickHouse utilise la compression
lz4.config_reload_interval_ms
config-file
core_dump
La limite stricte se configure via les outils système
crash_log
Le fichier de configuration du serveur
config.xml contient la section de paramètres suivante :
database_atomic_delay_before_drop_table_sec
UNDROP. Si DROP TABLE a été exécuté avec le modificateur SYNC, ce paramètre est ignoré.
La valeur par défaut de ce paramètre est de 480 (8 minutes).
dead_letter_queue
De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
Les paramètres par défaut sont :
dictionary_background_reconnect_interval
background_reconnect est activé.
disk_transaction_wait_for_blob_removal
wait_for_blob_removal pour chaque disque.
Lorsqu’il est activé, le serveur attend que la suppression du blob en arrière-plan soit terminée avant de confirmer l’opération.
display_secrets_in_show_and_select
SHOW et SELECT pour les tables, les bases de données, les fonctions de table et les dictionnaires.
Pour voir les secrets, l’utilisateur doit également avoir activé le
paramètre de format format_display_secrets_in_show_and_select
et disposer du privilège
displaySecretsInShowAndSelect.
Valeurs possibles :
0— Désactivé.1— Activé.
dns_max_consecutive_failures
dynamic_user_defined_executable_functions_path
CREATE FUNCTION ... ENGINE = DriverName(...)).
Au redémarrage du serveur, le répertoire est parcouru pour rechercher les fichiers de configuration, et les UDF correspondantes sont chargées sans réinvocation du driver.
Exemple
chiffrement
Il n’est pas recommandé de stocker des clés dans le fichier de configuration. Ce n’est pas sûr. Vous pouvez placer les clés dans un fichier de configuration distinct sur un disque sécurisé, puis créer un lien symbolique vers ce fichier de configuration dans le dossier
config.d/.current_key_id définit la clé courante pour le chiffrement, et toutes les clés spécifiées peuvent être utilisées pour le déchiffrement.
Chacune de ces méthodes peut être utilisée avec plusieurs clés :
current_key_id indique la clé actuellement utilisée pour le chiffrement.
Les utilisateurs peuvent également ajouter un nonce, qui doit comporter 12 octets (par défaut, les processus de chiffrement et de déchiffrement utilisent un nonce composé d’octets nuls) :
Tout ce qui précède peut s’appliquer à
aes_256_gcm_siv (mais la clé doit faire 32 octets).enforce_keeper_component_tracking
Coordination::setCurrentComponent. Déclenche une exception LOGICAL_ERROR si le nom du composant est manquant.
error_log
system.error_log, créez /etc/clickhouse-server/config.d/error_log.xml avec le contenu suivant :
error_log, créez le fichier suivant /etc/clickhouse-server/config.d/disable_error_log.xml avec le contenu ci-dessous :
De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
filesystem_caches_path
google_protos_path
handshake_timeout_milliseconds
hdfs.libhdfs3_conf
hsts_max_age
Une valeur de
0 signifie que ClickHouse désactive HSTS. Si vous définissez une valeur positive, HSTS sera activé et max-age prendra cette valeur.iceberg_background_schedule_pool_size
ignore_empty_sql_security_in_create_view_query
CREATE VIEW.
Ce paramètre n’est nécessaire que durant la période de migration et deviendra obsolète à partir de la version 24.4
include_from
insert_deduplication_version
new_unified_hash) ; le serveur refuse de démarrer si ce paramètre est présent avec une autre valeur (comme old_separate_hashes ou compatible_double_hashes). Terminez la migration de déduplication sur la version précédente avant la mise à niveau en exécutant compatible_double_hashes (qui écrit à la fois les hash legacy et unifiés). Pour les tables répliquées, exécutez-le pendant au moins replicated_deduplication_window_seconds (une heure par défaut) ; les fenêtres par défaut conservent les hash unifiés de toutes les insertions pendant cette période, ce qui est considéré comme suffisant pour couvrir une boucle de nouvelle tentative d’insert. Pour les tables non répliquées avec non_replicated_deduplication_window > 0, la fenêtre est basée sur le nombre d’insertions plutôt que sur le temps ; exécutez donc compatible_double_hashes pendant au moins ce nombre d’insertions avant la mise à niveau.
io_thread_pool_queue_size
Une valeur de
0 signifie qu’il n’y a pas de limite.keep_alive_timeout
ldap_servers
- les utiliser comme authentificateurs pour des utilisateurs locaux dédiés, pour lesquels un mécanisme d’authentication
ldapest spécifié à la place depassword - les utiliser comme répertoires d’utilisateurs distants.
Le paramètre
user_dn_detection peut être configuré avec des sous-balises :
Exemple :
logger
Spécificateurs de format de log
Les noms de fichiers dans les chemins
log et errorLog prennent en charge les spécificateurs de format ci-dessous pour le nom de fichier résultant (la partie répertoire ne les prend pas en charge).
La colonne « Exemple » montre la sortie à 2023-07-06 18:32:07.
Exemple
<syslog> :
Formats de log
Vous pouvez spécifier le format de log à afficher dans les logs de la console. Actuellement, seul JSON est pris en charge.
Exemple
Voici un exemple de log JSON produit en sortie :
<names>. Par exemple, pour remplacer DATE_TIME par MY_DATE_TIME, vous pouvez utiliser <date_time>MY_DATE_TIME</date_time>.
Omettre des clés des logs JSON
Les propriétés des logs peuvent être omises en commentant la propriété correspondante. Par exemple, si vous ne souhaitez pas que votre log affiche query_id, vous pouvez commenter la balise <query_id>.
logger.count
logger.errorlog
logger.formatting.type
<json> est pris en charge.
logger.level
<none> (désactive la journalisation), <fatal>, <critical>, <error>, <warning>, <notice>, <information>, <debug>, <trace>, <test>.
logger.log
logger.rotation
logger.shutdown_level
logger.size
logger.startup_level
<level>.
logger.stream_compress
<1> ou <true> pour l’activer.
logger.syslog_level
logger.use_syslog
macros
message_queue_disable_insertion
metric_log
system.metric_log, créez /etc/clickhouse-server/config.d/metric_log.xml avec le contenu suivant :
metric_log, créez le fichier suivant /etc/clickhouse-server/config.d/disable_metric_log.xml avec le contenu ci-dessous :
De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
mmap_cache_size
MMappedFiles/MMappedFileBytes/MMapCacheCellsdanssystem.metrics,system.metric_logCreatedReadBufferMMap/CreatedReadBufferMMapFailed/MMappedFileCacheHits/MMappedFileCacheMissesdanssystem.events,system.processes,system.query_log,system.query_thread_log,system.query_views_log
La quantité de données dans les fichiers mappés ne consomme pas directement de mémoire et n’est pas prise en compte dans l’utilisation mémoire des requêtes ou du serveur, car cette mémoire peut être libérée de façon similaire au cache de pages du système d’exploitation. Le cache est supprimé (les fichiers sont fermés) automatiquement lors de la suppression des anciennes parties dans les tables de la famille MergeTree, et il peut également être supprimé manuellement avec la requête
SYSTEM DROP MMAP CACHE.Ce paramètre peut être modifié à l’exécution et prendra effet immédiatement.mutation_workload
workload pour toutes les mutations en arrière-plan. Elle peut être surchargée par un paramètre MergeTree.
Voir aussi
oom_score
openSSL
libpoco. Les options de configuration disponibles sont décrites dans SSLManager.h. Les valeurs par défaut se trouvent dans SSLManager.cpp.
Clés des paramètres client/serveur :
Exemple de paramètres :
openSSL.client.caConfig
.pem par certificat d’AC. Les noms de fichier sont recherchés à l’aide de la valeur de hachage du nom du sujet de l’AC. Pour plus de détails, consultez la page de manuel de SSL_CTX_load_verify_locations.
openSSL.client.cacheSessions
<sessionIdContext>. Valeurs acceptées : <true>, <false>.
openSSL.client.certificateFile
<privateKeyFile> contient le certificat.
openSSL.client.cipherList
openSSL.client.disableProtocols
openSSL.client.extendedVerification
openSSL.client.fips
openSSL.client.invalidCertificateHandler.name
<<invalidCertificateHandler> <name>RejectCertificateHandler</name> </invalidCertificateHandler>>.
openSSL.client.loadDefaultCAFile
</etc/ssl/cert.pem> (ou, selon le cas, dans le répertoire </etc/ssl/certs>) ou dans le fichier (ou le répertoire) spécifié par la variable d’environnement <SSL_CERT_FILE> (ou <SSL_CERT_DIR>).
openSSL.client.preferServerCiphers
openSSL.client.privateKeyFile
openSSL.client.privateKeyPassphraseHandler.name
<<privateKeyPassphraseHandler>>, <<name>KeyFileHandler</name>>, <<options><password>test</password></options>>, <</privateKeyPassphraseHandler>>
openSSL.client.verificationDepth
openSSL.client.verificationMode
<none>, <relaxed>, <strict>, <once>.
openSSL.server.caConfig
openSSL.server.cacheSessions
<sessionIdContext>. Valeurs acceptées : <true>, <false>.
openSSL.server.certificateFile
<privateKeyFile> contient le certificat.
openSSL.server.cipherList
openSSL.server.disableProtocols
openSSL.server.extendedVerification
openSSL.server.fips
openSSL.server.invalidCertificateHandler.name
<<invalidCertificateHandler> <name>RejectCertificateHandler</name> </invalidCertificateHandler>>.
openSSL.server.loadDefaultCAFile
</etc/ssl/cert.pem> (respectivement le répertoire </etc/ssl/certs>) ou dans le fichier (respectivement le répertoire) spécifié par la variable d’environnement <SSL_CERT_FILE> (respectivement <SSL_CERT_DIR>).
openSSL.server.preferServerCiphers
openSSL.server.privateKeyFile
openSSL.server.privateKeyPassphraseHandler.name
<<privateKeyPassphraseHandler>>, <<name>KeyFileHandler</name>>, <<options><password>test</password></options>>, <</privateKeyPassphraseHandler>>
openSSL.server.sessionCacheSize
openSSL.server.sessionIdContext
<SSL_MAX_SSL_SESSION_ID_LENGTH>. Ce paramètre est toujours recommandé, car il permet d’éviter les problèmes, que le serveur mette la session en cache ou que le client ait demandé la mise en cache.
openSSL.server.sessionTimeout
openSSL.server.verificationDepth
openSSL.server.verificationMode
<none>, <relaxed>, <strict>, <once>.
opentelemetry_span_log
opentelemetry_span_log.
Les paramètres suivants peuvent être configurés via des sous-balises :
De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
Exemple :
part_log
table (voir ci-dessous).
Les paramètres suivants peuvent être configurés via des sous-balises :
De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
Exemple
path
Le slash final est obligatoire.
per_cpu_untracked_memory_thread_buffer
max_per_cpu_untracked_memory * number_of_cpus dans le pire des cas. Une valeur de 0 supprime cette marge : chaque allocation met à jour le compteur partagé par CPU (plus précis, mais avec davantage de contention). Linux uniquement.
point_in_polygon_cache_size
pointInPolygon avec un argument de polygone constant.
Les entrées qui dépassent cette limite sont évincées selon l’ordre du moins récemment utilisé.
La définir sur 0 désactive le cache : tous les polygones mis en cache sont évincés, et chaque requête suivante prétraite à nouveau son polygone constant.
Le cache peut également être vidé manuellement, sans modifier cette limite, à l’aide de la requête SYSTEM DROP POINT IN POLYGON CACHE.
Ce paramètre peut être modifié en cours d’exécution et prendra effet immédiatement.
prefixes_deserialization_thread_pool_thread_pool_queue_size
Une valeur de
0 signifie sans limite.prepare_system_log_tables_on_startup
true, ClickHouse crée toutes les tables system.*_log configurées avant le démarrage. Cela peut être utile si certains scripts de démarrage dépendent de ces tables.
process_query_plan_packet
processors_profile_log
processors_profile_log.
Les paramètres suivants peuvent être configurés via des sous-balises :
De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
Les paramètres par défaut sont :
prometheus
endpoint– Point de terminaison HTTP pour la collecte des métriques par le serveur Prometheus. Doit commencer par ’/’.port– Port deendpoint.metrics– Expose les métriques de la table system.metrics.events– Expose les métriques de la table system.events.asynchronous_metrics– Expose les valeurs actuelles des métriques de la table system.asynchronous_metrics.errors- Expose le nombre d’erreurs par code d’erreur depuis le dernier redémarrage du serveur. Ces informations peuvent également être obtenues via system.errors.
127.0.0.1 par l’adresse IP ou le nom d’hôte de votre serveur ClickHouse) :
prometheus.keeper_metrics_only
proxy
- variables d’environnement
- listes de proxy
- résolveurs de proxy distants.
no_proxy.
Variables d’environnement
Les variables d’environnement http_proxy et https_proxy vous permettent de spécifier un
serveur proxy pour un protocole donné. Si elles sont définies sur votre système, cela devrait fonctionner sans problème.
C’est l’approche la plus simple si un protocole donné ne dispose
que d’un seul serveur proxy et que ce serveur proxy ne change pas.
Listes de proxy
Cette approche vous permet de spécifier un ou plusieurs
serveurs proxy pour un protocole. Si plusieurs serveurs proxy sont définis,
ClickHouse utilise les différents proxy selon une méthode round-robin, en répartissant la
charge entre les serveurs. C’est l’approche la plus simple s’il existe plusieurs
serveurs proxy pour un protocole et que la liste de ces serveurs proxy ne change pas.
Modèle de configuration
- <proxy>
- <http> et <https>
\{proxy_scheme\}://\{proxy_host\}:{proxy_port}
Modèle de configuration
- <proxy>
- <http> et <https>
- <resolver>
ClickHouse vérifiera le type de résolveur ayant la priorité la plus élevée pour le protocole de la requête. S’il n’est pas défini,
il vérifiera alors le type de résolveur ayant la priorité immédiatement inférieure, jusqu’à atteindre le résolveur d’environnement.
Cela permet également d’utiliser une combinaison de types de résolveur.
remap_executable
Cette fonctionnalité est encore très expérimentale.
replica_group_name
replicated_merge_tree
restore_threads
send_crash_reports
Utilisation recommandée
series_keeper_path
generateSerialID. Chaque série correspondra à un nœud sous ce chemin.
ssh_server
table_engines_require_grant
GRANT TABLE ENGINE ON TinyLog to user.
Par défaut, pour assurer la rétrocompatibilité, la création d’une table avec un table engine spécifique ne tient pas compte des privilèges ; vous pouvez toutefois modifier ce comportement en définissant cette valeur sur true.
tcp_ssh_port
text_log
De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
De plus :
Exemple
thread_pool_queue_size
max_thread_pool_size.
Une valeur de
0 signifie qu’il n’y a pas de limite.throw_on_unknown_workload
- Si
true, l’exception RESOURCE_ACCESS_DENIED est levée pour une requête qui tente d’accéder à un workload inconnu. Utile pour imposer l’ordonnancement des ressources à toutes les requêtes une fois la hiérarchie de WORKLOAD établie et contenant WORKLOAD default. - Si
false(par défaut), une requête dont le paramètre ‘workload’ pointe vers un WORKLOAD inconnu bénéficie d’un accès illimité, sans ordonnancement des ressources. Cela est important lors de la configuration de la hiérarchie de WORKLOAD, avant l’ajout de WORKLOAD default.
timezone
trace_log
De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
Le fichier de configuration du serveur par défaut
config.xml contient la section de paramètres suivante :
url_scheme_mappers
validate_tcp_client_information
false :
wait_dictionaries_load_at_startup
dictionaries_lazy_load vaut false.
(Si dictionaries_lazy_load vaut true, ce paramètre n’a aucun effet.)
Si wait_dictionaries_load_at_startup vaut false, le serveur
commencera à charger tous les dictionnaires au démarrage et acceptera des connexions en parallèle de ce chargement.
Lorsqu’un dictionnaire est utilisé pour la première fois dans une requête, celle-ci attendra que le dictionnaire soit chargé si ce n’est pas encore le cas.
Définir wait_dictionaries_load_at_startup sur false peut permettre à ClickHouse de démarrer plus rapidement ; toutefois, certaines requêtes peuvent s’exécuter plus lentement
(car elles devront attendre le chargement de certains dictionnaires).
Si wait_dictionaries_load_at_startup vaut true, le serveur attendra au démarrage
que tous les dictionnaires aient terminé leur chargement (avec succès ou non) avant d’accepter la moindre connexion.
Exemple
webassembly_udf_engine
webterminal_allowed_origins
scheme + host + port facultatif) autorisées à ouvrir des sessions WebSocket /webterminal. Lorsqu’elle est vide, la politique de même origine est appliquée strictement (Origin doit correspondre au scheme, au host et au port de la request). Définissez ce paramètre pour les déploiements derrière un proxy inverse avec terminaison TLS, où request.isSecure() vaut false même si le navigateur utilise https. Exemple : https://example.com,https://app.example.com:8443.