Fedora、CentOS 或 Red Hat
本节介绍在您自己的 Linux
机器上使用 RPM
包设置多节点 Citus
集群所需的步骤。
在所有节点上执行的步骤
添加仓库
# Add Citus repository for package manager
curl https://install.citusdata.com/community/rpm.sh | sudo bash
安装
PostgreSQL + Citus
并初始化数据库# install PostgreSQL with Citus extension sudo yum install -y citus102_14 # initialize system database (using RHEL 6 vs 7 method as necessary) sudo service postgresql-14 initdb || sudo /usr/pgsql-14/bin/postgresql-14-setup initdb # preload citus extension echo "shared_preload_libraries = 'citus'" | sudo tee -a /var/lib/pgsql/14/data/postgresql.conf
PostgreSQL
在/usr/pgsql-14/bin
中添加了特定于版本的二进制文件,但您通常只需要psql
,它的最新版本已添加到您的路径中,并且可以使用service
命令来管理服务器本身。配置连接和认证
在启动数据库之前,让我们更改其访问权限。默认情况下,数据库服务器仅侦听 localhost
上的客户端。作为此步骤的一部分,我们指示它侦听所有 IP
接口,然后配置客户端身份验证文件以允许来自本地网络的所有传入连接。
sudo vi /var/lib/pgsql/14/data/postgresql.conf
# Uncomment listen_addresses for the changes to take effect
listen_addresses = '*'
sudo vi /var/lib/pgsql/14/data/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 10.0.0.0/8 trust
# Also allow the host unrestricted access to connect to itself
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
您的 DNS
设置可能不同。此外,这些设置对于某些环境来说过于宽松,请参阅我们关于提高 Worker 安全性的说明。PostgreSQL
手册解释了如何使它们更具限制性。
启动数据库服务器,创建 Citus 扩展
# start the db server sudo service postgresql-14 restart # and make it start automatically when computer does sudo chkconfig postgresql-14 on
您必须将
Citus
扩展添加到要在集群中使用的每个数据库。以下示例将扩展名添加到名为postgres
的默认数据库中。sudo -i -u postgres psql -c "CREATE EXTENSION citus;"
在 coordinator 节点上执行的步骤
下面列出的步骤必须仅在执行了前面提到的步骤之后在 coordinator 节点上执行。
添加
worker
节点信息
我们需要通知 coordinator
有关其 worker
的信息。为了添加这些信息,我们调用一个 UDF
,它将节点信息添加到 pg_dist_node
目录表中。对于我们的示例,我们假设有两个 worker
(名为 worker-101
,worker-102
)。将 worker
的 DNS
名称(或 IP
地址)和服务器端口添加到表中。
sudo -i -u postgres psql -c "SELECT * from citus_add_node('worker-101', 5432);"
sudo -i -u postgres psql -c "SELECT * from citus_add_node('worker-102', 5432);"
- 验证安装是否成功
为了验证安装是否成功,我们检查 coordinator
节点是否选择了所需的工作配置。这个命令在 psql shell
中运行时应该输出我们添加到上面 pg_dist_node
表中的 worker
节点。
sudo -i -u postgres psql -c "SELECT * FROM citus_get_active_worker_nodes();"
准备使用 Citus
在此步骤中,您已完成安装过程并准备好使用 Citus
集群。可以通过 postgres
用户在 psql
中访问新的 Citus
数据库: