单节点CitusDocker(Mac和Linux)Docker镜像仅用于开发/测试目的,不准备用于生产。您可以使用一个命令在Docker中启动Citus:#启动imagedockerrun-d--namecitus-p5432:5432-ePOSTGRES_PASSWORD=mypass\citusdata/citus:10.2#验证它正在运行,并且Citus已安装:psql-Upostgres-hlocalhost-dpostgres-c"SELECT*FROMcitus_version();"您应该看到最新版本的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容器时可能会遇到此错误:Errorstartinguserlandproxy:Bindfor0.0.0.0:5432:unexpectederroraddressalreadyinuseThisbecausetheCitusimageistryingtobind到标准PostgreSQL端口5432。要解决此问题,请使用-p选项选择不同的端口。您还需要在下面的psql命令中使用新端口。Ubuntu或Debian本节介绍在您自己的Linux机器上使用deb包设置单节点Citus集群所需的步骤。1.安装PostgreSQL14和Citus扩展sudobash#安装服务器并初始化dbsudoapt-get-yinstallpostgresql-14-citus-10.22。初始化集群让我们在磁盘上创建一个新的数据库。为了方便使用PostgreSQLUnix域套接字的连接,我们将使用postgres用户。#此用户可以访问/var/run/postgresql中的套接字sudosu-postgres#包括postgres二进制文件的路径exportPATH=$PATH:/usr/lib/postgresql/14/bincd~mkdircitusinitdb-DcitusCitus是Postgres扩展。要告诉Postgres使用此扩展,您需要将其添加到名为shared_preload_libraries的配置变量中:echo"shared_preload_libraries='citus'">>citus/postgresql.conf3.启动数据库服务器最后,我们将启动一个PostgreSQL实例:pg_ctl-Dcitus-o"-p9700"-lcitus_logfilestart在上面你将Citus添加到shared_preload_libraries。这允许它连接到Postgres的一些深层部分,交换查询规划器和执行器。在这里,我们加载Citus的面向用户的一面(例如您将很快调用的函数):psql-p9700-c"CREATEEXTENSIONcitus;"4.验证安装是否成功验证安装是否成功以及是否安装了Citus:psql-p9700-c"selectcitus_version();"您应该会看到Citus扩展的详细信息。Fedora、CentOS或RedHat本节介绍在您自己的Linux机器上使用RPM包设置单节点Citus集群所需的步骤。1.安装PostgreSQL14和Citus扩展sudobash#installCitusextensionsudoyuminstall-ycitus102_142,初始化集群让我们把它放到磁盘上创建一个新的数据库。为了方便使用PostgreSQLUnix域套接字的连接,我们将使用postgres用户。#此用户可以访问/var/run/postgresql中的套接字sudosu-postgres#包含postgres二进制文件的路径exportPATH=$PATH:/usr/pgsql-14/bincd~mkdircitusinitdb-DcitusCitus是Postgres扩展。要告诉Postgres使用此扩展,您需要将其添加到名为shared_preload_libraries的配置变量中:echo"shared_preload_libraries='citus'">>citus/postgresql.conf3.启动数据库服务器最后,我们将启动一个PostgreSQL实例:pg_ctl-Dcitus-o"-p9700"-lcitus_logfilestart在上面你将Citus添加到shared_preload_libraries。这允许它连接到Postgres的一些深层部分,交换查询规划器和执行器。在这里,我们加载Citus的面向用户的一面(例如您将很快调用的函数):psql-p9700-c"CREATEEXTENSIONcitus;"4.验证安装是否成功验证安装是否成功以及是否安装了Citus:psql-p9700-c"selectcitus_version();"您应该会看到Citus扩展的详细信息。在此步骤中,您已完成安装过程并准备好使用您的Citus集群。为了帮助您入门,我们提供了一个教程,其中包含在几分钟内使用示例数据设置Citus集群的说明。多节点CitusUbuntu或Debian本节介绍使用deb包在您自己的Linux机器上设置多节点Citus集群所需的步骤。在所有节点上执行的步骤1.添加仓库#为包管理器添加Citus存储库curlhttps://install.citusdata.com/community/deb.sh|sudobash2.安装PostgreSQL+Citus并初始化数据库#安装服务器并初始化dbsudoapt-get-yinstallpostgresql-14-citus-10.2#preloadcitusextensionsudopg_conftool14mainsetshared_preload_librariescitus这会在/etc/postgresql/14/main和/var/lib/postgresql/14在/main中创建数据库。3.配置连接和身份验证在启动数据库之前,让我们更改它的访问权限。默认情况下,数据库服务器只监听本地主机上的客户端。作为这一步的一部分,我们指示它侦听所有IP接口,然后配置客户端身份验证文件以允许来自本地网络的所有传入连接。sudopg_conftool14mainsetlisten_addresses'*'sudovi/etc/postgresql/14/main/pg_hba.conf#允许不受限制地访问本地网络中的节点。以下范围#对应私有IPv4地址空间中的24、20和16位块。hostallall10.0.0.0/8trust#也允许主机无限制访问连接到自身hostallall127.0.0.1/32trusthostall所有::1/128信任您的DNS设置可能不同。此外,这些设置对于某些环境来说过于宽松,请参阅我们关于提高员工安全性的说明。PostgreSQL手册解释了如何使它们更具限制性。4.启动数据库服务器,创建Citus扩展#启动数据库服务器sudoservicepostgresqlrestart#并使其在计算机运行时自动启动sudoupdate-rc.dpostgresqlenable您必须将Citus扩展添加到您要使用的每个数据库在集群中。以下示例将扩展添加到名为postgres的默认数据库。#添加citus扩展sudo-i-upostgrespsql-c"CREATEEXTENSIONcitus;"要在协调器节点上执行的步骤只有在执行了前面提到的步骤之后,才必须在协调器节点上执行下面列出的步骤。1.添加worker节点信息我们需要将其worker信息告知协调器。要添加此信息,我们调用一个UDF,将节点信息添加到pg_dist_node目录表。对于我们的示例,我们假设有两个工人(名为worker-101、worker-102)。将工作人员的DNS名称(或IP地址)和服务器端口添加到表中。sudo-i-upostgrespsql-c"SELECT*fromcitus_add_node('worker-101',5432);"sudo-i-upostgrespsql-c"SELECT*fromcitus_add_node('worker-102',5432);"2、验证安装是否成功为了验证安装是否成功,我们检查协调节点是否选择了需要的工作配置。在psqlshell中运行时,此命令应输出我们添加到上面的pg_dist_node表中的工作节点。sudo-i-upostgrespsql-c"SELECT*FROMcitus_get_active_worker_nodes();"准备使用Citus:在这一步中,您已经完成了安装过程并准备好使用Citus集群。可以通过postgres用户在psql中访问新的Citus数据库:sudo-i-upostgrespsqlFedora、CentOS或RedHat本节介绍在您自己的Linux上使用RPM包设置多节点Citus集群所需的步骤盒子。在所有节点上执行的步骤1.添加仓库#为包管理器添加Citus存储库curlhttps://install.citusdata.com/community/rpm.sh|sudobash2.安装PostgreSQL+Citus并初始化数据库#安装带有Citus扩展名的PostgreSQLsudoyuminstall-ycitus102_14#初始化系统数据库(必要时使用RHEL6vs7方法)sudoservicepostgresql-14initdb||sudo/usr/pgsql-14/bin/postgresql-14-setupinitdb#预加载citusextensionecho"shared_preload_libraries='citus'"|sudotee-a/var/lib/pgsql/14/data/postgresql.confPostgreSQL在/usr/pgsql-14/bin中添加版本特定的二进制文件,但您通常只需要psql,其最新版本已添加到您的路径,服务命令可用于管理服务器本身。3.配置连接和身份验证在启动数据库之前,让我们更改它的访问权限。默认情况下,数据库服务器只监听本地主机上的客户端。作为这一步的一部分,我们指示它侦听所有IP接口,然后配置客户端身份验证文件以允许来自本地网络的所有传入连接。sudovi/var/lib/pgsql/14/data/postgresql.conf#取消注释listen_addresses以使更改生效listen_addresses='*'sudovi/var/lib/pgsql/14/data/pg_hba.conf#允许无限制访问本地网络中的节点。以下范围#对应私有IPv4地址空间中的24、20、16位块。hostallall10.0.0.0/8trust#也允许主机无限制访问连接到自身hostallall127.0.0.1/32trusthostall所有::1/128信任您的DNS设置可能不同。此外,这些设置对于某些环境来说过于宽松,请参阅我们关于提高员工安全性的说明。PostgreSQL手册解释了如何使它们更具限制性。https://docs.citusdata.com/en/v10.2/admin_guide/cluster_management.html#worker-security。4.启动数据库服务器,创建Citus扩展#启动数据库服务器sudoservicepostgresql-14restart#并让它在计算机运行时自动启动sudochkconfigpostgresql-14on您必须将Citus扩展添加到您要使用的每个数据库在集群中。以下示例将扩展添加到名为postgres的默认数据库。sudo-i-upostgrespsql-c“创建扩展citus;”要在协调器节点上执行的步骤只有在执行了前面提到的步骤之后,才必须在协调器节点上执行下面列出的步骤。1.添加worker节点信息我们需要将其worker信息告知协调器。要添加此信息,我们调用一个UDF,将节点信息添加到pg_dist_node目录表。对于我们的示例,我们假设有两个工人(名为worker-101、worker-102)。将工作人员的DNS名称(或IP地址)和服务器端口添加到表中。sudo-i-upostgrespsql-c"SELECT*fromcitus_add_node('worker-101',5432);"sudo-i-upostgrespsql-c"SELECT*fromcitus_add_node('worker-102',5432);"2、验证安装是否成功为了验证安装是否成功,我们检查协调节点是否选择了需要的工作配置。在psqlshell中运行时,此命令应输出我们添加到上面的pg_dist_node表中的工作节点。sudo-i-upostgrespsql-c"SELECT*FROMcitus_get_active_worker_nodes();"准备使用Citus:在这一步中,您已经完成了安装过程并准备好使用Citus集群。可以通过postgres用户在psql中访问新的Citus数据库:sudo-i-upostgrespsql
