云服务器内容精选
-
ClickHouse手动安装客户端 准备Linux弹性云服务器,具体操作请见准备弹性云服务章节。 下载客户端,登录表格存储服务管理控制台,在左侧导航树单击“帮助”,然后在页面右侧单击“客户端下载”,下载客户端安装包。 图1 下载ClickHouse客户端 安装客户端,连接集群。 使用SSH登录工具,通过弹性IP远程登录到Linux弹性云服务器。 具体登录操作步骤请参见《弹性云服务器用户指南》中的“ SSH密码方式登录”。 进入SSH工具的根目录。 cd / 在根目录中新建一个文件夹。 mkdir 文件夹名 进入新建的目录中。 cd /文件夹名/ 将客户端放在新建的目录下。 解压客户端。 tar -zxf 客户端包名 加载so。 sh install.sh 进入bin目录,加权限。 cd bin/ 加权限。 chmod 700 clickhouse 然后执行以下命令连接ClickHouse集群,端口请参见表1。 非安全集群连接命令 ./clickhouse client --host 集群内网地址 --port 端口 --user admin --password password 安全集群连接命令,详细操作请参见安全集群连接步骤 ./clickhouse client --host 集群内网地址 --port 端口 --user admin --password password --secure --config-file /root/config.xml 集群内网地址:集群详情页面中集群访问地址,这里替换成您自己购买的集群的访问地址。 password为您购买集群时设置的密码,如果有特殊符号,特殊符号前面需要\进行转义,如果密码整体用单引号括起来,则特殊字符不需要转义。 表1 自定义安全规则组 方向 策略 协议端口/范围 类型 目的/源地址 用途 出方向 允许 全部 IPv4/IPv6 0.0.0.0/0 出方向放行。 入方向 允许 8123 CloudTable ClickHouse集群所在的安全组。 ClickHouse的Http协议端口。 允许 9000 ClickHouse的TCP协议端口。 允许 8443 ClickHouse的Https协议端口。 允许 9440 ClickHouse的安全TCP安全端口。
-
ClickHouse表数据操作 创建表后,可以插入数据到本地表。 例如插入数据到本地表test。 insert into test values(toDateTime(now()), rand()); 查询本地表信息。 例如查询表test数据信息: select * from test; SELECT * FROM test ┌───────────EventDate─┬─────────id─┐ │ 2020-11-05 21:10:42 │ 1596238076 │ └──────────────── ┴───────────┘ 1 rows in set. Elapsed: 0.002 sec. 查询Distributed分布式表。 例如分布式表test_all基于test创建,所以test_all表也能查询到和test相同的数据。 select * from test_all; SELECT * FROM test_all ┌───────────EventDate─┬─────────id─┐ │ 2020-11-05 21:10:42 │ 1596238076 │ └──────────────── ┴───────────┘ 1 rows in set. Elapsed: 0.004 sec. 切换登录节点为相同shard_num的shard节点,并且查询当前表信息,能查询到相同的表数据。 例如,退出原有登录节点:exit; 切换到节点node-group-1tXED0003: clickhouse client --host node-group-1tXED0003 --multiline --port 9440 --secure; show tables; SHOW TABLES ┌─name─────┐ │ test │ │ test_all │ └────────┘ 查询本地表数据。例如在节点node-group-1tXED0003查询test表数据。 select * from test; SELECT * FROM test ┌───────────EventDate─┬─────────id─┐ │ 2020-11-05 21:10:42 │ 1596238076 │ └──────────────── ┴───────────┘ 1 rows in set. Elapsed: 0.005 sec. 切换到不同shard_num的shard节点,并且查询之前创建的表数据信息。 例如退出之前的登录节点node-group-1tXED0003: exit; 切换到node-group-1tXED0001节点。 clickhouse client --host node-group-1tXED0001 --multiline --port 9440 --secure; 查询test本地表数据,因为test是本地表所以在不同分片节点上查询不到数据。 select * from test; SELECT * FROM test Ok. 查询test_all分布式表数据,能正常查询到数据信息。 select * from test_all; SELECT * FROM test ┌───────────EventDate─┬─────────id─┐ │ 2020-11-05 21:12:19 │ 3686805070 │ └──────────────── ┴───────────┘ 1 rows in set. Elapsed: 0.002 sec.
-
常见问题 执行连接ClickHouse组件客户端命令后,登录报错“Connection refused”。 请检查当前集群是否为定制端口(在创建集群时将“组件端口”参数选择为“定制”),如果为定制端口,则需要将连接ClickHouse组件客户端命令中所使用的端口替换为下表中的“定制默认端口”。 配置参数 开源默认端口 定制默认端口 端口说明 interserver_http_port 9009 9009 用于在ClickHouse server间通信的http端口。 interserver_https_port 9010 9010 用于在ClickHouse server间通信的https端口。 http_port 8123 8123 用于通过http连接到ClickHouse server的端口。 https_port 8443 8443 用于通过https连接到ClickHouse server的端口。 tcp_port 9000 9000 用于客户端通过TCP连接到ClickHouse server的端口。 tcp_port_secure 9440 9440 用于客户端通过TCP SSL连接到ClickHouse server的端口。 lb_tcp_port 21424 21424 ClickHouseBalancer监听的tcp端口号。 lb_http_port 21425 21425 ClickHouseBalancer监听的http端口号。 lb_https_port 21426 21426 ClickHouseBalancer监听的https端口号。 lb_tcp_secure_port 21428 21428 ClickHouseBalancer监听的tcp ssl端口号。
-
查看ClickHouse服务cluster等环境参数信息 使用ClickHouse客户端连接到ClickHouse服务端。 查询集群标识符cluster等其他环境参数信息。 select cluster,shard_num,replica_num,host_name from system.clusters; SELECT cluster, shard_num, replica_num, host_name FROM system.clusters ┌─cluster───────────┬─shard_num─┬─replica_num─┬─host_name──────── ┐ │ default_cluster_1 │ 1 │ 1 │ node-master1dOnG │ │ default_cluster_1 │ 1 │ 2 │ node-group-1tXED0001 │ │ default_cluster_1 │ 2 │ 1 │ node-master2OXQS │ │ default_cluster_1 │ 2 │ 2 │ node-group-1tXED0002 │ │ default_cluster_1 │ 3 │ 1 │ node-master3QsRI │ │ default_cluster_1 │ 3 │ 2 │ node-group-1tXED0003 │ └─────────────── ┴────── ┴─────── ┴──────────────┘ 6 rows in set. Elapsed: 0.001 sec. 查询分片标识符shard和副本标识符replica。 select * from system.macros; SELECT * FROM system.macros ┌─macro───┬─substitution─────┐ │ id │ 76 │ │ replica │ 2 │ │ shard │ 3 │ └────── ┴────────────┘ 3 rows in set. Elapsed: 0.001 sec.
-
创建本地复制表和分布式表 使用ReplicatedMergeTree引擎创建复制表。 详细的语法说明请参考:https://clickhouse.tech/docs/zh/engines/table-engines/mergetree-family/replication/#creating-replicated-tables。 例如,在default_cluster_1集群节点上和default数据库下创建表名为test的ReplicatedMergeTree表: CREATE TABLE default.test ON CLUSTER default_cluster_1 ( `EventDate` DateTime, `id` UInt64 ) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/default/test', '{replica}') PARTITION BY toYYYYMM(EventDate) ORDER BY id; 参数说明如下: ON CLUSTER语法表示分布式DDL,即执行一次就可在集群所有实例上创建同样的本地表。 default_cluster_1为查看ClickHouse服务cluster等环境参数信息中查询到的cluster集群标识符。 ReplicatedMergeTree引擎族接收两个参数: ZooKeeper中该表相关数据的存储路径。 该路径必须在/clickhouse目录下,否则后续可能因为ZooKeeper配额不够导致数据插入失败。 为了避免不同表在ZooKeeper上数据冲突,目录格式必须按照如下规范填写: /clickhouse/tables/{shard}/default/test,其中/clickhouse/tables/{shard}为固定值,default为数据库名,test为创建的表名。 副本名称,一般用{replica}即可。 CREATE TABLE default.test ON CLUSTER default_cluster_1 ( `EventDate` DateTime, `id` UInt64 ) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/default/test', '{replica}') PARTITION BY toYYYYMM(EventDate) ORDER BY id ┌─host─────────────────┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐ │ node-group-1tXED0002 │ 9000 │ 0 │ │ 5 │ 3 │ │ node-group-1tXED0003 │ 9000 │ 0 │ │ 4 │ 3 │ │ node-master1dOnG │ 9000 │ 0 │ │ 3 │ 3 │ └────────────────────┴────┴─────┴──── ┴─────────── ┴──────────┘ ┌─host─────────────────┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐ │ node-master3QsRI │ 9000 │ 0 │ │ 2 │ 0 │ │ node-group-1tXED0001 │ 9000 │ 0 │ │ 1 │ 0 │ │ node-master2OXQS │ 9000 │ 0 │ │ 0 │ 0 │ └────────────────────┴────┴─────┴──── ┴─────────── ┴──────────┘ 6 rows in set. Elapsed: 0.189 sec. 使用Distributed引擎创建分布式表。 例如,以下将在default_cluster_1集群节点上和default数据库下创建名为test_all 的Distributed表: CREATE TABLE default.test_all ON CLUSTER default_cluster_1 ( `EventDate` DateTime, `id` UInt64 ) ENGINE = Distributed(default_cluster_1, default, test, rand()); CREATE TABLE default.test_all ON CLUSTER default_cluster_1 ( `EventDate` DateTime, `id` UInt64 ) ENGINE = Distributed(default_cluster_1, default, test, rand()) ┌─host─────────────────┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐ │ node-group-1tXED0002 │ 9000 │ 0 │ │ 5 │ 0 │ │ node-master3QsRI │ 9000 │ 0 │ │ 4 │ 0 │ │ node-group-1tXED0003 │ 9000 │ 0 │ │ 3 │ 0 │ │ node-group-1tXED0001 │ 9000 │ 0 │ │ 2 │ 0 │ │ node-master1dOnG │ 9000 │ 0 │ │ 1 │ 0 │ │ node-master2OXQS │ 9000 │ 0 │ │ 0 │ 0 │ └────────────────────┴────┴─────┴──── ┴─────────── ┴──────────┘ 6 rows in set. Elapsed: 0.115 sec. Distributed引擎需要以下几个参数: default_cluster_1为查看ClickHouse服务cluster等环境参数信息中查询到的cluster集群标识符。 default本地表所在的数据库名称。 test为本地表名称。 (可选的)分片键(sharding key) 该键与config.xml中配置的分片权重(weight)一同决定写入分布式表时的路由,即数据最终落到哪个物理表上。它可以是表中一列的原始数据(如site_id),也可以是函数调用的结果,如上面的SQL语句采用了随机值rand()。注意该键要尽量保证数据均匀分布,另外一个常用的操作是采用区分度较高的列的哈希值,如intHash64(user_id)。
-
Clickhouse命令简介 本章节主要介绍常用的ClickHouse组件命令。安装ClickHouse客户端后,加载环境变量,可使用以下命令。 连接ClickHouse集群。 非安全集群连接命令 ./clickhouse client --host 集群内网地址 --port 端口 --user admin --password password 安全集群连接命令,详细操作请参见安全集群连接步骤 ./clickhouse client --host 集群内网地址 --port 端口 --user admin --password password --secure --config-file /root/config.xml 创建数据库。 create database demo; 使用数据库。 use demo; 查看当前使用数据库。 select currentDatabase(); 创建数据表。 create table demo_t(uid Int32,name String,age UInt32,gender String)engine = TinyLog; 查看表结构。 desc demo_t; 插入数据。 insert into demo_t values(1,'Candy','23','M'),(2,'cici','33','F'); 查看表。 select * from demo_t; 查看数据库和表。 查看数据库。 show databases; 查看表。 show tables; 删除数据库和表。 删除表。 drop table demo_t; 删除数据表前,需确认此数据表是否应用中,以免引起不必要的麻烦。 删除数据表后可在24小时内恢复,超过24小时无法恢复。恢复命令如下: set allow_experimental_undrop_table_query = 1; UNDROP TABLE 数据表名; 删除数据库。 drop database demo; 父主题: 使用Clickhouse
-
解决办法 使用以下命令修改表的“kafka_skip_broken_messages”属性: # ALTER test.user_log MODIFY SETTINGS kafka_skip_broken_messages=10000 10000可以根据数据中脏数据的比例进行调整。 kafka_skip_broken_messages:Kafka消息解析器对每个块的架构不兼容消息的容忍度,默认值:0。 例如:kafka_skip_broken_messages = N,则引擎会跳过N条无法解析的Kafka消息。
-
原因分析 Kafka出现消息堆积,说明ClickHouse消费数据时出现异常,需要看一下ClickHouse的日志。 登录MRS集群,进入ClickHouse实例所在的节点,查看“/var/log/Bigdata/clickhouse”目录下的“clickhouse-server.log”日志文件,发现以下报错: 进入到其他ClickHouse节点也发现了同样的报错日志,由此可知Kafka消息堆积是因为ClickHouse解析Kafka数据时出现异常。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格