ClickHouse
ClickHouse 介绍,安装,建库建表,类型,引擎,备份,权限控制等
老王笔记
目前就职于JD
展开
-
GOLang操作CK
Golang操作ClickHouse数据库原创 2023-04-08 14:51:31 · 286 阅读 · 0 评论 -
ClickHouse监控指标
ClickHouse重要监控指标及其说明解释原创 2023-01-10 14:41:11 · 697 阅读 · 0 评论 -
ClickHouse ZK集群迁移
CilckHouse迁移Zookeeper集群原创 2022-03-23 18:17:33 · 4101 阅读 · 0 评论 -
TPCH ClickHouse查询语句修改
TPC-H 压CK的时候,22条query语句需要进行修改,使语法满足CK;在此记录,供参考clickhouse查询语句-- query-1select l_returnflag, l_linestatus, sum(l_quantity) as sum_qty, sum(l_extendedprice) as sum_base_price, sum(l_extendedprice * (1 - l_disco.原创 2021-11-29 15:10:21 · 676 阅读 · 0 评论 -
ClickHouse加载TPCH数据
上一篇建表完成了,现在加载数据,TPCH原生提供的数据格式是这种的1|Customer#000000001|IVhzIApeRb ot,c,E|15|25-989-741-2988|711.56|BUILDING|to the even, regular platelets. regular, ironic epitaphs nag e|2|Customer#000000002|XSTf4,NCwDVaWNe6tEgvwfmRchLXak|13|23-768-687-3665|121.65|AUTO原创 2021-11-26 11:22:41 · 490 阅读 · 0 评论 -
TPCH 测试ClickHouse表结构
因为TPCH v3.0原生只支持DB2, INFORMIX, ORACLE, SQLSERVER, SYBASE, TDAT,VECTORWISE 等OLAP的数据库,如果要使用TPCH测试ClickHouse,需要在原有的8张表结构上做语法修改,使其满足CK的语法要求; 便人便己,修改后如下create table lineitem ( l_orderkey bigint, l_partkey bigint, .原创 2021-11-26 10:48:07 · 2101 阅读 · 0 评论 -
ClickHouse守护进程
#!/bin/bashstatus=`ps -ef | grep "/usr/bin/clickhouse-server" | egrep ^clickho`let flag=$?if [[ $flag = 0 ]]then echo "success!" echo $flagelse echo "fail." echo $flag sleep 5 /usr/bin/clickhouse start.原创 2021-10-26 17:18:52 · 425 阅读 · 0 评论 -
ClickHouse故障检测和自动恢复
由于有时候CK会由于内存溢出等异常原因,导致服务宕掉而没有自动拉起的原因; 所以想要部署 一个守护进程来进行自动拉起CK服务,避免对业务影响时间过长;监控和告警功能的:1, 先获取平台中所有的CK IP地址列表;2, 遍历访问所有IP列表,可以用CK原生客户端,或者mysql客户端等方式进行访问; 根据执行的结果判断实例状态的连通情况;3, 调用告警接口,短信、咚咚或者其他相关接口进行告警即可;告警有了,服务自动恢复功能最初想通过Supervisord来实现CK进程的守护,但操作..原创 2021-10-26 17:18:07 · 1771 阅读 · 0 评论 -
CK报错:Not found a storage to insert user
CLICKHOUSE从版本20升级到V 21.2.3.15 后,使用create user 命令创建USER的时候报错:Not found a storage to insert user `xxx`:日志如下:CREATE USER wang_ro IDENTIFIED WITH sha256_hash BY '0A8CAA7314F45AA6BDC40230D1B434AB7B3F6D442140FC33351F1045A0012785'Query id: 866d3b9e-f60..原创 2021-07-29 18:46:47 · 689 阅读 · 0 评论 -
CK-报错处理
CK从版本20.5.4.40 升级到21.2.3.15 之后,无法启动,错误日志如下:2021.07.29 09:59:39.888285 [ 155842 ] {} <Error> Application: DB::Exception: Password hash for the 'SHA256_PASSWORD' authentication type has length 20 but must be exactly 32 bytes.查看users.xml,使用SHA256加.原创 2021-07-29 10:31:38 · 826 阅读 · 0 评论 -
ClickHouse 副本置换
当前实例为1分片1副本,由于机器告警或者宿主机故障,需要置换一个副本;一般先添加一个副本,形成双副本的情况,再将多余的副本下掉;那么如何添加副本?步骤如下:1, 新装一个实例,metrika.xml 中配置为1分片2副本;2, 更新原有的2个实例的metrika.xml文件,在配置中添加新副本机器;注意, 更新metrika.xml不需要重启实例;不同于mysql,新的SLAVE需要手动全量同步历史数据; CLICKHOUSE添加副本之后,会自动全量同步数据到新副本中;...原创 2021-07-28 16:38:01 · 360 阅读 · 0 评论 -
ClickHouse增加分片
背景介绍:业务前期评估的时候,预计一天39亿的数据量,存7天; 一共273亿; 由于CK有较好的压缩性,根据历史数据估算,一共需要5.77T;分配业务10分片资源,每个分片1T;共计10T;近期由于618大促,数据量急剧增长,每天由39亿增长到70亿,后又增长导近200亿,导致数据只能存储不到3天的数据量,已经无法满足业务需求;解决方案:由于资源是物理机资源,无法进行磁盘的扩容; 需要为业务新增分片来增大磁盘容量;影响范围:扩容过程中,会影响Distributed表的读写;由于业务.原创 2021-05-27 17:40:15 · 1278 阅读 · 2 评论 -
ClickHouse 问题处理case2
查看ClickHouse logs目录下每天产生大量的错误日志,刚接触CH的时候,感觉日志可读性非常不友好,不像mysql那样一看就基本可以定位问题;CH日志中包含许多无效信息;报错日志:2021.05.12 23:19:08.747258 [ 46720 ] {0860894a-98fe-413b-a737-bcf1c3abeedf} <Error> TCPHandler: Code: 38, e.displayText() = DB::Exception: Cannot par原创 2021-05-25 11:43:15 · 3998 阅读 · 0 评论 -
ClickHouse 问题处理case1
背景: 业务反馈,写入的时候报错,无法写进数据;处理: 要了报错日志:查看表结构字段做对比:`ishitgray` String DEFAULT '',原因: 代码里面给的是isHitGray, 表结构字段定义的是ishitgray, ClickHouse是区分大小写的;处理: 修改表字段名称为isHitGray,或者修改代码侧为ishitgray均可,两边保持一致就OK;...原创 2021-05-25 11:27:44 · 472 阅读 · 0 评论 -
ClickHouse压缩率
ClickHouse压缩和压缩算法有关,也和表结构相关;CH压缩算法:CH支持LZ4和ZSTD 两种压缩算法,LZ4在速度上会更快,但是压缩率较低,ZSTD正好相反。尽管ZSTD比LZ4慢,但是相比传统的压缩方式Zlib,无论是在压缩效率还是速度上,都可以作为Zlib的替代品。详情参考:https://www.percona.com/blog/2016/04/13/evaluating-database-compression-methods-update/查看本机压缩算法:...原创 2021-03-26 17:05:39 · 3607 阅读 · 0 评论 -
ClickHouse分区操作
1, 查询实例的分区信息可以展示实例下库、表机器对应的分区信息; select partition_id, name,table,database from system.parts ;2, 删除特定分区ALTER TABLE tbname DROP PARTITION partition_name; 也可以设置TTL自动删除;3, 将A表的一个分区数据复制到B表; 可以用于快速写入、多表建数据同步、备份等场景; ALTER TABLE B ...原创 2021-03-26 16:52:04 · 2948 阅读 · 1 评论 -
ClickHouse DDL操作
DDL加字段ALTER TABLE tbname ADD COLUMN col_name [type] [DEFAULT xxx] [COMMENT 'xxx'] [AFTER name] ; eg: alter table zhanguo add column result String DEFAULT '' COMMENT '成功/失败' AFTER Job ;DDL修改字段:ALTER TABLE tbname MODIFY COLUMN col_nam...原创 2021-03-26 16:49:43 · 944 阅读 · 0 评论 -
ClickHouse建表
建库:SQL: CREATE DATABASE DB_NAME ;eg: CREATE DATABASE message;说明: CH支持Ordinary, Dictionary, Memory,Lazy, MySQL 等引擎,一般不需要明确执行,默认即可;表引擎:CH支持多种表引擎,最常用的是MergeTree常用的表引擎是MergeTree, 并且只有MergeTree才支持主键索引、数据分区、数据副本、ALTER操作等;建表:CREATE TABLE...原创 2021-03-26 16:45:32 · 13087 阅读 · 0 评论 -
ClickHouse数据类型
**数值:**Int RangesInt8 — [-128 : 127] Int16 — [-32768 : 32767]Int32 — [-2147483648 : 2147483647]Int64 — [-9223372036854775808 : 9223372036854775807]Int128 — [-170141183460469231731687303715884105728 : 170141183460469231731687303715884105727]Int256 —原创 2021-03-04 19:24:15 · 592 阅读 · 3 评论 -
ClickHouse从mysql同步数据
1, 按照ClickHouse的建表规范进行建表, 注意: a,ClickHouse区分大小写,如string要写为String b, 确认好字段是否有Null,如果有,CH中要定义位Nullable(String/IntX)如:CREATE TABLE sg_bury_point ( id Int64 COMMENT '主键', erp Nullable(String) COMMENT '登录ERP', app_name N...原创 2021-03-02 19:38:45 · 723 阅读 · 0 评论 -
ClickHouse版本升级
1,查看老版本 20.5.4ClickHouse client version 21.2.3.15 (official build).Connected to ClickHouse server version 20.5.4 revision 54435.ClickHouse server version is older than ClickHouse client. It may indicate that the server is out of date and can be upgr原创 2021-03-01 17:12:01 · 3356 阅读 · 0 评论 -
ClickHouse CSV导入导出
1, 新建表:CREATE TABLE zhanguo(name String COMMENT '姓名',age UInt8 comment '年龄',Country String comment '国家',Job String comment '职业')ENGINE = MergeTree() ORDER BY (name,age,Country)SETTINGS index_granularity = 8192 ;2, 准备CSV数据嬴政,23,秦,王赵括,24,赵原创 2021-03-01 14:00:55 · 7027 阅读 · 0 评论 -
Clickhouse加密方式
加密方式选择clickhouse密码可以可以设置 SHA256 ,SHA1和明文三种方式,方法如下:SHA256 通过下面命令生成密码,-c表示要生成的长度; :PASSWORD=$(base64 < /dev/urandom | head -c14); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '- users.xml中放在<password_sha256_hex></pass...原创 2021-03-01 09:56:22 · 2700 阅读 · 3 评论 -
prometheus 二进制安装
下载下载地址: https://prometheus.io/download/根据自己的平台下载对应版本; 我的环境是Centos 7安装:useradd prometheus -s /sbin/nologintar zxvf prometheus-2.22.0-rc.0.linux-amd64.tar.gzln -s prometheus-2.22.0-rc.0.linux-amd64 prometheuschown prometheus:prometheus -R prometheu原创 2021-02-02 21:02:15 · 519 阅读 · 0 评论 -
Clickhouse 监控Prometheus+clickhouse_exporter+Grafana
最近花一些时间为CK搭建监控, 可以参考https://www.jianshu.com/p/37ca4c3e4203?utm_campaign说几个注意事项:1, 安装"ClickHouse datasource "插件的时候,由于服务器基本都是不连外网的; 插件可以选择本地化安装; 文件下载链接:https://grafana.com/api/plugins/vertamedia-clickhouse-datasource/versions/2.1.0/download...原创 2020-11-11 19:22:18 · 1454 阅读 · 0 评论 -
Clickhouse system库
Table Name Description aggregate_function_combinators 聚合函数连接符 asynchronous_metric_log 记录 asynchronous_metric的日志变化记录 asynchronous_metrics 异步运行的概要信息,包括分配的内存,执行队列中的任务数量 build_options CK系统的基本信息,例如版本,系统等等 clusters 查看集群信息 collations原创 2020-11-05 16:36:48 · 1263 阅读 · 0 评论 -
Cannot execute replicated DDL query on leader
Clickhouse 执行DDL删一个字段的时候报错:Cannot execute replicated DDL query on leaderA01-R04-I133-136-9W54352.JD.LOCAL :) alter table w_local on cluster shwx_test_cluster drop column pit;ALTER TABLE w_local ON CLUSTER shwx_test_cluster DROP COLUMN pit┌─hos原创 2020-11-02 14:18:18 · 2863 阅读 · 0 评论 -
clickhouse访问
1, CK 客户端访问直接通过clickhouse-client访问[root@A02-R05-I45-170-J33FE0D ~]# clickhouse-client ClickHouse client version 20.5.4.40.Connecting to localhost:9000 as user default.Connected to ClickHouse server version 20.5.4 revision 54435.A02-R05-I45-170-J3原创 2020-09-14 18:41:28 · 1150 阅读 · 0 评论 -
ClickHouse 初始化配置
修改存储路径:CK 默认的配置文件位置:/etc/clickhouse-server/[root@A02-R05-I45-170-J33FE0D ~]# ls /etc/clickhouse-server/config.xml users.xml默认数据存储路径位于:/var/lib/clickhouse/, 需要将其修改到大磁盘下面;1, 先备份配置文件2, 确认server哪个盘最大,在下面建立目录; 我创建了/export/clickhouse2, 编辑配置文件,修改原创 2020-09-14 17:56:31 · 1652 阅读 · 0 评论 -
clickhouse 安装
CLICKHOUSE1, CK概述 列式存储数据库; 主要用于OLAP 2, 安装 1, 安装前准备: 系统: centos 6.8 3台机器; a, centos取消打开文件数限制 /etc/security/limits.conf , /etc/security/limits.d/90-nproc.conf 末尾加入内容:...原创 2020-08-12 20:25:28 · 611 阅读 · 1 评论