发布时间:2025-11-05 07:30:21 来源:创站工坊 作者:系统运维

Docker 镜像仅用于开发/测试目的分布, 并且尚未准备好用于生产用途。
您可以使用一个命令在 Docker 中启动 Citus:
复制# start the imagedocker run -d --name citus -p 5432:5432 -e POSTGRES_PASSWORD=mypass \ citusdata/citus:10.2# verify its running,官方 and that Citus is installed:psql -U postgres -h localhost -d postgres -c "SELECT * FROM citus_version();"1.2.3.4.5.6.您应该会看到最新版本的 Citus。
集群启动并运行后,安装您可以访问我们关于多租户应用程序或实时分析的指南教程,在几分钟内开始使用 Citus。分布
https://docs.citusdata.com/en/v10.2/get_started/tutorial_multi_tenant.html#multi-tenant-tutorial。官方https://docs.citusdata.com/en/v10.2/get_started/tutorial_realtime_analytics.html#real-time-analytics-tutorial。安装如果您的指南机器上已经运行了 PostgreSQL,则在启动 Docker 容器时可能会遇到此错误:
复制Error starting userland proxy:
Bind for 0.0.0.0:5432: unexpected error address already in use1.2.这是分布因为 Citus 镜像尝试绑定到标准 PostgreSQL 端口 5432。要解决此问题,官方请使用 -p 选项选择不同的安装端口。您还需要在下面的指南 psql 命令中使用新端口。
Ubuntu 或 Debian本节介绍在您自己的分布 Linux 机器上使用 deb 包设置单节点 Citus 集群所需的步骤。
1、官方安装 PostgreSQL 14 和 Citus 扩展 复制# Add Citus repository for package managercurl https://install.citusdata.com/community/deb.sh | sudo bash# install the server and 安装initialize dbsudo apt-get -y install postgresql-14-citus-10.21.2.3.4.5. 2、初始化集群让我们在磁盘上创建一个新数据库。为了方便使用 PostgreSQL Unix domain socket 连接,我们将使用 postgres 用户。
复制# this user has access to sockets in /var/run/postgresqlsudo su - postgres# include path to postgres binariesexport PATH=$PATH:/usr/lib/postgresql/14/bincd ~mkdir citusinitdb -D citus1.2.3.4.5.6.7.8.9.Citus 是一个 Postgres 扩展。要告诉 Postgres 使用这个扩展,你需要将它添加到一个名为 shared_preload_libraries 的配置变量中:
复制echo "shared_preload_libraries = citus" >> citus/postgresql.conf1. 3、启动数据库服务器最后,我们将为新目录启动一个 PostgreSQL 实例:
复制pg_ctl -D citus -o "-p 9700" -l citus_logfile start1.上面您将 Citus 添加到 shared_preload_libraries。云南idc服务商这让它可以连接到 Postgres 的一些深层部分,交换查询计划器(query planner)和执行器(executor)。在这里,我们加载 Citus 面向用户的一面(例如您将很快调用的函数):
复制psql -p 9700 -c "CREATE EXTENSION citus;"1. 4、验证安装是否成功要验证安装是否成功,并且 Citus 已安装:
复制psql -p 9700 -c "select citus_version();"1.您应该看到 Citus 扩展的详细信息。
Fedora, CentOS, 或 Red Hat本节介绍在您自己的 Linux 机器上使用 RPM 包设置单节点 Citus 集群所需的步骤。
1、安装 PostgreSQL 14 和 Citus 扩展 复制# Add Citus repository for package managercurl https://install.citusdata.com/community/rpm.sh | sudo bash# install Citus extensionsudo yum install -y citus102_141.2.3.4.5. 2、初始化集群让我们在磁盘上创建一个新数据库。为了方便使用 PostgreSQL Unix domain socket 连接,我们将使用 postgres 用户。
复制# this user has access to sockets in /var/run/postgresqlsudo su - postgres# include path to postgres binariesexport PATH=$PATH:/usr/pgsql-14/bincd ~mkdir citusinitdb -D citus1.2.3.4.5.6.7.Citus 是一个 Postgres 扩展。要告诉 Postgres 使用这个扩展,你需要将它添加到一个名为 shared_preload_libraries 的配置变量中:
复制echo "shared_preload_libraries = citus" >> citus/postgresql.conf1. 3、启动数据库服务器最后,我们将为新目录启动一个 PostgreSQL 实例:
复制pg_ctl -D citus -o "-p 9700" -l citus_logfile start1.上面您将 Citus 添加到 shared_preload_libraries。这让它可以连接到 Postgres 的一些深层部分,交换查询计划器(query planner)和执行器(executor)。在这里,我们加载 Citus 面向用户的一面(例如您将很快调用的源码库函数):
复制psql -p 9700 -c "CREATE EXTENSION citus;"1. 4、验证安装是否成功要验证安装是否成功,并且 Citus 已安装:
复制psql -p 9700 -c "select citus_version();"1.您应该看到 Citus 扩展的详细信息。
在此步骤中,您已完成安装过程并准备好使用 Citus 集群。为了帮助您入门,我们提供了一个教程,其中包含有关在几分钟内使用示例数据设置 Citus 集群的说明。
本节介绍使用 deb 包在您自己的 Linux 机器上设置多节点 Citus 集群所需的步骤。
这会在 /etc/postgresql/14/main 中安装集中配置,并在 /var/lib/postgresql/14/main 中创建数据库。
3、配置连接和认证在启动数据库之前,让我们更改其访问权限。默认情况下,数据库服务器仅侦听 localhost 上的客户端。作为此步骤的一部分,我们指示它侦听所有 IP 接口,然后配置客户端身份验证文件以允许来自本地网络的所有传入连接。
复制sudo pg_conftool 14 main set listen_addresses *1. 复制sudo vi /etc/postgresql/14/main/pg_hba.conf1. 复制# 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 itselfhost all all 127.0.0.1/32 trusthost all all ::1/128 trust1.2.3.4.5.6.您的 DNS 设置可能不同。b2b供应网此外,这些设置对于某些环境来说过于宽松,请参阅我们关于提高工作人员安全性的说明。PostgreSQL 手册解释了如何使它们更具限制性。
4、启动数据库服务器,创建 Citus 扩展 复制# start the db serversudo service postgresql restart# and make it start automatically when computer doessudo update-rc.d postgresql enable1.2.3.4.您必须将 Citus 扩展添加到要在集群中使用的每个数据库。以下示例将扩展名添加到名为 postgres 的默认数据库中。
复制# add the citus extensionsudo -i -u postgres psql -c "CREATE EXTENSION citus;"1.2.下面列出的步骤必须仅在执行了前面提到的步骤之后在 coordinator 节点上执行。
1、添加 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);"1.2. 2、验证安装是否成功为了验证安装是否成功,我们检查 coordinator 节点是否选择了所需的工作配置。这个命令在 psql shell 中运行时应该输出我们添加到上面 pg_dist_node 表中的 worker 节点。
复制sudo -i -u postgres psql -c "SELECT * FROM citus_get_active_worker_nodes();"1.准备使用 Citus:
在此步骤中,您已完成安装过程并准备好使用 Citus 集群。可以通过 postgres 用户在 psql 中访问新的 Citus 数据库:
复制sudo -i -u postgres psql1. Fedora、CentOS 或 Red Hat本节介绍在您自己的 Linux 机器上使用 RPM 包设置多节点 Citus 集群所需的步骤。
PostgreSQL 在 /usr/pgsql-14/bin 中添加了特定于版本的二进制文件,但您通常只需要 psql,它的最新版本已添加到您的路径中,并且可以使用 service 命令来管理服务器本身。
3、配置连接和认证在启动数据库之前,让我们更改其访问权限。默认情况下,数据库服务器仅侦听 localhost 上的客户端。作为此步骤的一部分,我们指示它侦听所有 IP 接口,然后配置客户端身份验证文件以允许来自本地网络的所有传入连接。
复制sudo vi /var/lib/pgsql/14/data/postgresql.conf1. 复制# Uncomment listen_addresses for the changes to take effectlisten_addresses = *1.2. 复制sudo vi /var/lib/pgsql/14/data/pg_hba.conf1. 复制# 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 itselfhost all all 127.0.0.1/32 trusthost all all ::1/128 trust1.2.3.4.5.6.您的 DNS 设置可能不同。此外,这些设置对于某些环境来说过于宽松,请参阅我们关于提高 Worker 安全性的说明。PostgreSQL 手册解释了如何使它们更具限制性。
https://docs.citusdata.com/en/v10.2/admin_guide/cluster_management.html#worker-security。
4、启动数据库服务器,创建 Citus 扩展 复制# start the db serversudo service postgresql-14 restart# and make it start automatically when computer doessudo chkconfig postgresql-14 on1.2.3.4.您必须将 Citus 扩展添加到要在集群中使用的每个数据库。以下示例将扩展名添加到名为 postgres 的默认数据库中。
复制sudo -i -u postgres psql -c "CREATE EXTENSION citus;"1.下面列出的步骤必须仅在执行了前面提到的步骤之后在 coordinator 节点上执行。
1、添加 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);"1.2. 2、验证安装是否成功为了验证安装是否成功,我们检查 coordinator 节点是否选择了所需的工作配置。这个命令在 psql shell 中运行时应该输出我们添加到上面 pg_dist_node 表中的 worker 节点。
复制sudo -i -u postgres psql -c "SELECT * FROM citus_get_active_worker_nodes();"1.准备使用 Citus:
在此步骤中,您已完成安装过程并准备好使用 Citus 集群。可以通过 postgres 用户在 psql 中访问新的 Citus 数据库:
复制sudo -i -u postgres psql1.