ClickHouse 分布式部署、分布式表创建及数据迁移指南

部署 ClickHouse 集群

Quantum Insights 的部署将基于一个高可用的分布式 ClickHouse 集群,以实现对大规模数据的高效处理和查询。

1.1 环境准备

  • 准备至少三台服务器,用于 ClickHouse 的分布式部署。
  • 每台服务器的系统要求:
    • 操作系统: CentOS 7
    • 内存:16GB 以上
    • CPU:8 核 以上
    • 磁盘:SSD 500GB 以上
    • 网络:千兆网络

1.2 安装 ClickHouse

在每台服务器上执行以下步骤进行 ClickHouse 的安装。

> yum install -y yum-utils
> yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
> yum install -y clickhouse-server clickhouse-client

1.3 配置集群

在每台服务器的配置文件 /etc/clickhouse-server/config.d/metrika.xml 中添加集群配置。假设有三台服务器,IP 分别为 192.168.1.1, 192.168.1.2, 192.168.1.3

<yandex><remote_servers><ycloud_clickhouse_cluster><shard><internal_replication>true</internal_replication><replica><host>192.168.1.1</host><port>9920</port><user>default</user><password>GStrain_123</password></replica></shard><shard><internal_replication>true</internal_replication><replica><host>192.168.1.2</host><port>9920</port><user>default</user><password>GStrain_123</password></replica></shard><shard><internal_replication>true</internal_replication><replica><host>192.168.1.3</host><port>9920</port><user>default</user><password>GStrain_123</password></replica></shard></ycloud_clickhouse_cluster></remote_servers><zookeeper><node index="1"><host>192.168.1.10</host><port>2284</port></node><node index="2"><host>192.168.1.11</host><port>2284</port></node><node index="3"><host>192.168.1.12</host><port>2284</port></node></zookeeper><macros><shard>01</shard>   ###  根据节点填写<replica>192.168.1.1</replica>  ###  根据节点填写</macros><networks><ip>::/0</ip></networks><clickhouse_compression><case><min_part_size>10000000000</min_part_size><max_partitions_per_insert_block>0</max_partitions_per_insert_block><min_part_size_ratio>0.01</min_part_size_ratio><method>lz4</method></case></clickhouse_compression>
</yandex>

⚡️: zk 自行创建 ,macros根据节点填写,port部分我是调整过的根据实际情况填写

重启 ClickHouse 服务器以应用新的配置。

> systemctl restart clickhouse-server

创建分布式表

2.1 创建本地表

在每台服务器上创建本地表 gatewaySvrAls

CREATE TABLE default.gatewaySvrAls ON CLUSTER ycloud_clickhouse_cluster
(
logtime DateTime,
method String,
orderId String,
transactionid String,
serialnumber String,
code Int32,
reserveNo String
)
ENGINE =  ReplicatedMergeTree('/clickhouse/tables/{shard}/default/gatewaySvrAls', '{replica}')
PARTITION BY toYYYYMMDD(logtime)
PRIMARY KEY (logtime,orderId,serialnumber)
ORDER BY (logtime,orderId,serialnumber)
SETTINGS index_granularity = 8192;

2.2 创建分布式表

在每台服务器上创建分布式表 gatewaySvrAls_all,以对本地表进行分布式查询。

CREATE TABLE default.gatewaySvrAls_all ON CLUSTER ycloud_clickhouse_cluster AS default.gatewaySvrAls
ENGINE = Distributed(ycloud_clickhouse_cluster, default, gatewaySvrAls, rand())

2.3 删除分布式表

在集群任意节点上执行

DROP TABLE default.gatewaySvrAls ON CLUSTER ycloud_clickhouse_cluster;
DROP TABLE default.gatewaySvrAls_all ON CLUSTER ycloud_clickhouse_cluster;

测试分布式表

3.1 插入测试数据。

INSERT INTO gatewaySvrAls VALUES ('2024-05-15 14:19:24', 'ycloud_1', '123456', 'YCLOUD123456', '', '100', '');
INSERT INTO gatewaySvrAls VALUES ('2024-05-15 14:19:25', 'ycloud_2', '123456', 'YCLOUD123456', '', '100', '');

在分布式表上执行查询,以验证集群配置和分布式表的工作情况。

SELECT * FROM default.gatewaySvrAls;

配置和管理

为了确保 Quantum Insights 的高可用性和稳定性,可以配置监控和报警系统,如 Prometheus 和 Grafana,并定期备份数据。

