创新型的网站建设网页升级跳转自动刷新
- 作者: 五速梦信息网
- 时间: 2026年03月21日 11:31
当前位置: 首页 > news >正文
创新型的网站建设,网页升级跳转自动刷新,网站运营面试问题,做网站的客户需求1.副本 副本的目的主要是保障数据的高可用性#xff0c;即使一台ClickHouse节点宕机#xff0c;那么也可以从其他服务器获得相同的数据。 Data Replication | ClickHouse Docs 1.1 副本写入流程 1.2 配置步骤 #xff08;1#xff09;启动zookeeper集群 #xff08;2… 1.副本 副本的目的主要是保障数据的高可用性即使一台ClickHouse节点宕机那么也可以从其他服务器获得相同的数据。 Data Replication | ClickHouse Docs 1.1 副本写入流程 1.2 配置步骤 1启动zookeeper集群 2在hadoop102的/etc/clickhouse-server/config.d目录下创建一个名为metrika.xml的配置文件,内容如下 注也可以不创建外部文件直接在config.xml中指定zookeeper ?xml version1.0? yandex zookeeper-servers node index1 hosthadoop102/host port2181/port /node node index2 hosthadoop103/host port2181/port /node node index3 hosthadoop104/host port2181/port /node /zookeeper-servers /yandex 3同步到hadoop103和hadoop104上 sudo /home/atguigu/bin/xsync /etc/clickhouse-server/config.d/metrika.xml 4在 hadoop102的/etc/clickhouse-server/config.xml中增加 zookeeper inclzookeeper-servers optionaltrue / include_from/etc/clickhouse-server/config.d/metrika.xml/include_from 5同步到hadoop103和hadoop104上 sudo /home/atguigu/bin/xsync /etc/clickhouse-server/config.xml 分别在hadoop102和hadoop103上启动ClickHouse服务 注意因为修改了配置文件如果以前启动了服务需要重启 [atguiguhadoop102|3 ]$ sudo clickhouse restart 注意我们演示副本操作只需要在hadoop102和hadoop103两台服务器即可上面的操作我们hadoop104可以你不用同步我们这里为了保证集群中资源的一致性做了同步。 6在hadoop102和hadoop103上分别建表 副本只能同步数据不能同步表结构所以我们需要在每台机器上自己手动建表 ①hadoop102 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); ②hadoop103 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); ③参数解释 ReplicatedMergeTree 中 第一个参数是分片的zk_path一般按照 /clickhouse/table/{shard}/{table_name} 的格式写如果只有一个分片就写01即可。 第二个参数是副本名称相同的分片副本名称不能相同。 7在hadoop102上执行insert语句 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); 8在hadoop103上执行select可以查询出结果说明副本配置正确 2.分片集群 副本虽然能够提高数据的可用性降低丢失风险但是每台服务器实际上必须容纳全量数据对数据的横向扩容没有解决。 要解决数据水平切分的问题需要引入分片的概念。通过分片把一份完整的数据进行切分不同的分片分布到不同的节点上再通过Distributed表引擎把数据拼接起来一同使用。 Distributed表引擎本身不存储数据有点类似于MyCat之于MySql成为一种中间件通过分布式逻辑表来写入、分发、路由来操作多台节点不同分片的分布式数据。 注意ClickHouse的集群是表级别的实际企业中大部分做了高可用但是没有用分片避免降低查询性能以及操作集群的复杂性。 2.1 集群写入流程3分片2副本共6个节点 2.2 集群读取流程3分片2副本共6个节点 2.3 3分片2副本共6个节点集群配置供参考 配置的位置还是在之前的/etc/clickhouse-server/config.d/metrika.xml内容如下 注也可以不创建外部文件直接在config.xml的remote_servers中指定 yandex remote_servers gmall_cluster !– 集群名称– shard !–集群的第一个分片– internal_replicationtrue/internal_replication !–该分片的第一个副本– replica hosthadoop101/host port9000/port /replica !–该分片的第二个副本– replica hosthadoop102/host port9000/port /replica /shard shard !–集群的第二个分片– internal_replicationtrue/internal_replication replica !–该分片的第一个副本– hosthadoop103/host port9000/port /replica replica !–该分片的第二个副本– hosthadoop104/host port9000/port /replica /shard shard !–集群的第三个分片– internal_replicationtrue/internal_replication replica !–该分片的第一个副本– hosthadoop105/host port9000/port /replica replica !–该分片的第二个副本– hosthadoop106/host port9000/port /replica /shard /gmall_cluster /remote_servers /yandex 2.4 配置三节点版本集群及副本 2.4.1 集群及副本规划2个分片只有第一个分片有副本 hadoop102 hadoop103 hadoop104 macros shard01/shard replicarep_1_1/replica /macros macros shard01/shard replicarep_1_2/replica /macros macros shard02/shard replicarep_2_1/replica /macros 2.4.2 配置步骤 1在hadoop102的/etc/clickhouse-server/config.d目录下创建metrika-shard.xml文件 注也可以不创建外部文件直接在config.xml的remote_servers中指定 ?xml version1.0? yandex remote_servers gmall_cluster !– 集群名称– shard !–集群的第一个分片– internal_replicationtrue/internal_replication replica !–该分片的第一个副本– hosthadoop102/host port9000/port /replica replica !–该分片的第二个副本– hosthadoop103/host port9000/port /replica /shard shard !–集群的第二个分片– internal_replicationtrue/internal_replication replica !–该分片的第一个副本– hosthadoop104/host port9000/port /replica /shard /gmall_cluster /remote_servers zookeeper-servers node index1 hosthadoop102/host port2181/port /node node index2 hosthadoop103/host port2181/port /node node index3 hosthadoop104/host port2181/port /node /zookeeper-servers macros shard01/shard !–不同机器放的分片数不一样– replicarep_1_1/replica !–不同机器放的副本数不一样– /macros /yandex 2将hadoop102的metrika-shard.xml同步到103和104 sudo /home/atguigu/bin/xsync /etc/clickhouse-server/config.d/metrika-shard.xml 3修改103和104中metrika-shard.xml宏的配置 1103 [atguiguhadoop103 ]\( sudo vim /etc/clickhouse-server/config.d/metrika-shard.xml 2104 [atguiguhadoop104 ~]\) sudo vim /etc/clickhouse-server/config.d/metrika-shard.xml 4在hadoop102上修改/etc/clickhouse-server/config.xml 5同步/etc/clickhouse-server/config.xml到103和104 [atguiguhadoop102 ~]\( sudo /home/atguigu/bin/xsync /etc/clickhouse-server/config.xml 6重启三台服务器上的ClickHouse服务 [atguiguhadoop102 clickhouse-server]\) sudo clickhouse restart [atguiguhadoop102 clickhouse-server]$ ps -ef |grep click 7在hadoop102上执行建表语句 会自动同步到hadoop103和hadoop104上集群名字要和配置文件中的一致分片和副本名称从配置文件的宏定义中获取 create table st_order_mt on cluster gmall_cluster ( 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); 可以到hadoop103和hadoop104上查看表是否创建成功 8在hadoop102上创建Distribute 分布式表 create table st_order_mt_all2 on cluster gmall_cluster ( id UInt32, sku_id String, total_amount Decimal(16,2), create_time Datetime )engine Distributed(gmall_cluster,default, st_order_mt,hiveHash(sku_id)); 参数含义 Distributed集群名称库名本地表名分片键 分片键必须是整型数字所以用hiveHash函数转换也可以rand() 9在hadoop102上插入测试数据 insert into st_order_mt_all2 values (201,sku_001,1000.00,2020-06-01 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); 10通过查询分布式表和本地表观察输出结果 1分布式表 SELECT * FROM st_order_mt_all; 2本地表 select * from st_order_mt; 3观察数据的分布 st_order_mt_all hadoop102: st_order_mt hadoop103: st_order_mt hadoop104: st_order_mt 2.5 项目为了节省资源就使用单节点不用集群 不需要求改文件引用因为已经使用集群建表了如果改为引用metrika-shard.xml的话启动会报错。我们以后用的时候只启动102即可。
- 上一篇: 创新型的福州网站建设中企动力销售陪酒多吗
- 下一篇: 创新优典网站建设免费策划方案平台
相关文章
-
创新型的福州网站建设中企动力销售陪酒多吗
创新型的福州网站建设中企动力销售陪酒多吗
- 技术栈
- 2026年03月21日
-
创新的龙岗网站建设如何做盆栽蔬菜网站
创新的龙岗网站建设如何做盆栽蔬菜网站
- 技术栈
- 2026年03月21日
-
创新的赣州网站建设建设银行网站理财产品
创新的赣州网站建设建设银行网站理财产品
- 技术栈
- 2026年03月21日
-
创新优典网站建设免费策划方案平台
创新优典网站建设免费策划方案平台
- 技术栈
- 2026年03月21日
-
创业给企业做网站开发电子机箱网站建设报告
创业给企业做网站开发电子机箱网站建设报告
- 技术栈
- 2026年03月21日
-
创业过程中网站建设单页面网站跳出率
创业过程中网站建设单页面网站跳出率
- 技术栈
- 2026年03月21日






