安装企业版本clup-server
1. 使用安装包进行安装
在CLup Server端管理模块的机器上需要安装clup模块和csumdb模块,这两个模块的安装包的文件名称类似如下:
- clup5.1.5.el7.x86_64.bin
- csumdb1.1.2.el7.x86_64.bin
您可以在下面的中启乘数科技官方提供的地址下载相应的安装包:
下面的示例环境是x86_64架构下的RockyLinux 8,其需要安装el8.x86_64版本的程序包。
可以将安装包下载到主机上的任意一个目录下,执行安装:
wget https://csudata.oss-cn-hangzhou.aliyuncs.com/clup/5.1.5/clup5.1.5.el8.x86_64.bin
bash clup5.1.5.el8.x86_64.bin
上面的命令会调用yum自动安装一些依赖包,如果你在内网环境,无法用yum安装软件,可以加一个-i的参数,即此时不安装这些依赖包:
bash clup5.1.5.el8.x86_64.bin -i
后续手工安装这些依赖包:
yum install -y libicu tcl tcl-devel tk
这个安装包中实际上是包含一tar压缩包文件,可以用下面的命令把此安装文件中的压缩包提取出来:
bash clup5.1.5.el8.x86_64.bin -z
把压缩包从安装包中提取出来的这个功能,通常是用不到的,主要为一些特殊情况下使用,比如升级CLup版本。
此安装包安装后会生成以下目录:
- /opt/clup:软连接,指向当前实际使用的CLup Server所在目录;
- /opt/clup5.1.5:实际的CLup Server主程序目录。
(此操作非必须)为方便运行命令,也可以把/opt/clup/bin目录加入PATH环境变量中,如在.bash_profile文件中添加:
PATH=$PATH:/opt/clup/bin
export PATH
安装csumdbX.Y.Z.el8.x86_64.bin
:
bash csumdb1.1.2.el8.x86_64.bin
此安装程序会创建名为csumdb的用户和组,其执行的命令如下:
groupadd -g 570 csumdb
useradd -u 570 -g 570 -d /home/csumdb -m -s /bin/bash csumdb
同时会创建一个目录/home/csumdb
,目录中包含一个独立的PostgreSQL程序(pgsql-12)以及一个独立可以马上启动的一个数据库实例(pgdata)。
这个csumdb是保存我们CLup程序的配置的一个元数据库,通常启动CLup主程序时,会自动启动这个数据库。我们也可以手动启动这个数据库:
su - csumdb
pg_ctl start
运行psql
登陆此数据库后会看到如下用户:
csumdb=> \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
csuapp | | {}
csumdb | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
有如下数据库(其中openclup是开源版本所使用的数据库,这是一个空库,企业版用户可以将其删除):
csumdb=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+--------+----------+-------------+-------------+-------------------
csumdb | csuapp | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
openclup | 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
(5 rows)
CLup Server第一次启动时会自动在此数据库建立相应的表和一些存储过程。
2. CLup Server的配置
CLup Server的配置文件为/opt/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,10.197.160.6
# ++++++++++++++++++++++++++++++++ 容灾三节点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监听端口
http_port = 8090
# 前端session的过期时间,超时需要重新登录
session_expired_secs = 1800
# 如果处于安全考虑,禁止使用webterm,可以把这个参数设置为1
disable_webterm = 0
# ++++++++++++++++++++++++++++++++ clup数据库连接 ++++++++++++++++++++++++++++++++
# 数据库连接配置
db_host = 127.0.0.1
db_port = 3500
db_user = csuapp
db_pass = csuMgr232
db_name = csumdb
# psql_cmd的路径:
psql_cmd=/home/csumdb/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
# ++++++++++++++++++++++++++++++++ esdisk ++++++++++++++++++++++++++++++++
esdisk_enable = 0
# ++++++++++++++++++++++++++++++++ cgroup ++++++++++++++++++++++++++++++++
cgroup_enable = 0
# +++++++++++++++++++++++++++++++ cinspect ++++++++++++++++++++++++++++++++
cinspect_enable = 0
# 如果此参数为0,则界面上禁止添加自定义软件包,同时对于已经有的自定义软件包,也不能修改其安装命令
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服务模块注册为服务:
/opt/clup/bin/clupserver reg_service
执行的过程如下:
[root@CLup-Server01 bin]# /opt/clup/bin/clupserver reg_service
register service clup sucessfully.
通常是在安装程序出错的时候,才需要手工执行此命令。
4. 启动服务
后续在维护过程中,如果CLup主程序停运行了,我们可以通过下面的命令启动CLup主程序:
systemctl start clup
注意
此命令只支持注册成systemd类型的系统服务。
此时查看程序状态
[root@CLup-Server01 ~]# systemctl status clup
● clup.service - clup
Loaded: loaded (/etc/systemd/system/clup.service; enabled; vendor preset: disabled)
Drop-In: /run/systemd/system/clup.service.d
└─zzz-lxc-service.conf
Active: active (running) since Thu 2024-08-22 02:41:52 UTC; 3s ago
Process: 2550 ExecStop=/opt/clup/bin/clupserver stop (code=exited, status=0/SUCCESS)
Process: 2605 ExecStart=/opt/clup/bin/clupserver start (code=exited, status=0/SUCCESS)
Process: 2603 ExecStartPre=/opt/clup/bin/clupserver stop (code=exited, status=0/SUCCESS)
Main PID: 2607 (clupserver)
Tasks: 20 (limit: 182296)
Memory: 42.8M
CGroup: /system.slice/clup.service
├─2607 /opt/clup/bin/clupserver start
└─2608 /opt/clup/bin/clupserver start
Aug 22 02:41:51 CLup-Server01 systemd[1]: Starting clup...
Aug 22 02:41:52 CLup-Server01 clupserver[2603]: Wait 1 seconds for program stopped...
Aug 22 02:41:52 CLup-Server01 clupserver[2603]: clup force stopped
Aug 22 02:41:52 CLup-Server01 clupserver[2605]: 2024-08-22 02:41:52,714 INFO ========== CLup starting ==========
Aug 22 02:41:52 CLup-Server01 systemd[1]: Started clup.
如果无法注册成systemd类型的系统服务,我们可以手工启动CLup的主程序,如下所示:
/opt/clup/bin/clupserver start
实际的运行效果为:
[root@CLup-Server01 ~]# /opt/clup/bin/clupserver start
2024-08-22 02:39:22,910 INFO ========== CLup starting ==========
运行上面的命令之后,CLup主程序会在后台运行,可以用/opt/clup/bin/clupserver status
查看主程序的状态,如下所示:
[root@CLup-Server01 ~]# /opt/clup/bin/clupserver status
clup(pid=2467) is running.
5. 查看日志
如果没有成功启动,可以查看日志文件/opt/clup/logs/clupserver.log
中查看没有启动的原因。
6. 停止服务
使用systemctl
命令
systemctl stop clup
没有注册系统服务,则需要使用下面的命令
/opt/clup/bin/clupserver stop