安装clup-server
1. 使用安装包进行安装
您可以在下面的中启乘数科技官方Gitee仓库中获取最新版本的安装包:
在CLup管理模块的机器上需要安csumdb模块和clup模块,这两个模块的安装包的文件名称类似如下:
- csumdb1.0.0.el7.x86_64.bin
- clup5.0.3.el7.x86_64.bin
把安装包拷贝到主机上的任意一个目录下,执行安装:
bash clup5.0.3.el7.x86_64.bin
上面的命令会调用yum自动安装一些依赖包,如果你在内网环境,无法用yum安装软件,可以加一个-i的参数,即此时不按照这些依赖包:
bash clup5.0.3.el7.x86_64.bin -i
后续手工安装这些依赖包:
yum install -y libicu psmisc
这个安装包中实际上是包含一tar压缩包文件,可以用下面的命令把此安装文件中的压缩包解压出来:
bash clup5.0.3.el7.x86_64.bin -z
把压缩包从安装包中解压出来的这个功能,通常是用不到的,主要为一些特殊情况下使用。
此安装包产生以下目录:
- /opt/clup
- /opt/clupX.Y.Z
其中/opt/clup 为链接文件指向“/opt/clupX.Y.Z”目录,为方便运行命令,可以把/opt/clup/bin目录加入PATH环境变量中,如在.bash_profile文件中添加:
PATH=$PATH:/opt/clup/bin
export PATH
安装csumdbX.Y.Z.el7.x86_64.bin:
bash csumdb4.0.0.el7.x86_64.bin
此安装程序会,自动建一个名称未csumdb得用户和组,效果如下:
groupadd -g 570 csumdb
useradd -u 570 -g 570 -d /opt/csumdb -m -s /bin/bash csumdb
同时会产生以下目录:
- /opt/csumdb
/opt/csumdb目录包含一个独立的PostgreSQL程序以及一个独立可以马上启动的一个数据库实例。
这个csumdb是保存我们CLup程序的配置的一个元数据库,通常启动CLup主程序时,会自动启动这个数据库。
我们也可以手动启动这个数据库:
su - csumdb
pg_ctl start
运行psql clup
登陆此数据库后会看到如下用户:
csumdb=> \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
csuapp | | {}
csumdb | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
有如下数据库:
csumdb=> \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+--------+----------+-------------+-------------+-------------------
csumdb | csuapp | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | csumdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | csumdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/csumdb +
| | | | | csumdb=CTc/csumdb
template1 | csumdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/csumdb +
| | | | | csumdb=CTc/csumdb
(4 rows)
cLup-server第一次启动时会自动在此数据库建立相应的表和一些存储过程。
2. clup-server的配置
clup-server的配置文件为/opt/clup/conf/clup.conf,内容如下:
#格式为 key = value
# ++++++++++++++++++++++++++++++++ 网络 ++++++++++++++++++++++++++++++++
# 网络地址(即IP地址与掩码做and位运算后的值),本cluster软件将运行在此网络中,如果主机有多个IP地址,则使用这个网络内的IP地址做为通信的IP
#network=192.168.56.0
network=10.197.160.0
# 设置用于检查是否是自己变成了孤岛的检查IP,可以为逗号分隔的多个ip,如果这些IP能ping通,说明不是自己不是孤岛,注意最多设置三个IP,多余的被忽略
#probe_island_ip=192.168.56.1,192.168.0.1
probe_island_ip=10.197.160.1
# ++++++++++++++++++++++++++++++++ 容灾三节点CLup配置 ++++++++++++++++++++++++++++++++
# 如果在3台机器上安装CLup做集群,则需要做下面的设置
# clup_host_list = 192.168.56.50,192.168.56.51,192.168.56.52
# ++++++++++++++++++++++++++++++++ RPC连接 ++++++++++++++++++++++++++++++++
#agent与服务器之间通信的密码
internal_rpc_pass = clup_pass_pwd
# 如果是集群模式,要求所有的CLup的server_rpc_port都相等
server_rpc_port = 4242
agent_rpc_port = 4243
# websocket的端口
server_ws_port = 4244
agent_ws_port = 4245
agent_ws_token = cdbmgr
# ++++++++++++++++++++++++++++++++ WEB页面 ++++++++++++++++++++++++++++++++
# 当把http_auth设置为0时,用admin用户登录,输入任何密码都可以登录,当忘记密码时的就可以使用解决方法
http_auth = 1
# WEB界面无操作时的过期时间
# session_expired_secs = 600
# 前端管理界面web监听端口
#http_port = 8080
http_port = 8090
# 如果处于安全考虑,禁止使用webterm,可以把这个参数设置为1
disable_webterm = 0
# ++++++++++++++++++++++++++++++++ CLup数据库连接 ++++++++++++++++++++++++++++++++
# 数据库连接配置
db_host = 127.0.0.1
db_port = 3500
db_user = clupapp
db_pass = clupMgr232
db_name = clup
# 当配置了强制reset机器的命令时,执行完此命令之后,是否检查命令的返回值,如果设置为1,则不管命令执行成功还是失败,都认为成功继续进行HA切换。
# 如果设置为0,则如果reset命令执行失败,则HA切换失败
ignore_reset_cmd_return_code = 0
# psql_cmd的路径:
psql_cmd=/opt/clupmdb/pgsql-12/bin/psql
# ++++++++++++++++++++++++++++++++ 性能采集数据库连接 ++++++++++++++++++++++++++++++++
#collect_db_host = 127.0.0.1
#collect_db_port = 3600
#collect_db_user = clupapp
#collect_db_pass = clupMgr232
#collect_db_name = clup
配置项说明如下:
- network=10.197.160.0:主程序模块与Agent程序通信的网络,当机器有多个IP时,区分管理走那个网络。
- probe_island_ip=192.168.160.253,192.168.160.254: 用于检查是否是自己变成了孤岛的检查IP,可以为逗号分隔的多个IP。注意最多设置三个IP,多余的被忽略
- internal_rpc_pass = XXXXXX # clup-server和clup-agent程序内部之间通信的密码。
- server_rpc_port = 4242: clup-server的监听端口,用于内部通信。
- agent_rpc_port = 4243: clup-agent程序的监听端口,用于内部通信。
- ignore_reset_cmd_return_code = 1:共享存储的高可用数据库防止脑裂的配置, 当配置了强制reset机器的命令时,执行完此命令之后,是否检查reset命令的返回值,如果设置为1,不管reset命令是否执行成功,都进行HA的切换,如果设置为0,如果reset的命令不成功,则HA切换失败。
- http_auth = 1: 在生产系统应该设置为1,如果设置为0,则登录前端的web界面不需要密码,当忘记密码的情况下,可以把此参数设置为0,然后重新启动主程序后,这时就可以不需要密码就可以登陆系统了,这时就可以重置密码了。
- db_user = clupapp: 登录CLup自身数据库的用户。
- db_pass = CLupMgr232: 登录CLup自身数据库的密码。
- db_host = 127.0.0.1 CLup自身数据库的IP。
- db_port = 3500: CLup自身数据的端口。
- db_name = clup: CLup自身数据库的database名称。
- server_ws_port = 4244: CLup主程序的websocket的端口。
- agent_ws_port = 4245: Agent程序端的websocket的端口。
- agent_ws_token = cdbmgr: websocket的token。
- psql_cmd=/home/csumdb/pgsql-12/bin/psql: 请把这个路径改成你实际的PostgreSQL软件的目录。
3. 注册服务
安装程序会自动启动CLup主程序了,同时也会自动把CLup注册成系统服务,以便于开机之后,就能自启动CLup。
我们还可以执行下面的命令把clup服务模块注册为服务:
/opt/clup/bin/clupserver reg_service
执行的过程如下:
[root@CLup0 ~]# /opt/clup/bin/clupserver reg_service
2022-05-11 07:42:35,843 INFO CLup v2.0.0 Copyright (c) 2018 HangZhou CSTech.Ltd. All rights reserved.
2022-05-11 07:42:35,843 INFO Start loading configuration ...
2022-05-11 07:42:35,843 INFO Complete configuration loading.
register service sucessfully.
这通常是在安装程序出错的时候,才需要使用此命令。
4. 启动服务
后续在维护过程中,如果CLup主程序停运行了,我们就可以通过下面的命令启动CLup主程序了:
systemctl start clup
目前只支持注册成systemd类型的的系统服务,Redhat7.X和
CentOS7.X都支持systemd的服务,而Redhat6.X和CentOS6.X不支持systemd的系统服务。
如果无法注册成systemd类型的系统服务,我们可以手工启动CLup的主程序,如下所示:
/opt/clup/bin/clupserver start
实际的运行效果为:
[root@CLup0 ~]# /opt/clup/bin/clupserver start
2023-05-11 01:42:26,564 INFO CLup v5.0.0 Copyright (c) 2018-2023 CSUDATA.COM All rights reserved.
2023-05-11 01:42:26,565 INFO Start loading configuration ...
2025-05-11 01:42:26,566 INFO Complete configuration loading.
运行上面的命令之后,CLup主程序会在后台运行,可以用/opt/clup/bin/clupserver status
查看主程序的状态,如下所示:
[root@CLup0 ~]# /opt/clup/bin/clupserver status
2023-05-11 01:43:09,653 INFO CLup v3.0.0 Copyright (c) 2018-2023 CSUDATA.COM All rights reserved.
2022-05-11 01:43:09,654 INFO Start loading configuration ...
2022-05-11 01:43:09,654 INFO Complete configuration loading.Program(933) is running.
看到最后一行Program(933) is running.表明程序正在运行。
5. 查看日志
如果没有成功启动,可以查看日志文件/opt/clup/logs/clupserver.log中查看没有启动的原因。
6. 停止服务
如果注册成了服务,可以使用systemctl stop clup来停止CLup主程序,当然我们也可以使用/opt/clup/bin/clupserver stop停止CLup主程序:
[root@CLup0 ~]# /opt/clup/bin/clupserver stop
2023-05-11 02:04:52,471 INFO CLup v5.0.3 Copyright (c) 2018-2023 CSUDATA.COM All rights reserved.
2023-05-11 02:04:52,471 INFO Start loading configuration ...
2023-05-11 02:04:52,471 INFO Complete configuration loading.
Wait 4 second for program stopped...
Wait 4 second for program stopped...
Program stopped.