YCA学习 - YCM安装部署
1. 安装部署
YCM安装部署基本操作顺序:
2. 安装部署
YCM安装部署基本操作顺序:
2.1 环境准备
2.1.1 服务器准备
2.1.1.1 操作系统要求
| 服务器类型 | 操作系统 | 支持版本 |
|---|---|---|
| x86_64 | CentOS | 7.9.2009及以上 |
| x86_64 | Ubuntu | 20.04.1及以上 |
| ARM aarch64 | 中标麒麟 | Kylin Linux Advanced Server V10 (Lance) |
2.1.1.2 服务器配置
- 管理平台可以和托管资源共用服务器,此时需考虑服务器资源分配
- 平台独立部署时,根据所管理的数据库数量不同,需提供不同规格的最小配置服务器
| 托管数据库规模 | 服务器最低配置 |
|---|---|
| 1-2实例 | 2核,4G内存,30G硬盘 |
| 3-10实例 | 4核,8G内存,50G硬盘 |
| 11-60实例 | 8核,16G内存,100G硬盘 |
| 60实例以上 | 16核,32G内存,500G硬盘 |
任何部署形态的YashanDB,该数据库下任意类型的数据库节点都被视为实例,需要纳入统计。最低硬盘配置不包含存放数据库备份的空间;如需在管理平台主机上存放备份,请酌情提高硬盘配置。
2.1.1.3 开放端口
默认使用以下端口,也支持在部署时修改etc/deploy.yml更改端口:
| 服务器 | 默认端口 |
|---|---|
| 管理平台服务器 | 9060,9061,9062,9063,9064 |
| 数据库服务器或其他需要被平台托管的服务器 | 9070和9071 |
开放端口的方式有两种:
-
关闭和禁用防火墙:
// 查看防火墙状态 systemctl status firewalld // 或者: firewall-cmd --state // 关闭防火墙 systemctl stop firewalld // 关闭开机自启 systemctl disable firewalld -
防火墙设置端口白名单:
// 在不关闭防火墙的情况下,开放端口 9060至9064、9070、9071 // 查看白名单(端口开放情况) firewall-cmd --zone=public --list-ports // 添加开放端口(--permanent 永久生效,没有此参数重启后失效) firewall-cmd --zone=public --add-port=9060/tcp --permanent firewall-cmd --zone=public --add-port=9061/tcp --permanent firewall-cmd --zone=public --add-port=9062/tcp --permanent firewall-cmd --zone=public --add-port=9063/tcp --permanent firewall-cmd --zone=public --add-port=9064/tcp --permanent firewall-cmd --zone=public --add-port=9070/tcp --permanent firewall-cmd --zone=public --add-port=9071/tcp --permanent // 开放端口后要重启防火墙 systemctl stop firewalld systemctl start firewalld // 如需从白名单中删除已添加的端口,使用如下命令 firewall-cmd --zone=public --remove-port=9071/tcp --permanent
2.1.2 用户准备
推荐以普通用户身份部署YCM,避免冲突。以yasmanager用户为例,当用户创建和授权后,后续所有安装步骤均在该用户下操作。
// 新建yasmanager组、用户: groupadd -g 1788 yasmanager useradd -u 1788 -g yasmanager -d /home/yasmanager -s /usr/bin/bash -m yasmanager echo "yasmanager:yasmanager_secret" |chpasswd // 设置用户sudo权限: echo "yasmanager ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers // 检查umask权限: umask // 若权限掩码不为022或002,在~/.bashrc中增加配置: echo "umask 022" >> ~/.bashrc
2.1.3 应用环境准备
2.1.3.1 libnsl环境准备
// 查看是否存在libnsl: ldconfig -p | grep libnsl // 若不存在,可使用以下方式安装: yum install -y libnsl // 或 apt update && apt-get -y install rpm && rpm -ivh libnsl-2.28-164.el8.aarch64.rpm --nodeps // 或者Debian系列直接: apt install -y libnsl2 libnsl-dev
2.1.3.2 数据库环境准备(可选)
YCM需要一个后端数据库用来存储平台元数据等信息。后端数据库可选sqlite3或YashanDB,若选择YashanDB,需提前部署好YashanDB的单机环境。
-
sqlite3要求:
sqlite3(默认) 说明 版本要求 3.7.17及之后版本 -
YashanDB要求:
YashanDB 说明 版本要求 22.2及之后版本 部署形态 单机数据库 数据库用户 参考如下命令准备 创建yasman用户并赋予dba权限:
CREATE USER yasman; ALTER USER yasman IDENTIFIED BY Yasman_5ecret; GRANT DBA TO yasman;
2.1.3.3 开机自启环境准备
大部分Linux都支持通过rc.local文件来设置需要开机自启动的服务和配置。但是,当前部分操作系统版本中(例如Ubuntu 18.04及更高版本),rc.local文件默认没有启用。可以通过以下操作来启用:
// 创建或编辑/etc/rc.local文件:
cat << EOF > /etc/rc.local
#!/bin/bash
# Example of rc.local file.
exit 0
EOF
// 确保rc.local有可执行权限:
sudo chmod +x /etc/rc.local
// 开启rc-local服务:
sudo systemctl start rc-local
sudo systemctl enable rc-local
管理平台在安装部署过程中会自动将自启程序写入/etc/rc.local,没有该文件或无可执行权限不影响部署,但管理平台将无法开机自启。
在管理平台部署成功后也可以手动添加,将下列启动程序命令添加到自启配置文件中:
// su {安装用户} -c '{安装路径}/ycm/monit/bin/monit -c {安装路径}/ycm/monit/data/monitrc' su yasmanager -c '/opt/ycm/ycm/monit/bin/monit -c /opt/ycm/ycm/monit/data/monitrc'
若开机自启动无法生效,
rc-local服务可能受到服务器系统配置或其他开机启动项影响,用户需要根据具体情况进行处理。
2.1.3.4 时区同步设置
在部署管理平台之前需要先设置好服务端的系统时区。
修改时区的正确方法:
- 通过
timedatectl查看当前的系统时区。 - 如果Local Time不是CST的话执行下面指令将时区换为东八区
timedatectl set-timezone Asia/Shanghai。
最简单的方法:
rm -f /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo "export TZ=Asia/Shanghai" >> /etc/profile source /etc/profile
2.1.4 软件包准备
根据实际需求从官方网站获取软件包:
| 软件包名 | 说明 |
|---|---|
| yashandb-cloud-manager-xx.xx-linux-aarch64.tar.gz | 适用于Linux x86_64平台 |
| yashandb-cloud-manager-xx.xx-linux-x86.tar.gz | 适用于Linux arm64平台 |
将软件包上传至yasmanager用户/home/yasmanager路径下:
// 解压: su - yasmanager tar -xzvf yashandb-cloud-manager-23.4.1.3-linux-x86_64.tar.gz cd ycm
2.1.5 客户端浏览器
管理平台部署完成后需要通过浏览器访问和使用,推荐使用以下浏览器:
支持浏览器Google Chrome、Microsoft Edge和Firefox,建议使用当前较新的版本。
| 浏览器 | 支持版本 |
|---|---|
| Google Chrome | 88 及以上版本 |
| Firefox | 78 及以上版本 |
| Microsoft Edge | 88 及以上版本 |
2.2 部署YCM
2.2.1 可视化部署
可视化部署仅支持当后端数据库为sqlite时使用。
2.2.1.1 启动Web服务
普通用户部署必须使用sudo执行启动Web服务的命令:
sudo ./ycm-init web --addr 0.0.0.0:9001
此Web服务实际上为一个部署YCM的部署向导。
2.2.1.2 修改配置
打开浏览器访问IPADDR:9001,并按照需要修改页面的选择项后,然后点击【初始化】。
参数说明:
| 参数 | 说明 |
|---|---|
| 管理平台系统用户名 | 运行管理平台server相关服务的用户,默认值为yashan,改为yasmanager |
| 管理平台服务安装路径 | 管理平台 server 安装路径,默认值为/opt/ycm,酌情修改 |
| 管理平台服务端口 | 默认值为9060 |
| 监控服务端口 | 默认值为9061 |
| LokiHTTP服务端口 | 日志分析http服务端口,默认值为9062 |
| LokiGRPC服务端口 | 日志分析grpc服务端口,默认值为9063 |
| Yasdb采集器端口 | 数据库信息采集端口,默认值为9064 |
| 监控数据采集频率 | 管理平台监控采集频率,取值范围为[1,43200] |
| 监控数据保存时间 | 管理平台监控数据保存天数,取值范围为[1,360] |
| 主机系统操作用户名 | ycm-agent 默认运行用户,默认为yashan,改为yasmanager |
| 管理平台Agent服务端口 | ycm-agent默认端口,默认值为9070 |
| 采集服务端口 | Prometheus exporter默认端口,默认值为9071 |
| 管理平台Agent安装路径 | ycm-agent默认安装路径 |
| 密码 | 超级管理员用户密码默认值均为admin,此处保持默认(首次登陆强制修改) |
| 姓名 | 默认值surperman |
| 邮箱 | 可选 |
| 电话号码 | 可选 |
2.2.1.3 访问管理平台
部署完成即可打开浏览器访问IPADDR:9060,使用管理平台服务。
2.2.2 命令行部署
2.2.2.1 单节点安装部署
-
按需修改配置文件
vi ./etc/deploy.yml配置文件示例如下:
server: install_path: /opt/ycm # 默认安装路径,可修改为自定义路径 system_user: yasmanager # 修改系统用户为安装用户 // 后端数据库为yashandb时,还需修改以下配置项 dbconfig: driver: "yashandb" # 后端为yashanDB时,必须指定为yashandb url: "10.1.1.1:1688,10.1.1.2:1688,10.1.1.3:1688" # 需要包括数据库的所有主备实例及监听端口 libPath: "/home/yasmanager/yashandb-client/lib" # 使用产品内置客户端无需配置,或者配置为自行安装的客户端lib路径 -
部署管理平台
- 若是sqlite作为YCM的后端数据库:
sudo ./ycm-init deploy --conf ./etc/deploy.yml- 若是YashanDB作为YCM的后端数据库:
sudo ./ycm-init deploy --conf ./etc/deploy.yml --username yasman --password Yasman_5ecret -
访问管理平台
部署完成即可打开浏览器访问
IPADDR:9060,使用管理平台服务。