4.1 配置监控

  • 安装 Prometheus 并配置 ClickHouse Exporter。
  • 使用 Grafana 创建可视化面板监控集群健康状况。

4.2 数据备份

定期备份 ClickHouse 数据以防数据丢失。

# 在每台服务器上定期执行备份
clickhouse-backup create backup_name
clickhouse-backup upload backup_name

数据迁移

数据迁移需要确保数据从旧系统到新系统的完整性和一致性,本次使用的官方客户端进行数据迁移

5.1 导出

clickhouse-client  -h 192.168.1.1 --port 9920  -u default --password ycloud_123 --query="SELECT * FROM default.gatewaySvrAls" --format=CSV > output.csv

5.2 导入

clickhouse-client --host 192.168.1.1--port 9920 --user default --password ycloud_123 --query="INSERT INTO default.gatewaySvrAls FORMAT CSV" < output.csv

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/844221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法刷题笔记 差分(C++实现)

文章目录 差分概述题目描述解题思路实现代码 差分概述 在我的博文 算法刷题笔记 前缀和和 算法刷题笔记 子矩阵的和 中&#xff0c;曾介绍了前缀和算法。前缀和是指对于一个原始数组&#xff0c;我们构建一个含有相同元素个数的辅助数组&#xff0c;其中辅助数组的下标为i的元…

Java(六)——抽象类与接口

文章目录 抽象类和接口抽象类抽象类的概念抽象类的语法抽象类的特性抽象类的意义 接口接口的概念接口的语法接口的特性接口的使用实现多个接口接口与多态接口间的继承抽象类和接口的区别 抽象类和接口 抽象类 抽象类的概念 Java使用类实例化对象来描述现实生活中的实体&…

【第一节】从C语言到C++

目录 一、面向对象编程 1.早期概念 2.发展与普及 3. 现代发展 二、从C语言到C 1.关于堆内存的使用 2.关于函数重载 3.关于默认参数 4.引用 5.引用参数 6.作用域符号 三、C的输入输出机制 一、面向对象编程 面向对象编程&#xff08;Object-Oriented Programming&am…

java 对接农行支付相关业务(一)

文章目录 java整合农行支付1:业务需求了解2:第三方App接入农行支付流程2.1 java 集成农行依赖2.2 java配置农行支付相关证书信息2.2.1:首先我们要配置ConfigSource 文件2.2.2: 配置TrustMerchant 文件信息3:接入农行支付等相关api接口java整合农行支付 技术背景:idea+jd…

如何进一步缩短Python性能

1、问题背景 给定一个(x,y)处的节点网格&#xff0c;每个节点有一个值(0…255)从0开始。有N个输入坐标&#xff0c;每个坐标在(0…x, 0…y)的范围内。一个值Z&#xff0c;它定义了节点的“邻域”。增加输入坐标及其邻居节点的值。网格边缘之外的邻居被忽略。基准案例&#xff…

专转本上岸别太老实做这三件事

如果你专转本上岸&#xff0c;千万不要当老实人去做这三件事&#xff0c;真的没有必要&#xff0c;不但浪费时间&#xff0c;还会让你提前进入对未来的迷茫期。建议转本人们一定要知道&#xff0c;首先就是不要过度关注学分。因为转本上岸只有两年&#xff0c;我们属于大三&…

spdlog日志库源码:自定义异常类spdlog_ex

自定义异常类spdlog_ex 标准库异常类&#xff08;std::exception&#xff09;系列&#xff0c;能满足大多数使用异常的场景&#xff0c;但对系统调用异常及错误信息缺乏支持。spdlog通过继承std::exception&#xff0c;扩展对系统调用的支持&#xff0c;实现自定义异常类spdlo…

产教协同|暴雨AI算力赋能传媒实践教学

近日&#xff0c;“第七届传媒实践教学创新研讨会暨中国高校影视学会实验教学专业委员会年会”在美丽的山城重庆成功举办。本次大会以“拥抱AI&#xff0c;融合共生”为主题&#xff0c;吸引了来自全国200多所高校、30多家企业以及700多位大视听实践教学产学研用各界专家、学者…

#php-config的作用#

/usr/local/php/bin/php-config php-config 做什么的 php-config 是一个在 PHP 编译和安装过程中生成的实用程序&#xff0c;它提供了关于 PHP 安装配置的信息。这些信息对于其他软件&#xff08;如扩展模块或绑定库&#xff09;在编译时链接到 PHP 运行时环境非常有用。 具体…

Data Lakehouse:你的下一个数据仓库

