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。
除授权转载并标明出处外,均为“非法”抄袭
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
管理员密码为admin,初始密码为admin。
第一次登录需要修改密码。设置密码为YasMan#41
进入主页。
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 添加主机
3.2 主机监控
3.3 托管YashanDB
这里托管一套YashanDB,即本机部署的单实例数据库。
3.4 数据库监控与简单管理
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作为国产数据库的后起之秀,整体的安装使用体验还是不错的,但仍然有需要改进的地方。
老规矩,知道写了些啥。