日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

使用容器快速在阿里云 ECS 多节点上搭建 Citus 12.1 集群

發布時間:2023/12/29 windows 23 coder
生活随笔 收集整理的這篇文章主要介紹了 使用容器快速在阿里云 ECS 多节点上搭建 Citus 12.1 集群 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

阿里云 ECS

機器節點

  1. 這里我們使用兩臺同一區域的 ECS 機器。
  2. 機器配置:2 核 2 G。(ps: 阿里云 99 元一年的活動)
  3. 一臺安裝 coordinator(協調器),這里內網 IP 為 172.18.60.11
  4. 一臺安裝 worker,這里內網 IP 為 172.18.60.12

操作系統

兩臺機器分別安裝了廠商的 Alibaba Cloud Linux 3 系統。

lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: AlibabaCloud
Description:    Alibaba Cloud Linux release 3 (Soaring Falcon) 
Release:        3
Codename:       SoaringFalcon

安裝 Docker

在各機器節點上分別執行:

  1. 添加 docker-ce 的 dnf 源
sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安裝 Alibaba Cloud Linux 3 專用的 dnf 源兼容插件
sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus
  1. 安裝 Docker
sudo dnf -y install docker-ce --nobest
  1. 啟動 Docker 服務,并設置開機自啟動
sudo systemctl start docker
sudo systemctl enable docker
  1. 查看Docker是否啟動
sudo systemctl status docker

安全組

注意:我們接下來會使用機器的 5432 端口。

為了安全,云廠商默認是屏蔽公網訪問該端口的,用戶同一區域的內網機器之間的訪問默認是可以的。

Citus 12.1 集群搭建

這里使用官方構建的鏡像 citusdata/citus:12.1

啟動 Coordinator 節點

  • 172.18.60.11(coordinator) 機器節點
mkdir -p citus-coordinator/data           
docker run -d --name citus-coordinator \
           -v $(pwd)/citus-coordinator/data:/var/lib/postgresql/data \
           -p 5432:5432 \
           -e POSTGRES_USER=citus \
           -e POSTGRES_PASSWORD=citus \
           -e PGUSER=citus \
           -e PGPASSWORD=citus \
           -e POSTGRES_HOST_AUTH_METHOD=trust \
           citusdata/citus:12.1

注意:生產環境,為了安全請另行編輯 pg_hba.conf

啟動 Worker 節點

  • 172.18.60.12(worker) 機器節點
mkdir -p citus-worker00/data
docker run -d --name citus-worker00 \
           -v $(pwd)/citus-worker00/data:/var/lib/postgresql/data \
           -p 5432:5432 \
           -e POSTGRES_USER=citus \
           -e POSTGRES_PASSWORD=citus \
           -e PGUSER=citus \
           -e PGPASSWORD=citus \
           -e POSTGRES_HOST_AUTH_METHOD=trust \
           citusdata/citus:12.1

集群設置

  • 172.18.60.11(coordinator) 機器節點
docker exec -it citus-coordinator psql -U citus
# 設置 worker 要連接的協調器節點
SELECT citus_set_coordinator_host('172.18.60.11', 5432);
# 添加 worker 節點
SELECT * from citus_add_node('172.18.60.12', 5432);
SELECT * FROM citus_get_active_worker_nodes();
   node_name   | node_port 
---------------+-----------
  172.18.60.12 |    5432
(1 row)

驗證: 官方案例(微服務存儲后端)

  • 使用 PostgreSQL 16.1 + Citus 12.1 作為多個微服務的存儲后端

創建 user 服務的數據庫 schema

docker exec -it citus-coordinator psql -U citus

CREATE USER user_service;
SET citus.enable_schema_based_sharding TO ON;
CREATE SCHEMA AUTHORIZATION user_service;
select * from citus_schemas;
\c citus user_service
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL
);

Docker 啟動 user 服務

docker run -d --name usersvc \
           -p 6000:5000 \
           -e DB_HOST='172.18.60.11' \
           -e DB_NAME=citus \
           registry.cn-heyuan.aliyuncs.com/hacker-linner/citus-microsvc-user:1.0.1

創建一些用戶

