CLup产品文档

往前插入
往后插入
删除

安装clup-server

1. 使用.tar.gz的安装包进行安装

在CLUP管理模块的机器上需要安装clupX.Y.Z.tar.xz和clupmdbX.Y.Z.el7.x86_64.tar.xz。1、拷贝CLUP软件包

到/opt目录下并解压,会产生以下目录:

  • /opt/clup
  • /opt/clupX.Y.Z

其中/opt/clup 为链接文件指向“/opt/clupX.Y.Z”目录,为方便运行命令,可以把/opt/clup/bin目录加入PATH环境变量中,如在.bash_profile文件中添加:

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

安装clupmdbX.Y.Z.el7.x86_64.tar.xz之前,需要建一个用户和组,如下所示:

  1. groupadd -g 570 clupmdb
  2. useradd -u 570 -g 570 -d /opt/clupmdb -m -s /bin/bash clupmdb

拷贝clupmdbX.Y.Z.el7.x86_64.tar.xz软件包到/opt目录下并解压,会产生以下目录:

  • /opt/clupmdb

/opt/clupmdb目录包含一个独立的postgresqls程序以及一个独立可以马上启动的一个数据库实例。

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

我们也可以手动启动这个数据库:

  1. su - clupmdb
  2. pg_ctl start

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

  1. CLUP=# \du
  2. List of roles Role name | Attributes | Member of
  3. -----------+------------------------------------------------------------+-----------
  4. clupapp | | {}
  5. clupmdb | Superuser, Create role, Create DB, Replication, Bypass RLS | {}如下数据库:
  6. psql -l -d template1
  7. List of databases
  8. Name | Owner | Encoding | Collate | Ctype | Access privileges
  9. -----------+---------+----------+-------------+-------------+---------------------
  10. CLUP | clupapp | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
  11. postgres | clupmdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
  12. template0 | clupmdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/clupmdb +
  13. | | | | | clupmdb=CTc/clupmdb
  14. template1 | clupmdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/clupmdb +
  15. | | | | | clupmdb=CTc/clupmdb
  16. (4 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=192.168.56.0
  5. network=10.197.160.0
  6. # 设置用于检查是否是自己变成了孤岛的检查IP,可以为逗号分隔的多个ip,如果这些IP能ping通,说明不是自己不是孤岛,注意最多设置三个IP,多余的被忽略
  7. #probe_island_ip=192.168.56.1,192.168.0.1
  8. probe_island_ip=10.197.160.1
  9. # ++++++++++++++++++++++++++++++++ 容灾三节点CLup配置 ++++++++++++++++++++++++++++++++
  10. # 如果在3台机器上安装CLup做集群,则需要做下面的设置
  11. # clup_host_list = 192.168.56.50,192.168.56.51,192.168.56.52
  12. # ++++++++++++++++++++++++++++++++ RPC连接 ++++++++++++++++++++++++++++++++
  13. #agent与服务器之间通信的密码
  14. internal_rpc_pass = clup_pass_pwd
  15. # 如果是集群模式,要求所有的CLup的server_rpc_port都相等
  16. server_rpc_port = 4242
  17. agent_rpc_port = 4243
  18. # websocket的端口
  19. server_ws_port = 4244
  20. agent_ws_port = 4245
  21. agent_ws_token = cdbmgr
  22. # ++++++++++++++++++++++++++++++++ WEB页面 ++++++++++++++++++++++++++++++++
  23. # 当把http_auth设置为0时,用admin用户登录,输入任何密码都可以登录,当忘记密码时的就可以使用解决方法
  24. http_auth = 1
  25. # WEB界面无操作时的过期时间
  26. # session_expired_secs = 600
  27. # 前端管理界面web监听端口
  28. #http_port = 8080
  29. http_port = 8090
  30. # 如果处于安全考虑,禁止使用webterm,可以把这个参数设置为1
  31. disable_webterm = 0
  32. # ++++++++++++++++++++++++++++++++ clup数据库连接 ++++++++++++++++++++++++++++++++
  33. # 数据库连接配置
  34. db_host = 127.0.0.1
  35. db_port = 3500
  36. db_user = clupapp
  37. db_pass = clupMgr232
  38. db_name = clup
  39. # 当配置了强制reset机器的命令时,执行完此命令之后,是否检查命令的返回值,如果设置为1,则不管命令执行成功还是失败,都认为成功继续进行HA切换。
  40. # 如果设置为0,则如果reset命令执行失败,则HA切换失败
  41. ignore_reset_cmd_return_code = 0
  42. # psql_cmd的路径:
  43. psql_cmd=/opt/clupmdb/pgsql-12/bin/psql
  44. # ++++++++++++++++++++++++++++++++ 性能采集数据库连接 ++++++++++++++++++++++++++++++++
  45. #collect_db_host = 127.0.0.1
  46. #collect_db_port = 3600
  47. #collect_db_user = clupapp
  48. #collect_db_pass = clupMgr232
  49. #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。

3. 注册服务

接下来就可以启动CLUP主程序了,通常我们把CLUP注册成系统服务,以便于开机之后,就能自启动,注册方法为执行/opt/clup/bin/clupserver reg_service:

  1. [root@CLUP0 ~]# /opt/clup/bin/clupserver reg_service
  2. 2022-05-11 07:42:35,843 INFO CLUP v2.0.0 Copyright (c) 2018 HangZhou CSTech.Ltd. All rights reserved.
  3. 2022-05-11 07:42:35,843 INFO Start loading configuration ...
  4. 2022-05-11 07:42:35,843 INFO Complete configuration loading.
  5. register service sucessfully.

4. 启动服务

注册成功后,我们就可以通过下面的命令启动CLUP主程序了:

  1. systemctl start clup

目前只支持注册成systemd类型的的系统服务,Redhat7.X和
CentOS7.X都支持systemd的服务,而Redhat6.X和CentOS6.X不支持systemd的系统服务。

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

  1. /opt/clup/bin/clupserver start

实际的运行效果为:

  1. [root@CLUP0 ~]# /opt/clup/bin/clupserver start
  2. 2022-05-11 01:42:26,564 INFO CLUP v3.0.0 Copyright (c) 2018 HangZhou CSTech.Ltd. All rights reserved.
  3. 2022-05-11 01:42:26,565 INFO Start loading configuration ...
  4. 2022-05-11 01:42:26,566 INFO Complete configuration loading.

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

  1. [root@CLUP0 ~]# /opt/clup/bin/clupserver status
  2. 2022-05-11 01:43:09,653 INFO CLUP v3.0.0 Copyright (c) 2018 HangZhou CSTech.Ltd. All rights reserved.
  3. 2022-05-11 01:43:09,654 INFO Start loading configuration ...
  4. 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主程序:

  1. [root@CLUP0 ~]# /opt/clup/bin/clupserver stop
  2. 2022-05-11 02:04:52,471 INFO CLUP v2.0.0 Copyright (c) 2018 HangZhou CSTech.Ltd. All rights reserved.
  3. 2022-05-11 02:04:52,471 INFO Start loading configuration ...
  4. 2022-05-11 02:04:52,471 INFO Complete configuration loading.
  5. Wait 4 second for program stopped...
  6. Wait 4 second for program stopped...
  7. Program stopped.