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;"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值