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

安装企业版本clup-server

1. 使用安装包进行安装

在CLup Server端管理模块的机器上需要安装clup模块和csumdb模块,这两个模块的安装包的文件名称类似如下:

您可以在下面的中启乘数科技官方提供的地址下载相应的安装包:

序号 操作系统 x86_64架构 Arm64架构
1 RHEL/CentOS 7 clup5.1.5.el7.x86_64.bin
csumdb1.1.2.el7.x86_64.bin
2 RHEL/CentOS/RockyLinux/AlmaLinux 8 clup5.1.5.el8.x86_64.bin
csumdb1.1.2.el8.x86_64.bin
clup5.1.5.el8.aarch64.bin
csumdb1.1.2.el8.aarch64.bin
3 RHEL/CentOS/RockyLinux/AlmaLinux 9 clup5.1.5.el9.x86_64.bin
csumdb1.1.2.el9.x86_64.bin
clup5.1.5.el9.aarch64.bin
csumdb1.1.2.el9.x86_64.bin
4 Debian11 clup5.1.5.deb11.x86_64.bin
csumdb1.1.2.deb11.x86_64.bin
clup5.1.5.deb11.aarch64.bin
csumdb1.1.2.deb11.aarch64.bin
5 Debian12 clup5.1.5.deb12.x86_64.bin
csumdb1.1.2.deb12.x86_64.bin
clup5.1.5.deb12.aarch64.bin
csumdb1.1.2.deb12.aarch64.bin
6 OpenEuler20.03 clup5.1.5.euler2003.x86_64.bin
csumdb1.1.2.euler2003.x86_64.bin
7 OpenEuler22.03 clup5.1.5.euler2203.x86_64.bin
csumdb1.1.2.euler2203.x86_64.bin
clup5.1.5.euler2203.aarch64.bin
csumdb1.1.2.euler2203.aarch64.bin
8 OpenEuler24.03 clup5.1.5.euler2403.x86_64.bin
csumdb1.1.2.euler2403.x86_64.bin
clup5.1.5.euler2403.aarch64.bin
csumdb1.1.2.euler2403.aarch64.bin
9 银河麒麟v10(ky10) clup5.1.5.ky10.x86_64.bin
csumdb1.1.2.ky10.x86_64.bin
clup5.1.5.ky10.aarch64.bin
csumdb1.1.2.ky10.aarch64.bin
10 Ubuntu22.04 clup5.1.5.ubuntu2204.x86_64.bin
csumdb1.1.2.ubuntu2204.x86_64.bin
clup5.1.5.ubuntu2204.aarch64.bin
csumdb1.1.2.ubuntu2204.aarch64.bin
11 Ubuntu24.04 clup5.1.5.ubuntu2404.x86_64.bin
csumdb1.1.2.ubuntu2404.x86_64.bin
clup5.1.5.ubuntu2404.aarch64.bin
csumdb1.1.2.ubuntu2404.aarch64.bin
12 Alpine clup5.1.5.alpine.x86_64.bin
csumdb1.1.2.alpine.x86_64.bin
clup5.1.5.alpine.aarch64.bin
csumdb1.1.2.alpine.aarch64.bin

下面的示例环境是x86_64架构下的RockyLinux 8,其需要安装el8.x86_64版本的程序包。

可以将安装包下载到主机上的任意一个目录下,执行安装:

  1. wget https://csudata.oss-cn-hangzhou.aliyuncs.com/clup/5.1.5/clup5.1.5.el8.x86_64.bin
  2. bash clup5.1.5.el8.x86_64.bin

上面的命令会调用yum自动安装一些依赖包,如果你在内网环境,无法用yum安装软件,可以加一个-i的参数,即此时不安装这些依赖包:

  1. bash clup5.1.5.el8.x86_64.bin -i

后续手工安装这些依赖包:

  1. yum install -y libicu tcl tcl-devel tk

这个安装包中实际上是包含一tar压缩包文件,可以用下面的命令把此安装文件中的压缩包提取出来:

  1. bash clup5.1.5.el8.x86_64.bin -z

把压缩包从安装包中提取出来的这个功能,通常是用不到的,主要为一些特殊情况下使用,比如升级CLup版本。

此安装包安装后会生成以下目录:

(此操作非必须)为方便运行命令,也可以把/opt/clup/bin目录加入PATH环境变量中,如在.bash_profile文件中添加:

  1. PATH=$PATH:/opt/clup/bin
  2. export PATH

安装csumdbX.Y.Z.el8.x86_64.bin:

  1. bash csumdb1.1.2.el8.x86_64.bin

此安装程序会创建名为csumdb的用户和组,其执行的命令如下:

  1. groupadd -g 570 csumdb
  2. useradd -u 570 -g 570 -d /home/csumdb -m -s /bin/bash csumdb

同时会创建一个目录/home/csumdb,目录中包含一个独立的PostgreSQL程序(pgsql-12)以及一个独立可以马上启动的一个数据库实例(pgdata)。