curl -X POST -H "Content-Type: application/json" -d '[
  {"name": "John Doe", "email": "john@example.com"},
  {"name": "Jane Smith", "email": "jane@example.com"},
  {"name": "Mike Johnson", "email": "mike@example.com"},
  {"name": "Emily Davis", "email": "emily@example.com"},
  {"name": "David Wilson", "email": "david@example.com"},
  {"name": "Sarah Thompson", "email": "sarah@example.com"},
  {"name": "Alex Miller", "email": "alex@example.com"},
  {"name": "Olivia Anderson", "email": "olivia@example.com"},
  {"name": "Daniel Martin", "email": "daniel@example.com"},
  {"name": "Sophia White", "email": "sophia@example.com"}
]' http://localhost:6000/users
{"message":"Users created successfully","user_ids":[1,2,3,4,5,6,7,8,9,10]}

列出已創建的用戶

curl http://localhost:6000/users

驗證數據是否被分配到 worker 節點

docker exec -it citus-coordinator psql -U citus

select nodename,nodeport, table_name, pg_size_pretty(sum(shard_size))
from citus_shards
group by nodename,nodeport, table_name;
   nodename    | nodeport |     table_name     | pg_size_pretty 
---------------+----------+--------------------+----------------
 172.18.60.12  |     5432 | user_service.users | 32 kB
(1 row)

Refs

  • https://www.citusdata.com/
  • https://docs.citusdata.com/
  • 使用 PostgreSQL 16.1 + Citus 12.1 作為多個微服務的存儲后端
  • https://hacker-linner.com/

總結

以上是生活随笔為你收集整理的使用容器快速在阿里云 ECS 多节点上搭建 Citus 12.1 集群的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品一区二区三区四区五区六区 | 国产v片在线观看 | 中文字幕无码乱码人妻日韩精品 | 自拍三区| 欧美综合第一页 | 欧美黑人一区二区三区 | 色骚网 | 91麻豆精品秘密入口 | 黄色在线播放 | 91日批视频 | 五月天婷婷丁香 | 可以免费观看的av网站 | 91国内精品久久久久 | 四虎av | 国产一级大片在线观看 | 涩涩爱在线 | 日韩av毛片在线观看 | 欧美人xxxx | 日韩在线视频观看 | 成人久久一区二区 | 亚洲激情电影在线 | 日韩二级片 | 91视频影院 | 我要操婊 | aaaa免费视频 | 人妻洗澡被强公日日澡电影 | 制服丝袜影音先锋 | 国产精品扒开腿做爽爽 | 国精产品一区一区三区mba下载 | 亚洲一区二区三区在线视频观看 | av日韩av | 中文字幕激情视频 | 欧美日韩二三区 | 中文字幕一区二区不卡 | av国语| 理论av| 在线视频一区二区三区 | 午夜福利一区二区三区 | 91看片黄 | 免费看黄色小视频 | 一卡二卡三卡在线观看 | 人妻激情偷乱视频一区二区三区 | 制服丝袜在线视频 | aaa在线| 国产在线观看免费网站 | 美国黄色一级毛片 | 伊人狠狠| 日韩一二三区视频 | 久久精品123 | www.白浆| 亚洲综合第一区 | 老司机性视频 | juliaann办公室丝袜大战 | 亚洲第一成网站 | 天堂综合在线 | 午夜精品免费观看 | 又色又爽又黄无遮挡的免费视频 | 国产夜夜嗨 | 91精品黄色| 在线观看免费看片 | 波多野结衣黄色网址 | 日韩社区 | 国产精品夜夜夜爽张柏芝 | 亚洲欧美另类综合 | 中国老熟妇自拍hd发布 | 国产精品视频 | 91av综合| 亚洲国产精华液网站w | 少妇久久久久久被弄高潮 | 91重口味| 国产亚洲视频一区 | 91成人免费观看 | 黄色一级片黄色一级片 | 亚洲视频h| 中文字幕无线码一区 | 蜜桃成人网 | 国产黄色高清 | 日本bbwbbw | 精品国内自产拍在线观看视频 | 免费看a网站| 成人片在线视频 | www.97ai.com| 日本一级黄 | 国产精品刺激 | 美女久久久久 | 成人中文视频 | 少妇免费毛片久久久久久久久 | 亚洲免费三级 | 日韩精品一区二区不卡 | 色婷婷综合久久久久中文 | 丁香激情小说 | 星空大象在线观看免费播放 | 性xxxx| 日韩大片在线 | 欧美黄色网 | 免费看黄色片网站 | 爱情岛论坛亚洲品质自拍视频 | 美女隐私无遮挡 | 91成人免费视频 |