在虚拟机中搭建单机多实例的分布式环境
1个cn节点
2个dn节点
-
初始化3个实例
lt_initdb -D /home/lightdb/data/
lt_initdb -D /home/lightdb/data2/
lt_initdb -D /home/lightdb/data3/
其中data目录实例设置为cn节点 -
修改配置文件lightdb.conf(3个实例均修改)
shared_preload_libraries配置中添加canopy
port分别改为5432,5434,5436 -
修改配置文件lt_hba.conf(3个实例均修改)
#IPv4 local connections:
host all all 0.0.0.0/0 trust -
启动实例
lt_ctl -D /home/lightdb/data/ start
lt_ctl -D /home/lightdb/data2/ start
lt_ctl -D /home/lightdb/data3/ start -
创建extension
ltsql -p 5432 -U lightdb -c "create extension canopy"
ltsql -p 5434 -U lightdb -c "create extension canopy"
ltsql -p 5436 -U lightdb -c "create extension canopy"
- 设置cn节点
ltsql -p 5432 -U lightdb -c "SELECT canopy_set_coordinator_host('192.168.237.136',5432)"
- 设置dn节点
ltsql -p 5432 -U lightdb -c "select master_add_node('192.168.237.136', 5434)"
ltsql -p 5432 -U lightdb -c "select master_add_node('192.168.237.136', 5436)"
- 查看分布式节点状态(看是否搭建成功)
select * from pg_dist_node;
nodeid | groupid | nodename | nodeport | noderack | hasmetadata | isactive | noderole | nodecluster | metadatasynced | shouldhaveshards
--------+---------+-----------------+----------+----------+-------------+----------+----------+-------------+----------------+------------------
2 | 0 | 192.168.237.136 | 5432 | default | t | t | primary | default | t | f
3 | 2 | 192.168.237.136 | 5434 | default | t | t | primary | default | t | t
4 | 3 | 192.168.237.136 | 5436 | default | t | t | primary | default | t | t
(3 rows)