首页
产品
CLup:PostgreSQL高可用集群平台 CMiner: PostgreSQL中的CDC CData高性能数据库云一体机 CBackup数据库备份恢复云平台 CPDA高性能双子星数据库机 CSYun超融合虚拟机产品 ZQPool数据库连接池 ConshGuard数据保护产品
解决方案
数据库专业技术服务全栈式PostgreSQL解决方案Oracle分布式存储化数据库云PolarDB一体化解决方案
文章
客户及伙伴
中启开源
关于我们
公司简介 联系我们
中启开源

CLup开源版是一个更好用的本地开源RDS for PostgreSQL替代

核心亮点

  1. 开箱即用的RDS:支持Debian、Ubuntu和RHEL等主流Linux操作系统,提供PostgreSQL 9-16版本的生产级PostgreSQL数据库服务。
  2. 历经时间验证的稳定:CLup开源版脱胎于CLup企业版,已经在通讯、电力、金融、证券等多个行业的大型企业中得到了多年的广泛应用。经过这些年的实际运行检验,展现出了卓越的稳定性和可靠性,赢得了行业内广大用户的一致好评和信赖。
  3. 应用场景广泛:无论是低代码应用开发、部署生产服务还是使用PostgreSQL作为后端数据库的ERP等开源软件,都可以一键拉起准生产环境的PG数据库!
  4. 高可用不惧意外:CLup开源版可以一键创建高可用PG数据库集群,当发生故障时,CLup会进行自动切换,保证服务稳定不间断运行。
  5. 数据安全有保障:CLup开源版支持离线部署,无需联网,数据不会离开您的服务器,大大降低了来自外部的威胁。与常见的RDS服务不同,CLup创建的PostgreSQL数据库完全托管在您自己的服务器上,避免了依赖第三方服务可能带来的风险。
  6. 自由开放不受限:CLup开源版开放了所有的源代码,您可以根据自己的需求自由的修改和使用它,用不到RDS 1/10的价格拥有一个更好的PostgreSQL数据库服务!

开箱即用的RDS

PostgreSQL数据库设计合理、性能好、生态完善,是一个优秀的数据库应用,但只有和优秀的第三方工具一起配合,才能成为一个优秀的数据库服务,CLup开源版提供了许多开箱即用的特性,帮助用户用好PostgreSQL。

CLup开源版支持PostgreSQL 9-16的版本,可以运行在Debian、Ubuntu、RHEL系等Linux发行版上,无需进行过多的配置,即可获得一个专业的数据库服务平台,帮助您更好的管控数据库应用。

CLup开源版提供了一个功能丰富,使用简单的Web服务管理界面,您在网页上鼠标点一点,就可以轻松创建一个生产级别的PG数据库高可用集群,无需经历复杂繁琐的部署和配置环节。

历经时间考验的稳定

CLup开源版的背后是一支经验丰富的开发团队,核心开发者来自阿里、网易等国内知名的互联网巨头。CLup开源版脱胎于CLup企业版,CLup企业版在过去的多年里,已被众多电信、金融、保险、医药和银行等领域的大型企业所采用,用于企业的业务核心系统,以稳定、好用、性能好著称,赢得了业界的广泛认可。开源版继承了企业版的稳定性,结合了当下最先进的技术,绝对值得您的关注与尝试。

应用场景广泛

CLup开源版简单易用,无需掌握专业的PostgreSQL知识即可轻松创建和管理PostgreSQL数据库和高可用集群环境。无论是开发人员需要创建临时的测试数据库来测试,还是数据库DBA需要创建一个复杂的PostgreSQL高可用集群,都可以在CLup开源版Web界面上轻松搞定。

高可用不惧意外

CLup开源版数据库集群高可用功能,可以很好的保证您业务数据的安全性,保障业务持续稳定运行,避免因为一些人为和非人为因素的突发情况导致的业务宕机和数据丢失。

背后支撑CLup高可用集群功能的稳固性和易用性的,是核心开发者在数据库运维领域多年深厚的经验沉淀。开发者结合多年实践中应对各种突发状况的宝贵经验,精心将这些专业知识融入到高可用集群的设计中,确保为用户带来最为可靠和高效的使用体验。

数据安全有保障

CLup开源版支持离线部署,PostgreSQL数据库和集群全部部署在您控制的服务器上,和云厂商提供的RDS不同,您拥有CLup开源版以及创建和管理的数据库集群全部的控制权,无需担心数据泄露等隐私问题。

自由开放不受限

