CLup开源版是一个更好用的本地开源RDS for PostgreSQL替代
核心亮点
开箱即用的RDS:支持Debian、Ubuntu和RHEL等主流Linux操作系统,提供PostgreSQL 9-16版本的生产级PostgreSQL数据库服务。 历经时间验证的稳定:CLup开源版脱胎于CLup企业版,已经在通讯、电力、金融、证券等多个行业的大型企业中得到了多年的广泛应用。经过这些年的实际运行检验,展现出了卓越的稳定性和可靠性,赢得了行业内广大用户的一致好评和信赖。 应用场景广泛:无论是低代码应用开发、部署生产服务还是使用PostgreSQL作为后端数据库的ERP等开源软件,都可以一键拉起准生产环境的PG数据库! 高可用不惧意外:CLup开源版可以一键创建高可用PG数据库集群,当发生故障时,CLup会进行自动切换,保证服务稳定不间断运行。 数据安全有保障:CLup开源版支持离线部署,无需联网,数据不会离开您的服务器,大大降低了来自外部的威胁。与常见的RDS服务不同,CLup创建的PostgreSQL数据库完全托管在您自己的服务器上,避免了依赖第三方服务可能带来的风险。 自由开放不受限: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
cd opt# 下载中启乘数打包好的python,或者可以参考官方文档配置自己本地的python环境wget https://gitee.com/csudata/csupy3.9.16/releases/download/1.0/csupy3.9.16.el7.tar.xz# 解压软件包tar xf csupy3.9.16.el7.tar.xz# 添加lib包的路径到环境变量echo "export LD_LIBRARY_PATH=/opt/csupy3.9.16/lib:\$LD_LIBRARY_PATH" >> ~/.bashrcsource ~/.bashrc
安装和配置数据库
# 安装PostgreSQL的repo源yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装epel源,这里使用阿里的镜像站curl -o etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo# 安装PostgreSQL12数据库软件yum -y install postgresql12.x86_64 postgresql12-contrib.x86_64 postgresql12-libs.x86_64 postgresql12-server.x86_64# 创建系统用户和用户组groupadd -g 571 csumdbuseradd -u 571 -g 571 -d home/csumdb -m -s bin/bash csumdb# 配置用户环境变量su - csumdbvi .bashrc# .bashrc# ====== Add by csumdb init env **do not modify** beginexport PATH=/usr/pgsql-12/bin:$PATHexport LD_LIBRARY_PATH=/usr/pgsql-12/lib:$LD_LIBRARY_PATHexport PGDATA=~/pgdataexport PGHOST=127.0.0.1export PGPORT=5432export PGDATABASE=openclupexport PGUSER=csuapp# ====== Add by csumdb init env **do not modify** end# 加载环境变量source ~/.bashrc# 配置数据库用户密码echo "127.0.0.1:5432:openclup:csuapp:openclup" > .pgpass && chmod 600 ~/.pgpass# 数据库初始化initdb# 修改用户认证配置文件pgdata/pg_hba.confecho "local all all peerhost all all 0/0 md5local replication all peerhost replication all 0/0 md5" >> ~/pgdata/pg_hba.conf# 修改数据库配置文件pgdata/postgresql.confecho "listen_addresses = '*'port = 5432logging_collector = onlog_filename = 'postgresql-%a.log' # log file name pattern,log_truncate_on_rotation = onlog_timezone = 'PRC'track_io_timing = ontrack_functions = alldatestyle = 'iso, mdy'timezone = 'PRC'unix_socket_directories = '.'lc_messages = 'en_US.UTF-8' # locale for system error messagelc_monetary = 'en_US.UTF-8' # locale for monetary formattinglc_numeric = 'en_US.UTF-8' # locale for number formattinglc_time = 'en_US.UTF-8' # locale for time formatting" >> ~/pgdata/postgresql.conf# 启动数据库pg_ctl start -D ~/.pgdata# 启动数据库后进入template1数据库psql -d template1 -Ucsumdb# 修改数据库属性CREATE USER csuapp password 'openclup';CREATE DATABASE openclup owner csuapp;ALTER ROLE csuapp LOGIN;# 配置用户权限\c openclupREVOKE CREATE ON SCHEMA public FROM public;ALTER SCHEMA public OWNER TO csuapp;
部署源码,启动服务
# 安装依赖yum install -y tcl tcl-devel tk# 下载源码,克隆仓库# rootcd /optgit clone https://gitee.com/csudata/clup.git# 设置配置文件cd /opt/clup/confmv example_clup.conf clup.conf# 修改配置文件#格式为 key = value# ++++++++++++++++++++++++++++++++ 网络 ++++++++++++++++++++++++++++++++# 网络地址(即IP地址与掩码做and位运算后的值),本cluster软件将运行在此网络中,如果主机有多个IP地址,则使用这个网络内的IP地址做为通信的IPnetwork=10.197.160.0# 设置用于检查是否是自己变成了孤岛的检查IP,可以为逗号分隔的多个ip,如果这些IP能ping通,说明不是自己不是孤岛,注意最多设置三个IP,多余的被忽略probe_island_ip=10.197.160.4# ++++++++++++++++++++++++++++++++ RPC连接 ++++++++++++++++++++++++++++++++#agent与服务器之间通信的密码internal_rpc_pass = clup_pass_pwd# 如果是集群模式,要求所有的CLup的server_rpc_port都相等server_rpc_port = 4242agent_rpc_port = 4243# ++++++++++++++++++++++++++++++++ WEB页面 ++++++++++++++++++++++++++++++++# 当把http_auth设置为0时,用admin用户登录,输入任何密码都可以登录,当忘记密码时的就可以使用解决方法http_auth = 1# 前端管理界面web监听端口http_port = 8080http_user = adminhttp_pass = openclup# ++++++++++++++++++++++++++++++++ clup数据库连接 ++++++++++++++++++++++++++++++++# 数据库连接配置db_host = 127.0.0.1db_port = 5432db_user = csuappdb_pass = openclupdb_name = openclup# 当配置了强制reset机器的命令时,执行完此命令之后,是否检查命令的返回值,如果设置为1,则不管命令执行成功还是失败,都认为成功继续进行HA切换。# 如果设置为0,则如果reset命令执行失败,则HA切换失败ignore_reset_cmd_return_code = 0# psql_cmd的路径:psql_cmd=/usr/pgsql-12/bin/psql# 启动服务source /opt/csu_pyenv/bin/activatepython /opt/clup/lib/clup_server.py start
安装CLup Agent
下载源码,克隆仓库
# 安装依赖yum install -y psmisc.x86_64 tcl tcl-devel tk# 下载CLup Agent源码,克隆仓库cd /optgit clone https://gitee.com/csudata/clup-agent.git# 设置配置文件cd /opt/clup-agent/confmv example-clup-agent.conf clup-agent.conf
修改配置文件clup-agent.conf
# key = value# If the machine has multiple IPs, it is necessary to specify which network's IP address to usemgr_network = 10.197.160.0#Specify the address of the CLup server,CLup serve端的IP和端口,替换IP即可server_address = 10.197.166.35:4242# agent与服务器之间通信的密码,保持默认即可internal_rpc_pass = clup_pass_pwd# Under normal circumstances, the clup agent can only be started after the CLup server is started.# But sometimes we need to start the clup-agent separately when the CLup server is not started,# and in this case, we can set standalone to 1# standalone = 0# rpc 端口,保持默认即可agent_rpc_port = 4243
启动服务
source /opt/csu_pyenv/bin/activatepython /opt/clup-agent/lib/clup_agent.py start
安装数据库软件
可以使用官方源的方式来安装PostgreSQL数据库软件,也可以使用中启乘数科技编译好的版本一键安装
# 下载安装包wget https://gitee.com/csudata/csupg/releases/download/csupg_el7/csupg-14.9.el7.x86_64.bin# 安装,数据库软件的目录会生成在/usr下bash csupg-14.9.el7.x86_64.bin
浏览器打开网页SERVER_IP:8090,输入密码admin/openclup登录即可使用
教程:https://www.csudata.com/clup/manual
点击关注乘数科技

点击下方阅读原文,快速查看CLup开源版代码仓库




