暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

CLup开源版特性与快速使用

中启乘数 2023-10-23
354

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

    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" >> ~/.bashrc
    source ~/.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 csumdb
      useradd -u 571 -g 571 -d home/csumdb -m -s bin/bash csumdb
      # 配置用户环境变量
      su - csumdb
      vi .bashrc
      # .bashrc
      # ====== Add by csumdb init env **do not modify** begin
      export PATH=/usr/pgsql-12/bin:$PATH
      export LD_LIBRARY_PATH=/usr/pgsql-12/lib:$LD_LIBRARY_PATH
      export PGDATA=~/pgdata
      export PGHOST=127.0.0.1
      export PGPORT=5432
      export PGDATABASE=openclup
      export 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.conf
      echo "
      local all all peer
      host all all 0/0 md5
      local replication all peer
      host replication all 0/0 md5
      " >> ~/pgdata/pg_hba.conf


      # 修改数据库配置文件pgdata/postgresql.conf
      echo "
      listen_addresses = '*'
      port = 5432
      logging_collector = on
      log_filename = 'postgresql-%a.log' # log file name pattern,
      log_truncate_on_rotation = on
      log_timezone = 'PRC'
      track_io_timing = on
      track_functions = all
      datestyle = 'iso, mdy'
      timezone = 'PRC'
      unix_socket_directories = '.'
      lc_messages = 'en_US.UTF-8' # locale for system error message
      lc_monetary = 'en_US.UTF-8' # locale for monetary formatting
      lc_numeric = 'en_US.UTF-8' # locale for number formatting
      lc_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 openclup
      REVOKE CREATE ON SCHEMA public FROM public;
      ALTER SCHEMA public OWNER TO csuapp;

      部署源码,启动服务

        # 安装依赖
        yum install -y tcl tcl-devel tk
        # 下载源码,克隆仓库
        # root
        cd /opt
        git clone https://gitee.com/csudata/clup.git
        # 设置配置文件
        cd /opt/clup/conf
        mv example_clup.conf clup.conf


        # 修改配置文件
        #格式为 key = value
        # ++++++++++++++++++++++++++++++++ 网络 ++++++++++++++++++++++++++++++++
        # 网络地址(即IP地址与掩码做and位运算后的值),本cluster软件将运行在此网络中,如果主机有多个IP地址,则使用这个网络内的IP地址做为通信的IP
        network=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 = 4242
        agent_rpc_port = 4243
        # ++++++++++++++++++++++++++++++++ WEB页面 ++++++++++++++++++++++++++++++++
        # 当把http_auth设置为0时,用admin用户登录,输入任何密码都可以登录,当忘记密码时的就可以使用解决方法
        http_auth = 1
        # 前端管理界面web监听端口
        http_port = 8080
        http_user = admin
        http_pass = openclup
        # ++++++++++++++++++++++++++++++++ clup数据库连接 ++++++++++++++++++++++++++++++++
        # 数据库连接配置
        db_host = 127.0.0.1
        db_port = 5432
        db_user = csuapp
        db_pass = openclup
        db_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/activate
        python /opt/clup/lib/clup_server.py start

        安装CLup Agent

        下载源码,克隆仓库

          # 安装依赖
          yum install -y psmisc.x86_64 tcl tcl-devel tk
          # 下载CLup Agent源码,克隆仓库
          cd /opt
          git clone https://gitee.com/csudata/clup-agent.git
          # 设置配置文件
          cd /opt/clup-agent/conf
          mv 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 use
            mgr_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/activate
              python /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

                点击关注乘数科技

                扫码添加乘数小助手微信号
                邀您进入《PostgreSQL修炼之道:从小工到专家》
                读者技术交流群

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

                文章转载自中启乘数,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                评论