1 安装及编译
yum install -y centos-release-scl-rh epel-release
yum update -y
yum groupinstall -y 'Development Tools'
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql14-devel postgresql14-server postgresql14-contrib \
git libcurl-devel libxml2-devel libxslt-devel \
libzstd-devel llvm-toolset-7-clang llvm5.0 lz4-devel \
openssl-devel pam-devel readline-devel
git clone https://github.com/citusdata/citus.git
cd citus
PG_CONFIG=/usr/pgsql-14/bin/pg_config ./configure
make
make install
2 所有节点:postgresql配置修改
pg_hba.conf
# Allow unrestricted access to nodes in the local network. The following ranges
# correspond to 24, 20, and 16-bit blocks in Private IPv4 address spaces.
host all all 192.168.56.0/24 trust
postgresql.conf:
# Uncomment listen_addresses for the changes to take effect
listen_addresses = '*'
shared_preload_libraries = 'citus'
3 重启postgresql:
pg_ctl restart
4 所有节点:创建扩展citus
psql:
CREATE EXTENSION citus;
5 对应的节点上,修改hosts文件
vi /etc/hosts:
192.168.56.90 cn1
192.168.56.91 wn1
192.168.56.92 wn2
6 配置 coordinator node
# Register the hostname that future workers will use to connect
# to the coordinator node.
#
# You'll need to change the example, 'coord.example.com',
# to match the actual hostname
psql:
SELECT citus_set_coordinator_host('cn1', 5432);
# Add the worker nodes.
#
# Similarly, you'll need to change 'worker-101' and 'worker-102' to the
# actual hostnames
SELECT * from citus_add_node('wn1', 5432);
SELECT * from citus_add_node('wn2', 5432);
-- rebalance the shards over the new worker nodes
SELECT rebalance_table_shards();
Verify that installation has succeeded:
SELECT * FROM citus_get_active_worker_nodes();