当前位置: 首页 > news >正文

郑州商城网站开发佛山低价网站建设

郑州商城网站开发,佛山低价网站建设,什么是口碑营销,用天地图做网站一、简介 分片功能依赖于 Distributed 表引擎,Distributed 表引擎本身不存储数据,有点类似于 MyCat 之于 MySql,成为一种中间件,通过分布式逻辑表来写入、分发、路由来操作多台节点不同分片的分布式数据 ClickHouse 进行分片集群的…

一、简介

分片功能依赖于 Distributed 表引擎,Distributed 表引擎本身不存储数据,有点类似于 MyCat 之于 MySql,成为一种中间件,通过分布式逻辑表来写入、分发、路由来操作多台节点不同分片的分布式数据

ClickHouse 进行分片集群的目的是解决数据的横向扩容,通过分片把一份完整的数据进行切分,不同的分片分布到不同的节点上,再通过 Distributed 表引擎把数据拼接起来一同使用。

二、集群规划

3 分片 2 副本共 6 个节点,s 表示分片数,r 表示副本数

hadoop1hadoop2hadoop3hadoop4hadoop5hadoop6
s1r1s1r2s2r1s2r2s3r1s3r2

1. 写入流程

实际生产中会设置 internal_replication=true,开启副本内部同步

在这里插入图片描述

2. 读取流程

在这里插入图片描述

  • 优先选择 error_count 值小的副本进行读取
  • 当同一分片的 error_count 值相同时选择方式有随机、顺序、优先第一顺位和主机名称近似等四种

3. 集群配置

su root
cd /etc/clickhouse-server/config.dvim metrika.xml#添加配置
<yandex><remote_servers><gmall_cluster> <!-- 自定义集群名称--><shard> <!--集群的第一个分片--><internal_replication>true</internal_replication><!--该分片的第一个副本--><replica><host>hadoop101</host><port>9000</port></replica><!--该分片的第二个副本--><replica><host>hadoop102</host><port>9000</port></replica></shard><shard> <!--集群的第二个分片--><internal_replication>true</internal_replication><replica> <!--该分片的第一个副本--><host>hadoop103</host><port>9000</port></replica><replica> <!--该分片的第二个副本--><host>hadoop104</host><port>9000</port></replica></shard><shard> <!--集群的第三个分片--><internal_replication>true</internal_replication><replica> <!--该分片的第一个副本--><host>hadoop105</host><port>9000</port></replica><replica> <!--该分片的第二个副本--><host>hadoop106</host><port>9000</port></replica></shard></gmall_cluster></remote_servers>
</yandex>#也可以直接在 config.xml 的<remote_servers>中指定

三、三节点版本集群配置操作

生产上 ClickHouse 建议独立部署在服务器上,建议资源:100G内存,CPU为32线程

1. 分片及副本规划

hadoop102hadoop103hadoop104
s1r1s1r2s2r1

