胖头鱼的鱼缸

YCM部署与一些对YashanDB的吐槽

数据库管理-第280期 YCM部署与一些对YashanDB的吐槽(20250108)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE Partner

10年数据库行业经验
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP,ITPUB认证专家,数盟会长老会成员,OCM讲师
PolarDB开源社区、青学会MOP社区技术顾问
HaloDB外聘技术顾问
OceanBase观察团成员
IF CLUB社区联合发起人
圈内拥有“总监”称号,非著名社恐(社交恐怖分子)

公众号:胖头鱼的鱼缸
CSDN:胖头鱼的鱼缸(尹海文)
墨天轮:胖头鱼的鱼缸
ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

Image
YashanDB Cloud Manager(简称YCM)崖山数据库云管平台是一款针对YashanDB的云管理平台,该平台提供了对YashanDB及相关资源的全生命周期管理。提供管理和运维YashanDB,并提供预警和健康检测等监控告警功能,还提供了用户创建、权限授予、资源隔离等系统管理功能。
核心使用场景:包括实例纳管、资源、性能、容量、配置等管理服务,日常监控巡检、故障分析的智能服务,以及备份恢复、高可用等稳定性和安全方面的服务。通过化被动为主动的运维模式,有效地提升数据库运维水平。

1 操作系统配置

这里依然使用RHEL 9.5来做安装演示,操作系统安装过程略。
使用4C16G虚拟机,100G磁盘,主机名为ycm,IP地址为10.10.10.41。

1.1 关闭防火墙

systemctl stop firewalld.service 
systemctl disable firewalld.service

1.2 关闭SELinux

sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
setenforce 0

1.3 配置hosts

cat >> /etc/hosts <<EOF
10.10.10.41 ycm
EOF

1.4 安装monit

#挂载ISO
mkdir /iso
mount -r /dev/sr0 /iso
#配置dnf源
cat >> /etc/yum.repos.d/redhat.repo <<EOF
[BaseOS]
name=BaseOS
baseurl=file:///iso/BaseOS
enabled=1
gpgcheck=0

[AppStream]
name=AppStream
baseurl=file:///iso/AppStream
enabled=1
gpgcheck=0

[epel]
name=epel
baseurl=https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/
enabled=1
gpgcheck=0
EOF


dnf -y install monit
dnf -y install libnsl

1.5 新建yasmanager用户并配置

useradd -d /home/yasmanager -m yasmanager
echo"yashan" | passwd --stdin yasmanager

cat >> /etc/sudoers <<EOF
yasmanager  ALL=(ALL)NOPASSWD:ALL
EOF


su - yasmanager
echo"umask 022" >> ~/.bashrc

1.6 创建安装目录

mkdir /ycm
chown yasmanager:yasmanager -R /ycm

1.7 YashanDB安装相关配置

这里需要部署一个单实例YashanDB,可参考官方文档或277期

cat >> /etc/sysctl.conf <<EOF
#关闭系统交换分区
vm.swappiness=0
#调整系统 VMA 上限,建议生产环境不低于 2000000
vm.max_map_count=2000000
#配置本地可连接端口,下限值建议大于30000
net.ipv4.ip_local_port_range=32768 60999
EOF


sysctl -p

cat >> /etc/security/limits.conf <<EOF
* soft nofile 1048576
* hard nofile 1048576
* soft nproc 1048576
* hard nproc 1048576
* soft rss unlimited
* hard rss unlimited
* soft stack 8192
* hard stack 8192
EOF


cat >> /etc/rc.d/rc.local <<EOF
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
EOF


chmod +x /etc/rc.d/rc.local

useradd -d /home/yashan -m yashan
groupadd YASDBA
usermod -a -G YASDBA yashan
echo"yashan" | passwd --stdin yashan

cat >> /etc/sudoers <<EOF
yashan  ALL=(ALL)NOPASSWD:ALL
EOF


mkdir -p /data/yashan
chown yashan:YASDBA -R /data/
chmod 777 -R /data/yashan

2 部署YCM

YCM可以使sqlite(>3.7.17)或YashanDB(>22.2)作为数据存储,这里使用YashanDB单实例数据库省略安装过程。

注:使用YashanDB仅能通过命令行安装YCM,sqlite则可以使用图形化安装。

2.1 YashanDB创建用户

createuser yasman identifiedby yasman;
grant dba to yasman;

2.2 上传安装包并解压

su - yasmanager
mkdir ~/install
mv yashandb-cloud-manager-23.3.2.5-linux-x86_64.tar.gz ~/install
cd ~/install/
tar -xvf yashandb-cloud-manager-23.3.2.5-linux-x86_64.tar.gz

2.3 修改配置文件

cd ~/install/ycm
vim ./etc/deploy.yml
#调整以下内容:
server:
...
    install_path: /ycm
    system_user: yasmanager
...
    dbconfig:
        driver: "yashandb"
        url: "10.10.10.41:1688"
...
client:
    install_path: /ycm
    system_user: yasmanager
    system_group: yasmanager
...

2.4 安装YCM

sudo ./ycm-init deploy --conf ./etc/deploy.yml --username yasman --password yasman

2.5 访问YCM

使用下面地址访问:

10.10.10.41:9060

Image
管理员密码为admin,初始密码为admin。

Image
第一次登录需要修改密码。设置密码为YasMan#41

Image
进入主页。

2.6 配置开机启动

cat >> /etc/rc.d/rc.local <<EOF
su yasmanager -c '/ycm/ycm/monit/bin/monit -c /ycm/ycm/monit/data/monitrc'
EOF

3 简单使用

3.1 添加主机

Image
Image
Image
Image
Image
Image

3.2 主机监控

Image
Image

3.3 托管YashanDB

这里托管一套YashanDB,即本机部署的单实例数据库。
Image
Image
Image
Image

3.4 数据库监控与简单管理

Image
Image
Image
Image
Image
Image
Image
Image
Image

4 吐槽与表扬

在安装过YashanDB的单实例、YAC集群,YCM之后,对YashanDB的安装还是有一些想吐槽的地方,当然也有可圈可点的地方。

4.1 吐槽

  • 依赖包:在启动monit的时候会报错需要libnsl,但是在数据库安装文档中并没有libnsl相关说明;而在YCM安装过程中,monit整合在了YCM中,却有libnsl的安装要求。希望统一数据库和YCM的相关安装流程。
  • 网络界面:对于YAC集群,也是和Oracle RAC集群一样,存在公有网络和私有网络的,但YAC的私有网络配置没有相对明确或者说是专门的配置页面,仅在参数配置中配置。
  • 显示BUG:在YAC配置完私网参数后,显示会有一些问题,但不影响实际配置。
  • 访问YAC:YAC并没有类似于Oracle RAC的SACNIP,数据库的高可用访问是通过JDBC配置实现的,在增减集群节点后对业务还是存在一定修改侵入。
  • YCM安装:希望基于YashanDB的YCM安装也可以图形化。
  • YCM监控:在添加数据库监控时,需要注意添加主机的时候管理平台系统用户需要配置为运行YashanDB的用户(即yashan/YASDBA),这点应当在文档中虽已明确,但是默认会填充yasmanager/yasmanager。

4.2 表扬

  • 依赖:YashanDB将需要的依赖库和命令打包到一个deps包中,并在安装过程中直接调用,省去了很多麻烦。
  • 界面:YashanDB(包括YCM)的WEB界面都是比较精美的且响应迅速。

总结

YashanDB作为国产数据库的后起之秀,整体的安装使用体验还是不错的,但仍然有需要改进的地方。
老规矩,知道写了些啥。