这个csumdb是保存我们CLup程序的配置的一个元数据库,通常启动CLup主程序时,会自动启动这个数据库。我们也可以手动启动这个数据库:

  1. su - csumdb
  2. pg_ctl start

运行psql登陆此数据库后会看到如下用户:

  1. csumdb=> \du
  2. List of roles
  3. Role name | Attributes | Member of
  4. -----------+------------------------------------------------------------+-----------
  5. csuapp | | {}
  6. csumdb | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

有如下数据库(其中openclup是开源版本所使用的数据库,这是一个空库,企业版用户可以将其删除):

  1. csumdb=# \l
  2. List of databases
  3. Name | Owner | Encoding | Collate | Ctype | Access privileges
  4. -----------+--------+----------+-------------+-------------+-------------------
  5. csumdb | csuapp | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
  6. openclup | csuapp | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
  7. postgres | csumdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
  8. template0 | csumdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/csumdb +
  9. | | | | | csumdb=CTc/csumdb
  10. template1 | csumdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/csumdb +
  11. | | | | | csumdb=CTc/csumdb
  12. (5 rows)

CLup Server第一次启动时会自动在此数据库建立相应的表和一些存储过程。

2. CLup Server的配置

CLup Server的配置文件为/opt/clup/conf/clup.conf,主要参数如下:

  1. #格式为 key = value
  2. # ++++++++++++++++++++++++++++++++ 网络 ++++++++++++++++++++++++++++++++
  3. # 网络地址(即IP地址与掩码做and位运算后的值),本cluster软件将运行在此网络中,如果主机有多个IP地址,则使用这个网络内的IP地址做为通信的IP
  4. network=10.197.160.0
  5. # 设置用于检查是否是自己变成了孤岛的检查IP,可以为逗号分隔的多个ip,如果这些IP能ping通,说明自己不是孤岛,注意最多设置三个IP,多余的被忽略
  6. probe_island_ip=10.197.160.4,10.197.160.6
  7. # ++++++++++++++++++++++++++++++++ 容灾三节点CLup配置 ++++++++++++++++++++++++++++++++
  8. # 如果在3台机器上安装CLup做集群,则需要做下面的设置
  9. # clup_host_list = 192.168.56.50,192.168.56.51,192.168.56.52
  10. # ++++++++++++++++++++++++++++++++ RPC连接 ++++++++++++++++++++++++++++++++
  11. #agent与服务器之间通信的密码
  12. internal_rpc_pass = clup_pass_pwd
  13. # 如果是集群模式,要求所有的CLup的server_rpc_port都相等
  14. server_rpc_port = 4242
  15. agent_rpc_port = 4243
  16. # websocket的端口
  17. server_ws_port = 4244
  18. agent_ws_port = 4245
  19. agent_ws_token = cdbmgr
  20. # ++++++++++++++++++++++++++++++++ WEB页面 ++++++++++++++++++++++++++++++++
  21. # 当把http_auth设置为0时,用admin用户登录,输入任何密码都可以登录,当忘记密码时的就可以使用解决方法
  22. http_auth = 1
  23. # 前端管理界面web监听端口
  24. http_port = 8090
  25. # 前端session的过期时间,超时需要重新登录
  26. session_expired_secs = 1800
  27. # 如果处于安全考虑,禁止使用webterm,可以把这个参数设置为1
  28. disable_webterm = 0
  29. # ++++++++++++++++++++++++++++++++ clup数据库连接 ++++++++++++++++++++++++++++++++
  30. # 数据库连接配置
  31. db_host = 127.0.0.1
  32. db_port = 3500
  33. db_user = csuapp
  34. db_pass = csuMgr232
  35. db_name = csumdb
  36. # psql_cmd的路径:
  37. psql_cmd=/home/csumdb/pgsql-12/bin/psql
  38. # +++++++++++++++++++++++++++ 性能采集数据库连接 +++++++++++++++++++++++++++++
  39. #collect_db_host = 127.0.0.1
  40. #collect_db_port = 3600
  41. #collect_db_user = clupapp
  42. #collect_db_pass = clupMgr232
  43. #collect_db_name = clup
  44. # ++++++++++++++++++++++++++++++++ esdisk ++++++++++++++++++++++++++++++++
  45. esdisk_enable = 0
  46. # ++++++++++++++++++++++++++++++++ cgroup ++++++++++++++++++++++++++++++++
  47. cgroup_enable = 0
  48. # +++++++++++++++++++++++++++++++ cinspect ++++++++++++++++++++++++++++++++
  49. cinspect_enable = 0
  50. # 如果此参数为0,则界面上禁止添加自定义软件包,同时对于已经有的自定义软件包,也不能修改其安装命令
  51. custom_package_enable = 1

常用配置项说明如下:

