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