程序笔记   发布时间:2022-07-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ClickHouse学习系列之七【系统命令介绍】大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

背景@H_450_1@

   前面介绍了ClickHouse相关的系列文章,该系列文章包括了安装、权限管理、副本分片、配置说明等。这次介绍一些ClickHouse相关的系统命令,如重载配置文件、关闭服务和进程、停止和启动后台任务等。具体的信息可以看官方文档说明。

说明@H_450_1@
  • RELOAD EMBEDDED DicTIONARIES重新加载所有内置字典,默认是禁用的,总是返回 OK。
    :) SYSTEM RELOAD EMBEDDED DicTIONARIES;
  • RELOAD DicTIONARIES重载已经被成功加载过的所有字典。默认情况下,字典是延时加载的( Dictionaries_lazy_load),不是在服务启动时自动加载,而是在第一次使用DictGet函数或通过 SELECT from tables with ENGINE = Dictionary 进行访问时被初始化。这个命令就是针对这类表进行重新加载的。
    :) SYSTEM RELOAD DicTIONARIES;
  • RELOAD DicTIONARY重新加载指定字典 Dictionary_name,不管该字典的状态如何(LOADED/NOT_LOADED/FAILED),总是返回OK。字典的状态可以通过查询 system.Dictionaries表来检查。
    :) SYSTEM RELOAD DicTIONARY Dictionary_name;

    其中 Dictionary_name 的名字和状态可以通过查询 system.Dictionaries表来获得。

  • RELOAD MODELS如果在不重新启动服务器的情况下更新了配置,通过该命令重新加载所有 CatBoost 模型。

    :) SYSTEM RELOAD MODELS;
  • RELOAD MODEL如果在不重新启动服务器的情况下更新了配置,通过该命令重新加载 指定的CatBoost 模型模型名称。
    :) SYSTEM RELOAD MODEL <@H_5_4@model_name>
  • DROP DNS CACHE重置dns缓存。当Clickhouse服务器的ip或字典所在服务器的ip发生变化,需要使用该命令。
    :) SYSTEM DROP DNS CACHE;
  • DROP MARK CACHE重置mark缓存。在进行ClickHouse开发或性能测试时使用。
    :) SYSTEM DROP MARK CACHE;
  • DROP UNCOMPRESSED CACHE重置未压缩数据的缓存。用于ClickHouse开发和性能测试。
    :) SYSTEM DROP UNCOMPRESSED CACHE;
  • DROP COMPILED EXPRESSION CACHE重置已编译的表达式缓存。用于ClickHouse开发和性能测试。
    :) SYSTEM DROP COMPILED EXPRESSION CACHE;
  • DROP REPLICA删除已经无效的副本,不会删除本地副本和表。
    -- 删除 database.table 表的replica_name副本的元数据
    :) SYSTEM DROP REPLICA 'replica_name' FROM TABLE database.table;
    -- 删除 database 数据库的所有replica_name副本的元数据
    :) SYSTEM DROP REPLICA 'replica_name' FROM DATABASE database;
    -- 删除本地服务器所有 replica_name 副本的元数据
    :) SYSTEM DROP REPLICA 'replica_name';
    -- 用于在表的其它所有副本都删除时,删除已失效副本的元数据。使用时需要明确指定表的路径。该路径必须和创建表时ReplicatedMergeTree引擎的第一个参数一致。
    :) SYSTEM DROP REPLICA 'replica_name' FROM ZKPATH '/path/to/table/in/zk';

    该操作将副本的路径从ZooKeeper中删除。当副本失效,并且由于该副本已经不存在导致它的元数据不能通过 drop table 从zookeeper中删除,这种情形下可以使用该命令。它只会删除失效或过期的副本,不会删除本地的副本。请使用 drop table 来删除本地副本。 DROP REPLICA 不会删除任何表,并且不会删除磁盘上的任何数据或元数据信息。

  • FLUSH LOGS将日志信息缓冲数据刷入系统表(system.query_log)。调试时允许等待不超过7.5秒。当信息队列为空时,会创建系统表。
    :) SYSTEM FLUSH LOGS;
  • RELOAD CONFIG重新加载ClickHouse的配置。用在当配置信息存放在ZooKeeper的时候
    :) SYSTEM RELOAD CONFIG;
  • SHUTDOWN关闭ClickHouse服务(类似于 service clickhouse-server stop / kill {$pid_clickhouse-server})。
    :) SYSTEM SHUTDOWN;
  • KILL关闭ClickHouse进程 ( kill -9 {$ pid_clickhouse-server})。
    :) SYSTEM KILL;
  • STOP DIStriBUTED SENDS当向分布式表插入数据时,禁用后台的分布式数据分发。
    :) SYSTEM STOP DIStriBUTED SENDS [db.]<diStributed_table_name>
  • FLUSH DIStriBUTED强制让ClickHouse同步向集群节点发送数据。如果有节点失效,ClickHouse抛出异常并停止插入操作。当所有节点都恢复上线时,你可以重试之前的操作直到成功执行。
    :) SYSTEM FLUSH DIStriBUTED [db.]<diStributed_table_name>
  • START DIStriBUTED SENDS当向分布式表插入数据时,允许后台的分布式数据分发。
    :) SYSTEM START DIStriBUTED SENDS [db.]<diStributed_table_name>
  • STOP MERGES为MergeTree系列引擎表停止后台合并操作。
    :) SYSTEM STOP MERGES [[db.]@H_5_4@merge_tree_family_table_name]
  • START MERGES为MergeTree系列引擎表启动后台合并操作。
    :) SYSTEM START MERGES [[db.]@H_5_4@merge_tree_family_table_name];
  • STOP TTL MERGES根据 TTL 表达式,为MergeTree系列引擎表停止后台删除旧数据。不管表存在与否,都返回 OK。当数据库不存在时返回错误。
    :) SYSTEM STOP TTL MERGES [[db.]@H_5_4@merge_tree_family_table_name]
  • START TTL MERGES根据 TTL 表达式,为MergeTree系列引擎表开启后台删除旧数据。不管表存在与否,都返回 OK。当数据库不存在时返回错误。
    :) SYSTEM START TTL MERGES [[db.]@H_5_4@merge_tree_family_table_name]
  • STOP MOVES根据 TTL 表达式为 MergeTree 系列中的表提供带有 TO VOLUME 或 TO DISK 子句停止后台移动数据。不管表存在与否,都返回 OK.。当数据库不存在时返回错误。
    :) SYSTEM STOP MOVES [[db.]@H_5_4@merge_tree_family_table_name]
  • START MOVES根据 TTL 表达式为 MergeTree 系列中的表提供带有 TO VOLUME 或 TO DISK 子句开启后台移动数据。不管表存在与否,都返回 OK.。当数据库不存在时返回错误。
    :) SYSTEM STOP MOVES [[db.]@H_5_4@merge_tree_family_table_name]
  • STOP FETCHES停止后台获取ReplicatedMergeTree系列引擎表中插入的数据块。不管表引擎类型如何或表/数据库是否存,都返回 OK。
    :) SYSTEM STOP FETCHES [[db.]Replicated_merge_tree_family_table_name]
  • START FETCHES开启后台获取ReplicatedMergeTree系列引擎表中插入的数据块。不管表引擎类型如何或表/数据库是否存,都返回 OK。
    :) SYSTEM START FETCHES [[db.]Replicated_merge_tree_family_table_name]
  • STOP ReplicatED SENDS停止通过后台分发ReplicatedMergeTree系列引擎表中新插入的数据块到集群的其它副本节点。
    :) SYSTEM STOP ReplicatED SENDS [[db.]Replicated_merge_tree_family_table_name]
  • START ReplicatED SENDS开启通过后台分发ReplicatedMergeTree系列引擎表中新插入的数据块到集群的其它副本节点。
    :) SYSTEM START ReplicatED SENDS [[db.]Replicated_merge_tree_family_table_name]
  • STOP ReplicatION QUEUES停止从Zookeeper中获取ReplicatedMergeTree系列表的复制队列的后台任务。可能的后台任务类型包含:merges, fetches, mutation,带有 ON CLUSTER的ddl语句。
    :) SYSTEM STOP ReplicatION QUEUES [[db.]Replicated_merge_tree_family_table_name]
  • START ReplicatION QUEUES开启从Zookeeper中获取ReplicatedMergeTree系列表的复制队列的后台任务。可能的后台任务类型包含:merges, fetches, mutation,带有 ON CLUSTER的ddl语句。
    :) SYSTEM START ReplicatION QUEUES [[db.]Replicated_merge_tree_family_table_name]
  • SYNC REPLICA等到ReplicatedMergeTree表和集群中的其它副本进行同步之前会一直运行。如果当前对表的获取操作禁用的话,在达到 receive_timeout之前会一直运行。
    :) SYSTEM SYNC REPLICA [db.]Replicated_merge_tree_family_table_name
  • RESTART REPLICA重置ReplicatedMergeTree表的Zookeeper会话状态。该操作会以Zookeeper为参照,对比当前状态,有需要的情况下将任务添加到ZooKeeper队列。基于ZooKeeper的日期初始化复制队列,类似于 ATTACH TABLE语句。短时间内不能对表进行任何操作。
    :) SYSTEM RESTART REPLICA [db.]Replicated_merge_tree_family_table_name
  • RESTORE REPLICA如果数据 [可能] 存在但 Zookeeper 元数据丢失,则恢复副本,仅适用于只读 ReplicatedMergeTree 表。适用于出现以下这些情况:
    -- ZooKeeper 根路径 / 丢失。
    -- Replicas 路径/副本丢失。
    -- 单个replica路径 /replicas/replica_name/ 丢失。

    语法:

    :) SYSTEM RESTORE REPLICA [db.]Replicated_merge_tree_family_table_name [ON CLUSTER cluster_name]
    --
    :) SYSTEM RESTORE REPLICA [ON CLUSTER cluster_name] [db.]Replicated_merge_tree_family_table_name

    eg:

    -- CreaTing table on multiple servers
    
    CREATE TABLE test(n UInt32)
    ENGINE = ReplicatedMergeTree('/clickhouse/tables/test/', '{replica}')
    ORDER BY n PARTITION BY n % 10;
    
    INSERT INTO test SELECT * FROM numbers(1000);
    
    -- zookeeper_delete_path("/clickhouse/tables/test", recursive=TruE) <- root loss.
    
    :) SYSTEM RESTART REPLICA test; -- Table will attach as readonly as metadata is missing.
    :) SYSTEM RESTORE REPLICA test; -- Need to execute on every replica, another way: RESTORE REPLICA test ON CLUSTER cluster
  • RESTART REPLICAS重置所有ReplicatedMergeTree表的ZooKeeper会话状态。该操作会以Zookeeper为参照,对比当前状态,有需要的情况下将任务添加到ZooKeeper队列。
    :) SYSTEM RESTART REPLICAS;

文章:@H_450_1@

系统命令介绍

 

大佬总结

以上是大佬教程为你收集整理的ClickHouse学习系列之七【系统命令介绍】全部内容,希望文章能够帮你解决ClickHouse学习系列之七【系统命令介绍】所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。