参数名 默认值 说明
network 主程序模块与Agent程序通信的网络,当机器有多个IP时,区分管理走那个网络。
probe_island_ip 用于检查是否是自己变成了孤岛的检查IP,可以为逗号分隔的多个IP。注意最多设置三个IP,多余的会被忽略。
internal_rpc_pass clup_pass_pwd clup-server和clup-agent程序内部之间通信的密码。
http_auth 1 在生产系统应设置为1。
当管理员忘记密码时,可以将其设为0,然后重启服务,此时无需密码即可登录,修改密码后将其改回1,再次重启服务。
session_expired_secs 1800 前端session的过期时间,超过此时间则需要重新登录,单位秒。
db_host 127.0.0.1 CLup自身数据库的IP,CLup自身数据库不能部署到其他主机上。
db_user csuapp 登录CLup自身数据库的用户。
db_pass csuMgr232 登录CLup自身数据库的密码。
db_port 3500 CLup自身数据的端口。
db_name csumdb CLup自身数据库的database名称。
collect_db_xxx 性能采集数据库的连接信息,此数据库可以部署在其他主机上,主要是为了防止开启TOPSQL后,采集数据会占用大量空间撑爆CLup管理数据库所在磁盘。
psql_cmd /home/csumdb/pgsql-12/bin/psql psql_cmd的路径
esdisk_enable 0 是否开启ESDisk管理,只有使用中启乘数开发的ESDisk高性能共享存储软件时才需要开启,此软件非开放使用,如需了解更多请联系我们。
cgroup_enable 0 是否开启资源隔离管理。
cinspect_enable 0 是否开启巡检系统,此功能只对集群开放。
custom_package_enable 1 是否允许添加和修改自定义软件包。

3. 注册服务

安装程序会自动启动CLup主程序,同时会把CLup注册成系统服务,以便于开机之后CLup能自启动。

我们还可以执行下面的命令把clup服务模块注册为服务:

  1. /opt/clup/bin/clupserver reg_service

执行的过程如下:

  1. [root@CLup-Server01 bin]# /opt/clup/bin/clupserver reg_service
  2. register service clup sucessfully.

通常是在安装程序出错的时候,才需要手工执行此命令。

4. 启动服务

后续在维护过程中,如果CLup主程序停运行了,我们可以通过下面的命令启动CLup主程序:

  1. systemctl start clup

注意

此命令只支持注册成systemd类型的系统服务。

此时查看程序状态

  1. [root@CLup-Server01 ~]# systemctl status clup
  2. clup.service - clup
  3. Loaded: loaded (/etc/systemd/system/clup.service; enabled; vendor preset: disabled)
  4. Drop-In: /run/systemd/system/clup.service.d
  5. └─zzz-lxc-service.conf
  6. Active: active (running) since Thu 2024-08-22 02:41:52 UTC; 3s ago
  7. Process: 2550 ExecStop=/opt/clup/bin/clupserver stop (code=exited, status=0/SUCCESS)
  8. Process: 2605 ExecStart=/opt/clup/bin/clupserver start (code=exited, status=0/SUCCESS)
  9. Process: 2603 ExecStartPre=/opt/clup/bin/clupserver stop (code=exited, status=0/SUCCESS)
  10. Main PID: 2607 (clupserver)
  11. Tasks: 20 (limit: 182296)
  12. Memory: 42.8M
  13. CGroup: /system.slice/clup.service
  14. ├─2607 /opt/clup/bin/clupserver start
  15. └─2608 /opt/clup/bin/clupserver start
  16. Aug 22 02:41:51 CLup-Server01 systemd[1]: Starting clup...
  17. Aug 22 02:41:52 CLup-Server01 clupserver[2603]: Wait 1 seconds for program stopped...
  18. Aug 22 02:41:52 CLup-Server01 clupserver[2603]: clup force stopped
  19. Aug 22 02:41:52 CLup-Server01 clupserver[2605]: 2024-08-22 02:41:52,714 INFO ========== CLup starting ==========
  20. Aug 22 02:41:52 CLup-Server01 systemd[1]: Started clup.

如果无法注册成systemd类型的系统服务,我们可以手工启动CLup的主程序,如下所示:

  1. /opt/clup/bin/clupserver start

实际的运行效果为:

  1. [root@CLup-Server01 ~]# /opt/clup/bin/clupserver start
  2. 2024-08-22 02:39:22,910 INFO ========== CLup starting ==========

运行上面的命令之后,CLup主程序会在后台运行,可以用/opt/clup/bin/clupserver status查看主程序的状态,如下所示:

  1. [root@CLup-Server01 ~]# /opt/clup/bin/clupserver status
  2. clup(pid=2467) is running.

5. 查看日志

如果没有成功启动,可以查看日志文件/opt/clup/logs/clupserver.log中查看没有启动的原因。

6. 停止服务

使用systemctl命令

  1. systemctl stop clup

没有注册系统服务,则需要使用下面的命令

  1. /opt/clup/bin/clupserver stop
目录
img