2. 实操步骤

  • 在 hadoop102 节点的 /etc/clickhouse-server/config.d 目录下创建 metrika-shard.xml 文件

    su root
    cd /etc/clickhouse-server/config.d 
    vim metrika-shard.xml#添加配置
    <?xml version="1.0"?>
    <yandex><remote_servers><gmall_cluster> <!-- 自定义集群名称--><shard> <!--集群的第一个分片--><internal_replication>true</internal_replication><replica> <!--该分片的第一个副本--><host>hadoop102</host><port>9000</port></replica><replica> <!--该分片的第二个副本--><host>hadoop103</host><port>9000</port></replica></shard><shard> <!--集群的第二个分片--><internal_replication>true</internal_replication><replica> <!--该分片的第一个副本--><host>hadoop104</host><port>9000</port></replica></shard></gmall_cluster></remote_servers><zookeeper-servers><node index="1"><host>hadoop102</host><port>2181</port></node><node index="2"><host>hadoop103</host><port>2181</port></node><node index="3"><host>hadoop104</host><port>2181</port></node></zookeeper-servers><macros><shard>01</shard> <!--不同机器放的分片数不一样--><replica>rep_1_1</replica> <!--不同机器放的副本数不一样--></macros>
    </yandex>chown clickhouse:clickhouse metrika-shard.xml#也可以直接在 config.xml 的<remote_servers>中指定
    
  • 在 hadoop102 上修改 /etc/clickhouse-server/config.xml

    cd /etc/clickhouse-servervim config.xml#添加外部文件路径
    <zookeeper incl="zookeeper-servers" optional="true" />
    <include_from>/etc/clickhouse-server/config.d/metrika-shard.xml</include_from>
    
  • 分发配置到 hadoop103 和 hadoop104

    /etc/clickhouse-server/config.d/metrika-shard.xml
    /etc/clickhouse-server/config.xml
    
  • 分别修改 hadoop103 和 hadoop104 中 metrika-shard.xml<macros> 的配置

    #hadoop103
    sudo vim /etc/clickhouse-server/config.d/metrika-shard.xml<macros><shard>01</shard> <!--不同机器放的分片数不一样--><replica>rep_1_2</replica> <!--不同机器放的副本数不一样-->
    </macros>#hadoop104
    sudo vim /etc/clickhouse-server/config.d/metrika-shard.xml<macros><shard>02</shard> <!--不同机器放的分片数不一样--><replica>rep_2_1</replica> <!--不同机器放的副本数不一样-->
    </macros>
    
  • 分别在三台节点上启动 clickhouse 服务

    sudo clickhouse start
    
  • 在 hadoop102 上创建一张本地表

    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);--on cluster 的集群名字要和配置文件中自定义的集群名一致
    --分片和副本名称从配置文件的宏定义中获取
    --hadoop103 和 hadoop104 上会自动同步创建这张表
    
  • 在 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));--on cluster 的集群名字要和配置文件中自定义的集群名一致
    --hadoop103 和 hadoop104 上会自动同步创建这张表
    --表引擎为 Distributed,其中的参数分别为:集群名称,数据库名,本地表名,分片键
    --分片键必须是整型数字,所以用 hiveHash 函数转换,也可以 rand()
    
  • 向 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');
    
  • 分别在 hadoop102、hadoop103 和 hadoop104 上查询本地表和分布式表的数据进行对比

    --hadoop102
    select * from st_order_mt;
    select * from st_order_mt_all2;--hadoop103
    select * from st_order_mt;
    select * from st_order_mt_all2;--hadoop104
    select * from st_order_mt;
    select * from st_order_mt_all2;
    
http://www.yayakq.cn/news/185412/

相关文章:

  • 大兴手机网站建设开发一款小程序
  • 国家能源局网站线路建设邯郸市最新招聘信息
  • 梅花手表网站广西桂林自驾游最佳线路推荐
  • 用固定ip做访问网站服务器移动免费网站建设
  • 做网站必须购买空间吗外贸软件哪个好
  • 外贸一般上什么网站壁画网站建设
  • 做ppt的网站叫什么浙江省建设工程检测协会网站
  • 上海建溧建设集团有限公司网站内容平台策划书
  • 网站开发的设计思路网站建设公司海南
  • 网页制作网站开发的论文app软件开发工具排名
  • 为网站生成rss网站模块功能
  • 广州app网站开发做网站便宜
  • 建立网站服务器怎么弄在手机里面开网店怎么开
  • 做网站用采集wordpress cart插件
  • 嘉兴专业自助建站免费咨询seo如何优化网站推广
  • 做网站最小的字体是多少东莞常平二手房价最新消息
  • 建e网下载太原网站seo顾问
  • 有没有做博物馆的3d网站西宁网站建设嘉荐君博l
  • 邦泽网站建设深圳龙岗区坂田街道
  • 营销型网站建设eyouc西安建设学院网站
  • 门户网站建设注意事项做网站空间放哪些文件夹
  • 做一家影视网站赚钱吗个人网站自助建站
  • 银川建设网站wordpress 广告 能赚多少
  • 营销案例网站检察院前期网站建设
  • 济源建设网站的公司确定目标是指
  • php网站生成静态页面贵阳网站制作
  • html5网站开发费用做网站要不要花钱做店长
  • 新手如何自己做网站大国工匠网页制作素材
  • 住房和城乡建设部网站 绿地著名的网络营销案例
  • 网络营销导向企业网站建设的原则wordpress注册设置