citus介绍和centos7安装部署和集群搭建
文章目錄
- citus
- 簡介
- citus主要特性
- 部署
- centos單節點版本部署啟動
- centos集群部署啟動
- 要在所有節點上執行的步驟
- 要在協調器節點上執行的步驟
- 常用語句
- 遇到的問題
- 參考
citus
簡介
- Citus是PostgreSQL數據庫的分布式中間件,用以解決PostgreSQL橫向擴展問題,以支持更大的數據量、更大的寫入和查詢性能。
- Citus由CitusData公司開發,目前已被微軟收購,并在Azure上提供Citus Cloud服務。Citus為開源軟件,經過約10年的發展,最近剛發布10.0版本,License為AGPL。
- 不像pg-xc的原生分布式方案,Citus是以Extension的方式擴展PostgreSQL能力,不侵入修改PostgreSQL內核代碼,可以很容易和PostgreSQL的新版本配套適用,享受到內核版本演進帶來的好處
- citus是一款基于PostgreSQL的開源分布式數據庫,自動繼承了PostgreSQL強大的SQL支持能力和應用生態(不僅僅是客戶端協議的兼容還包括服務端擴展和管理工具的完全兼容)
citus主要特性
- PostgreSQL兼容
- 水平擴展
- 實時并發查
- 快速數據加載
- 實時增刪改查
- 持分布式事務
- 支持常用DDL
部署
centos單節點版本部署啟動
下載安裝,參考:https://docs.citusdata.com/en/stable/installation/single_node_rhel.html
Citus 是 Postgres 的擴展。要告訴 Postgres 使用此擴展,您需要修改PostgresQL配置文件,將其添加到名為 shared_preload_libraries 的配置變量中:
echo "shared_preload_libraries = 'citus'" >> citus/postgresql.conf在上面,您將 Citus 添加到shared_preload_libraries. 這讓它可以連接到 Postgres 的一些深層部分,交換查詢計劃器和執行器。在這里,我們加載 Citus 面向用戶的一面(例如您即將調用的函數):
psql -p 9700 -c "CREATE EXTENSION citus;"centos集群部署啟動
集群版本和單節點差不多,都是先安裝citus,改配置,增加extension,只是最后需要在cn節點增加cn節點和work節點配置。
安裝參考:https://docs.citusdata.com/en/stable/installation/multi_node_rhel.html
要在所有節點上執行的步驟
在啟動數據庫之前,讓我們更改其訪問權限。默認情況下,數據庫服務器僅偵聽本地主機上的客戶端。作為此步驟的一部分,我們指示它偵聽所有 IP 接口,然后配置客戶端身份驗證文件以允許來自本地網絡的所有傳入連接。
您必須將 Citus 擴展添加到要在集群中使用的每個數據庫(如果你有多個庫)。以下示例將擴展添加到名為postgres的默認數據庫。
sudo -i -u postgres psql -c "CREATE EXTENSION citus;"要在協調器節點上執行的步驟
以上步驟在所有postgres服務器執行,安裝好citus,設置extension。下面的步驟,僅在協調器節點上執行。
常用語句
# shell命令# 將postgres的bin目錄加入到pathexport PATH=$PATH:/usr/pgsql-13/bin# 重啟 citus 擴展pg_ctl -D citus -o "-p 9700" -l citus_logfile restart# 查看postgres版本(-c執行SQL查看)psql -c "select version();"# 查看citus版本psql -p 9700 -c "select citus_version();"# 查看端口號占用netstat -lnp|grep 9700# 重啟postgresqlsystemctl restart postgresql-13# 進入 postgres 用戶sudo su - postgres # 進入postgres命令窗口,可選:-p 端口號 -h ip地址psql psql -h 192.168.1.74 -p 5430# sql 語句# 查看postgres版本select version();# 創建citus擴展CREATE EXTENSION citus;# 查看citus版本select citus_version();# 查看節點select * from pg_dist_node;# 查看工作節點SELECT * FROM master_get_active_worker_nodes();# 設置協調節點cnSELECT citus_set_coordinator_host('192.168.1.74');# 增加節點 SELECT * from master_add_node('192.168.1.73', 5432);# 刪除節點 SELECT master_remove_node('192.168.1.74', '9700');# 查詢有哪些表select tablename from pg_tables where tablename not like 'pg_%';# 查詢有哪些表select tablename from pg_tables where tablename like 'ads%';# 刪除extensiondrop extension citus cascade;遇到的問題
網絡問題,多來幾次
將postgres的bin目錄加入path:export PATH=$PATH:/usr/pgsql-13/bin,再去執行pg_ctl
確定不要的話,可以關聯刪除,全部刪掉。根據提示直接加上 cascade drop extension citus cascade;
參考
- 使用文檔:多租戶應用
- 安裝地址: 單節點安裝部署
- 安裝地址:多節點安裝部署
總結
以上是生活随笔為你收集整理的citus介绍和centos7安装部署和集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ebs查看服务状态_监控您的卷状态 -
- 下一篇: 你对锁的理解?如何手动模拟一个死锁?