作者&#xff1a;张友东 StarRocks TSC member/镜舟科技 CTO 数据分析是现代企业和组织决策过程中不可或缺的一部分&#xff0c;数据分析技术经过数十年的发展&#xff0c;需求场景从 BI 报表到数据探寻、实时预测、用户画像等不断丰富&#xff0c;技术架构经历从数据仓库、数据…

如何进行企业的数字化转型?

“企业数字化转型怎么做&#xff1f;” &#xff0c;类似的文章网上有很多&#xff0c;但大多数内容都写得太高深了&#xff0c;一般人看不懂&#xff0c;也用不上... 作为一个践行者&#xff0c;而不是数字化产品的销售员&#xff0c;我跟你说点你能听得懂的。 1、导入信息化…

【AIGC】GPT-4o技术分析-浅谈

GPT-4o&#xff1a;人工智能技术的全新里程碑 一、引言二、GPT系列版本间的对比分析三、GPT-4o的技术能力分析多模态处理能力速度与性能优化情感理解与表达能力 四、个人整体感受五、结语 一、引言 在人工智能技术的浪潮中&#xff0c;OpenAI再次以其卓越的创新能力引领潮流。近…

Java中的打印流PrintStream 和 PrintWriter

PrintStream和PrintWriter在Java中都是用于打印输出的类&#xff0c;但它们之间存在一些明显的区别。以下是关于这两个类的详细解释和比较&#xff1a; PrintStream 基本特性 PrintStream是一个字节打印流&#xff0c;它继承自FilterOutputStream。 主要操作byte流&#xff0…

15.Redis之持久化

0.知识引入 mysql的事务,有四个比较核心的特性. 1. 原子性 2.一致性 3.持久性 >(和持久化说的是一回事)【把数据存储在硬盘 >持久把数据存储茌内存上>不持久~】【重启进程/重启主机 之后,数据是否存在!!】 4.隔离性~ Redis 是一个 内存 数据库.把数据存储在内存中的…

【张量】由可逆线性变换诱导的具有新张量核范数的低秩张量补全(1)

文章目录 由可逆线性变换诱导的具有新张量核范数的低秩张量补全【Low-rank Tensor Completion with a New Tensor Nuclear Norm Induced by Invertible Linear Transform】摘要1.介绍**2. 由变换基的张量-张量积诱导的新的张量核范数**2.2 基于变换的 T-积 诱导的张量核范数 **…

RFID芯片掼蛋牌:高科技与传统玩法结合,游戏体验焕然一新。

火爆“出圈”的掼蛋&#xff0c;是一种玩法相当鲜明的智力游戏。近年来得到了不少的推广和发展&#xff0c;各地举办了各种掼蛋比赛和活动&#xff0c;吸引了大量的参赛者和观众。此外&#xff0c;一些企业和机构也开始将掼蛋作为一种企业文化或者社交活动的方式&#xff0c;通…

灯下黑”挖出国内知名安全平台某BUF的CSRF漏洞

漏洞复现&#xff1a; 漏洞点在删除文章的地方&#xff0c;首先为了测试先发布一篇文章 发布之后我们可以查看文章&#xff0c;注意url中的一串数字&#xff0c;就是这篇文章的id&#xff0c;如下如&#xff1a; 这里的文章id是“271825”&#xff0c;首先抓一下删除文章的数据…

JavaScript基础(十)

上一篇学了各种数组方法&#xff0c;正好先做个练习回忆一下: 排序并去重 我随便写一组数&#xff0c;要求排好并去掉重复的: var arr [2,8,1,7,2,6,1,5,2,7,6,5]; for (var i0; i<arr.length; i){ for (var ji1; j<arr.length; j){ if(arr[i]arr[j]){ arr.splice(j,1)…

LeetCode 474.一和零

没做出来&#xff0c;最后看了解析&#xff0c;看了半天才懂。 我一开始把这个题当成多重背包来做了&#xff0c;因为有0和1两个参数需要考虑&#xff0c;但是中间很多情况不知道怎么处理。后面看了解析才知道这是个01背包问题&#xff0c;0和1都是一个物品上的属性&#xff0c…

Revit二次开发-WPF ProgressBar 执行程序中显示进度条

Revit开发执行命令时如果时间长,界面会顶住,导致用户误以为程序未响应,解决方法:增加WPF ProgressBar 进度条执行程序中显示进度条,提示命令还是进行中, 实现流程: 新建一个WPF,Window启动时加载一个事件Loaded=“Window_Loaded”,用于显示进度条在WPF后台,新建一个异…