IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> ClickHouse学习(五)集群操作 -> 正文阅读

[大数据]ClickHouse学习(五)集群操作

副本

zookeeper配置

内部直接修改
直接将其改成自己的就行

在这里插入图片描述

外部文件形式
在/etc/clickhouse-server/config.d下创建metrika.xml文件

<?xml version="1.0"?>
<yandex>
<zookeeper-servers>
 <node index="1">
 <host>spark01</host>
 <port>2181</port>
 </node>
 <node index="2">
 <host>spark02</host>
 <port>2181</port>
 </node>
 <node index="3">
 <host>spark03</host>
 <port>2181</port>
 </node>
</zookeeper-servers>
</yandex>

分发给其他机器
在这里插入图片描述
在/etc/clickhouse-server/config.xml中添加以下信息:

<zookeeper incl="zookeeper-servers" optional="true" />
<include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from>

在这里插入图片描述
分发集群
在这里插入图片描述
到此就配置完成了

测试

副本只能同步数据但是不能同步表结构数据

/clickhouse/table/01/t_order_rep 表示在zookeeper中的路径信息 其中01表示一个分片
rep_102 表示副本名称

分别在三台机子上创建表结构

spark01上创建:
create table t_order_rep2 (
 id UInt32,
 sku_id String,
 total_amount Decimal(16,2),
 create_time Datetime
) engine =ReplicatedMergeTree('/clickhouse/table/01/t_order_rep','rep_101')
 partition by toYYYYMMDD(create_time)
 primary key (id)
 order by (id,sku_id);
 
spark02上创建:
create table t_order_rep2 (
 id UInt32,
 sku_id String,
 total_amount Decimal(16,2),
 create_time Datetime
) engine =ReplicatedMergeTree('/clickhouse/table/01/t_order_rep','rep_102')
 partition by toYYYYMMDD(create_time)
 primary key (id)
 order by (id,sku_id);

spark03上创建:
create table t_order_rep2 (
 id UInt32,
 sku_id String,
 total_amount Decimal(16,2),
 create_time Datetime
) engine =ReplicatedMergeTree('/clickhouse/table/01/t_order_rep','rep_103')
 partition by toYYYYMMDD(create_time)
 primary key (id)
 order by (id,sku_id);

向spark01中插入数据

insert into t_order_rep2 values
(101,'sku_001',1000.00,'2020-06-01 12:00:00'),
(102,'sku_002',2000.00,'2020-06-01 12:00:00'),
(103,'sku_004',2500.00,'2020-06-01 12:00:00'),
(104,'sku_002',2000.00,'2020-06-01 12:00:00'),
(105,'sku_003',600.00,'2020-06-02 12:00:00');

能在spark02,03上查到
在这里插入图片描述

分片集群

分片就是将一张表的数据分布在不同的节点上,再通过 Distributed 表引擎把数据拼接起来一同使用。
Distributed 表引擎本身不存储数据只是用来管理其他分片

搭建

创建两个分片,第一个分片有一个副本

在config.d下创建metrika-shard.xml文件

<?xml version="1.0"?>
<yandex>
<remote_servers>
<clusters> <!-- 集群名称--> 
<shard> <!--集群的第一个分片-->
<internal_replication>true</internal_replication>
 <replica> <!--该分片的第一个副本-->
 <host>spark01</host>
 <port>9000</port>
 </replica>
 <replica> <!--该分片的第二个副本-->
 <host>spark02</host>
 <port>9000</port>
 </replica>
</shard>
<shard> <!--集群的第二个分片-->
 <internal_replication>true</internal_replication>
 <replica> <!--该分片的第一个副本-->
 <host>spark03</host>
 <port>9000</port>
 </replica>
</shard>
</clusters>
</remote_servers>
<zookeeper-servers>
<node index="1">
<host>spark01</host>
<port>2181</port>
</node>
<node index="2">
<host>spark02</host>
 <port>2181</port>
</node>
<node index="3">
 <host>spark03</host>
 <port>2181</port>
</node>
</zookeeper-servers>
<macros>
<shard>01</shard> <!--不同机器放的分片数不一样-->
<replica>rep_1_1</replica> <!--不同机器放的副本数不一样-->
</macros>
</yandex>

分发给其他集群
在这里插入图片描述
将spark02上的文件进行修改
在这里插入图片描述
将spark03上的文件进行修改
在这里插入图片描述
在config.xml文件下将文件名进行修改
在这里插入图片描述
分发集群
在这里插入图片描述
每次配置完config.xml必须重启一次服务

测试

先创建分片表

create table st_order_mt on cluster clusters (
 id UInt32,
 sku_id String,
 total_amount Decimal(16,2),
 create_time Datetime
) engine =ReplicatedMergeTree('/clickhouse/tables/{shard}/st_order_mt','{replica}')
 partition by toYYYYMMDD(create_time)
 primary key (id)
 order by (id,sku_id);

在这里插入图片描述
再创建 Distribute 分布式表

create table test2 on cluster clusters
(
 id UInt32,
 sku_id String,
 total_amount Decimal(16,2),
 create_time Datetime
)engine = Distributed(clusters,default, st_order_mt,hiveHash(sku_id));

在这里插入图片描述
向分布式表中插入数据

insert into test2 values
(201,'sku_001',1000.00,'2020-06-03 12:00:00') ;
(202,'sku_002',2000.00,'2020-06-01 12:00:00'),
(203,'sku_004',2500.00,'2020-06-01 12:00:00'),
(204,'sku_002',2000.00,'2020-06-01 12:00:00'),
(205,'sku_003',600.00,'2020-06-02 12:00:00');

第一个分片表
在这里插入图片描述
第一个分片表的副本
在这里插入图片描述
第二个分片表
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 11:16:50  更:2021-08-04 11:18:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 19:50:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码