CLup开源版是开源免费的自由软件,可以帮助您快速创建和管理PostgreSQL数据库集群,您不需要支付服务费用,可以用近乎纯硬件的成本来创建和管理企业级PostgreSQL数据库服务。

如果CLup开源版无法满足您的要求,您可以在源代码的基础上做二次开发,或者咨询中启乘数科技的客服,了解和试用CLup的企业版。相较于开源版,CLup企业版提供了众多高级特性和改进,不仅可以满足您对系统稳定性的严苛要求,还满足了专业场景下的一些额外功能需求。

快速使用

安装和使用文档:https://www.csudata.com/clup/manual

首先需要您准备一个EL7/8兼容(推荐使用)的X86架构全新节点,需要有root权限

安装CLup Server

安装python

  1. cd /opt
  2. # 下载中启乘数打包好的python,或者可以参考官方文档配置自己本地的python环境
  3. wget https://gitee.com/csudata/csupy3.9.16/releases/download/1.0/csupy3.9.16.el7.tar.xz
  4. # 解压软件包
  5. tar xf csupy3.9.16.el7.tar.xz
  6. # 添加lib包的路径到环境变量
  7. echo "export LD_LIBRARY_PATH=/opt/csupy3.9.16/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc
  8. source ~/.bashrc

安装和配置数据库

  1. # 安装PostgreSQL的repo源
  2. yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  3. # 安装epel源,这里使用阿里的镜像站
  4. curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  5. # 安装PostgreSQL12数据库软件
  6. yum -y install postgresql12.x86_64 postgresql12-contrib.x86_64 postgresql12-libs.x86_64 postgresql12-server.x86_64
  7. # 创建系统用户和用户组
  8. groupadd -g 571 csumdb
  9. useradd -u 571 -g 571 -d /home/csumdb -m -s /bin/bash csumdb
  10. # 配置用户环境变量
  11. su - csumdb
  12. vi .bashrc
  13. # .bashrc
  14. # ====== Add by csumdb init env **do not modify** begin
  15. export PATH=/usr/pgsql-12/bin:$PATH
  16. export LD_LIBRARY_PATH=/usr/pgsql-12/lib:$LD_LIBRARY_PATH
  17. export PGDATA=~/pgdata
  18. export PGHOST=127.0.0.1
  19. export PGPORT=5432
  20. export PGDATABASE=openclup
  21. export PGUSER=csuapp
  22. # ====== Add by csumdb init env **do not modify** end
  23. # 加载环境变量
  24. source ~/.bashrc
  25. # 配置数据库用户密码
  26. echo "127.0.0.1:5432:openclup:csuapp:openclup" > .pgpass && chmod 600 ~/.pgpass
  27. # 数据库初始化
  28. initdb
  29. # 修改用户认证配置文件pgdata/pg_hba.conf
  30. echo "
  31. local all all peer
  32. host all all 0/0 md5
  33. local replication all peer
  34. host replication all 0/0 md5
  35. " >> ~/pgdata/pg_hba.conf
  36. # 修改数据库配置文件pgdata/postgresql.conf
  37. echo "
  38. listen_addresses = '*'
  39. port = 5432
  40. logging_collector = on
  41. log_filename = 'postgresql-%a.log' # log file name pattern,
  42. log_truncate_on_rotation = on
  43. log_timezone = 'PRC'
  44. track_io_timing = on
  45. track_functions = all
  46. datestyle = 'iso, mdy'
  47. timezone = 'PRC'
  48. unix_socket_directories = '.'
  49. lc_messages = 'en_US.UTF-8' # locale for system error message
  50. lc_monetary = 'en_US.UTF-8' # locale for monetary formatting
  51. lc_numeric = 'en_US.UTF-8' # locale for number formatting
  52. lc_time = 'en_US.UTF-8' # locale for time formatting
  53. " >> ~/pgdata/postgresql.conf
  54. # 启动数据库
  55. pg_ctl start -D ~/.pgdata
  56. # 启动数据库后进入template1数据库
  57. psql -d template1 -Ucsumdb
  58. # 修改数据库属性
  59. CREATE USER csuapp password 'openclup';
  60. CREATE DATABASE openclup owner csuapp;
  61. ALTER ROLE csuapp LOGIN;
  62. # 配置用户权限
  63. \c openclup
  64. REVOKE CREATE ON SCHEMA public FROM public;
  65. ALTER SCHEMA public OWNER TO csuapp;

