7.1. 架构原理

集群由一个中心的协调节点(CN)和若干个工作节点(Worker)构成。

CN只存储和数据分布相关的元数据,实际的表数据被分成M个分片,打散到N个Worker上。这样的表被叫做“分片表”,可以为“分片表”的每一个分片创建多个副本,实现高可用和负载均衡。

客户端应用访问数据时只和CN节点交互。CN收到SQL请求后,生成分布式执行计划,并将各个子任务下发到相应的Worker节点,之后收集Worker的结果,经过处理后返回最终结果给客户端。

7.2. LXDB的节点类型

LXDB 由 CN(Coordinator)节点和 Worker 节点组成。

  1. CN 节点上存放元数据,负责SQL分发。
  2. Worker 节点上放实际的数据分片,负责计算与存储。

7.3. 单CN集群

  1. 基本架构/拓扑结构

  1. 特点

    1:CN为独立的节点
    2:使用集群中的任意一台作为CN,
    3:单机模式为该模式下的特例,只有一个节点,CN与worker在一起
    
  2. 相关操作命令与执行步骤

    1:先完成每个节点的独立部署-参考单机版
    2:选定节点中的一台作为CN节点
     无需执行任何命令,也可以显示设置
     SELECT citus_set_coordinator_host('<hostname>')
    3:在CN节点添加worker(只能在CN节点上添加)
     1)先将这个节点扩进来(与添加worker是同一个命令)
         SELECT master_add_node('172.26.43.75',5432); 
     2)屏蔽CN节点,让他不作为worker节点存储数据
    (如若 cn节点也想存储数据,则不执行该语句)
    SELECT master_set_node_property('172.26.43.75', 5432, 'shouldhaveshards', false);
    
  3. 一些常见命令

    1) select * from pg_dist_node;//查看设置的节点状态,所谓的添加worker节点就是在 表pg_dist_node中新插入的行的nodeid列。
    2)SELECT * FROM master_get_active_worker_nodes();//查看工作节点
    3)SELECT master_remove_node('192.168.1.74', '5432');  //删节点
    4) select * from master_update_node(123, 'new-address', 5432);//更新节点,如机器迁移
    

7.4. 多CN集群

  1. Worker与CN各自独立,CN也是多个的架构。
  1. 混合使用,让worker也具备CN的功能

  1. 相关操作命令与操作步骤 ```sql 1:先完成单CN节点的部署,设置好worker节点,预留出slave cn的节点 2:拓展slave CN节点 原先单CN节点的CN是master CN 我们在master CN上,添加拓展slave CN

1)先将这个节点扩进来(与添加worker是同一个命令) SELECT master_add_node('172.26.43.75',5432);

2) 同步元数据信息到新的节点(参数为IP与port) select start_metadata_sync_to_node('172.26.43.75',5432);

3)设置CN节点,让他不作为worker节点存储数据 (如若 cn节点也想存储数据,则不执行该语句) SELECT master_set_node_property('172.26.43.75', 5432, 'shouldhaveshards', false);


4. CN与worker的关系 
```sql
1:一台机器可以同时作为CN与Worker节点,
    也可以单独作为CN与WORKER节点
2:CN节点可以存在多个,增删改查的入口
    但只能有一个Master
3:操作限制
  1)只能在master cn节点创建和删除表
    凡是元数据的修改,只能在master CN上操作,不能在slave cn和worker上操作
  2)只能在master cn节点和其他CN节点查询和插入数据
    worker仅作为内部计算和存储,不对外提供服务
Copyright © luxindb.com 2020 all right reserved修改时间: 2022-12-07 09:47:26

results matching ""

    No results matching ""