PostgreSQL+Citus:分布式数据库快速部署
PostgreSQL+Citus:分布式数据库快速部署
·
1.环境配置
OS:ubuntu 22.04 LTS(jammy)
sudo gedit /etc/apt/sources.list
配置源码源,ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
2.PostgreSQL安装
在终端中输入以下命令以添加 PostgreSQL 的 APT 仓库并安装所需软件包:
# 添加 PostgreSQL 仓库
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | \
sudo tee /etc/apt/sources.list.d/pgdg.list
# 导入 PostgreSQL 公钥
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
sudo apt-key add -
# 更新软件包列表
sudo apt-get update
# 安装 PostgreSQL 和开发包
sudo apt-get install -y postgresql-server-dev-14 postgresql-14 \
autoconf flex git libcurl4-gnutls-dev libicu-dev \
libkrb5-dev liblz4-dev libpam0g-dev libreadline-dev \
libselinux1-dev libssl-dev libxslt1-dev libzstd-dev \
make uuid-dev
3.安装PostGIS
# 安装 PostGIS
sudo apt-get install postgresql-14-postgis
# 启用 PostGIS 扩展
sudo -i -u postgres psql -c "CREATE EXTENSION postgis;"
# 重启 PostgreSQL 服务并设置开机自启
sudo service postgresql restart
sudo update-rc.d postgresql enable
4.安装Citus
# 克隆 Citus 源码仓库
git clone https://github.com/citusdata/citus.git
# 编辑 PostgreSQL 配置文件
sudo gedit /etc/postgresql/14/main/pg_hba.conf
# 在文件末尾添加以下行以允许本地网络节点访问
# Allow unrestricted access to nodes in the local network
host all all 192.168.232.0/24 trust
sudo gedit /etc/postgresql/14/main/postgresql.conf
# 修改以下配置项以启用 Citus
listen_addresses = '*'
shared_preload_libraries = 'citus'
# 注意去掉注释用的 # 号
# 编译并安装 Citus
cd citus
./configure
make
sudo make install
# 重启 PostgreSQL 服务并启用 Citus 扩展
sudo service postgresql restart
sudo -i -u postgres psql -c "CREATE EXTENSION citus;"
5.节点配置
协调节点配置
sudo -i -u postgres psql -c "SELECT citus_set_coordinator_host('coordinator', 5432);"
# 将 coordinator 替换为实际主机名
工作节点配置
sudo -i -u postgres psql -c "SELECT * FROM citus_add_node('worker-101', 5432);"
# 将 worker-101 替换为实际主机名
6.验证
# 重启 PostgreSQL 服务
sudo service postgresql restart
#节点信息
sudo -i -u postgres psql -c "SELECT * FROM pg_dist_node;"
#分布存储信息
sudo -i -u postgres psql -c "SELECT * FROM pg_dist_placement;"
更多推荐
已为社区贡献1条内容
所有评论(0)