部署源码,启动服务

  1. # 安装依赖
  2. yum install -y tcl tcl-devel tk
  3. # 下载源码,克隆仓库
  4. # root
  5. cd /opt
  6. git clone https://gitee.com/csudata/clup.git
  7. # 设置配置文件
  8. cd /opt/clup/conf
  9. mv example_clup.conf clup.conf
  10. # 修改配置文件
  11. #格式为 key = value
  12. # ++++++++++++++++++++++++++++++++ 网络 ++++++++++++++++++++++++++++++++
  13. # 网络地址(即IP地址与掩码做and位运算后的值),本cluster软件将运行在此网络中,如果主机有多个IP地址,则使用这个网络内的IP地址做为通信的IP
  14. network=10.197.160.0
  15. # 设置用于检查是否是自己变成了孤岛的检查IP,可以为逗号分隔的多个ip,如果这些IP能ping通,说明不是自己不是孤岛,注意最多设置三个IP,多余的被忽略
  16. probe_island_ip=10.197.160.4
  17. # ++++++++++++++++++++++++++++++++ RPC连接 ++++++++++++++++++++++++++++++++
  18. #agent与服务器之间通信的密码
  19. internal_rpc_pass = clup_pass_pwd
  20. # 如果是集群模式,要求所有的CLup的server_rpc_port都相等
  21. server_rpc_port = 4242
  22. agent_rpc_port = 4243
  23. # ++++++++++++++++++++++++++++++++ WEB页面 ++++++++++++++++++++++++++++++++
  24. # 当把http_auth设置为0时,用admin用户登录,输入任何密码都可以登录,当忘记密码时的就可以使用解决方法
  25. http_auth = 1
  26. # 前端管理界面web监听端口
  27. http_port = 8080
  28. http_user = admin
  29. http_pass = openclup
  30. # ++++++++++++++++++++++++++++++++ clup数据库连接 ++++++++++++++++++++++++++++++++
  31. # 数据库连接配置
  32. db_host = 127.0.0.1
  33. db_port = 5432
  34. db_user = csuapp
  35. db_pass = openclup
  36. db_name = openclup
  37. # 当配置了强制reset机器的命令时,执行完此命令之后,是否检查命令的返回值,如果设置为1,则不管命令执行成功还是失败,都认为成功继续进行HA切换。
  38. # 如果设置为0,则如果reset命令执行失败,则HA切换失败
  39. ignore_reset_cmd_return_code = 0
  40. # psql_cmd的路径:
  41. psql_cmd=/usr/pgsql-12/bin/psql
  42. # 启动服务
  43. source /opt/csu_pyenv/bin/activate
  44. python /opt/clup/lib/clup_server.py start

安装CLup Agent

下载源码,克隆仓库

  1. # 安装依赖
  2. yum install -y psmisc.x86_64 tcl tcl-devel tk
  3. # 下载CLup Agent源码,克隆仓库
  4. cd /opt
  5. git clone https://gitee.com/csudata/clup-agent.git
  6. # 设置配置文件
  7. cd /opt/clup-agent/conf
  8. mv example-clup-agent.conf clup-agent.conf

修改配置文件clup-agent.conf

  1. # key = value
  2. # If the machine has multiple IPs, it is necessary to specify which network's IP address to use
  3. mgr_network = 10.197.160.0
  4. #Specify the address of the CLup server,CLup serve端的IP和端口,替换IP即可
  5. server_address = 10.197.166.35:4242
  6. # agent与服务器之间通信的密码,保持默认即可
  7. internal_rpc_pass = clup_pass_pwd
  8. # Under normal circumstances, the clup agent can only be started after the CLup server is started.
  9. # But sometimes we need to start the clup-agent separately when the CLup server is not started,
  10. # and in this case, we can set standalone to 1
  11. # standalone = 0
  12. # rpc 端口,保持默认即可
  13. agent_rpc_port = 4243

启动服务

  1. source /opt/csu_pyenv/bin/activate
  2. python /opt/clup-agent/lib/clup_agent.py start

安装数据库软件

可以使用官方源的方式来安装PostgreSQL数据库软件,也可以使用中启乘数科技编译好的版本一键安装

  1. # 下载安装包
  2. wget https://gitee.com/csudata/csupg/releases/download/csupg_el7/csupg-14.9.el7.x86_64.bin
  3. # 安装,数据库软件的目录会生成在/usr下
  4. bash csupg-14.9.el7.x86_64.bin

浏览器打开网页SERVER_IP:8090,输入密码admin/openclup登录即可使用

教程:https://www.csudata.com/clup/manual