作者:胖头鱼的鱼缸(尹海文) 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社区联合发起人 圈内拥有“总监”称号,非著 名社恐(社交恐怖分子) 公众号:胖头鱼的鱼缸 CSDN:胖头鱼的鱼缸(尹海文) 墨天轮:胖头鱼的鱼缸 ITPUB:yhw1809。 除授权转载并标明出处外,均为“非法”抄袭
崖山数据库(YashanDB)之前也介绍过,其提供的YAC集群集群与Oracle RAC集群十分相似。
相关信息可以查看:
https://doc.yashandb.com/yashandb/23.2/zh/%E6%A6%82%E5%BF%B5%E6%89%8B%E5%86%8C/%E5%85%B1%E4%BA%AB%E9%9B%86%E7%BE%A4%E5%9F%BA%E7%A1%80%E8%AE%BE%E6%96%BD/00%E5%85%B1%E4%BA%AB%E9%9B%86%E7%BE%A4%E5%9F%BA%E7%A1%80%E8%AE%BE%E6%96%BD.html
本期就使用YashanDB 23.2版本部署YAC集群。
YashanDB版本:yashandb-23.2.7.104-linux-x86_64(该版本新于官网公开版本)
主机信息:

操作系统基础分区如下:

共享磁盘信息:

操作系统安装过程略过,主机名及网络配置已在操作系统安装过程中配置完成。
systemctl stop firewalld.service systemctl disable firewalld.service
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config setenforce 0
cat >> /etc/hosts <<EOF 10.10.10.31 ydb01 10.10.10.32 ydb02 20.20.20.31 ydb01-priv 20.20.20.32 ydb02-priv 30.30.30.31 ydb01-scan 30.30.30.32 ydb02-scan 30.30.30.30 ydb-storage EOF
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
#挂载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
检查透明大页:
cat /sys/kernel/mm/transparent_hugepage/enabled
RHEL 9.5默认开启了透明大页,通过下面方式关闭
#如果上面返回结果不是never则需要进行以下配置 #sed -i 's/quiet/quiet transparent_hugepage=never/' /etc/default/grub #grub2-mkconfig -o /boot/efi/EFI/redhat/shimx64.efi #grub2-mkconfig -o /boot/grub2/grub.cfg #这种方式似乎在EFI环境下不生效 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 EOFchmod +x /etc/rc.d/rc.local reboot
生产环境中可以根据实际配置需求开启标准大页,这里不做展示了。
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
iscsiadm -m discovery -t st -p ydb-storage
iscsiadm -m node -L all
cat >> /etc/udev/rules.d/99-yacdisks.rules <<EOF
KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="14f504e46494c45524a565a47464a2d656654482d45346472",SYMLINK+="mapper/ycr01",OWNER="yashan",GROUP="yasdba",MODE="0666"
KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="14f504e46494c45526f576d4b76662d534972582d574c3553",SYMLINK+="mapper/vote01",OWNER="yashan",GROUP="yasdba",MODE="0666"
KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="14f504e46494c45525852615078562d316554682d4250734d",SYMLINK+="mapper/data01",OWNER="yashan",GROUP="yasdba",MODE="0666"
EOF
udevadm trigger --action=change

ipcrm -a
su - yashan mkdir ~/install
这里需要将以下三个文件上传至/home/yashan/install目录中:
yashandb-23.2.7.104-linux-x86_64.tar.gz
yashandb-deps-23.2.7.104-linux-x86_64.tar.gz
yashandb-plugins-all-23.2.7.104-linux-x86_64.tar.gz
cd ~/install tar -xvf yashandb-23.2.7.104-linux-x86_64.tar.gz
./bin/yasom --web --listen 10.10.10.31:9001
通过下面地址访问安装页面:
10.10.10.31:9001
指定软件包路径,并输入主机对应信息:

添加主机:

调整主机对应信息并测试连接:

数据库sudo相关配置:

节点规模配置:

确认集群配置信息(建议勾选“强制安装YFS”):

确认建库参数:

确认配置参数:

部署:
(这里在集群内部配置的显示有一点小问题,但实际配置无问题)

完成部署:

cd /data/yashan/yasdb_home/yashandb/23.2.7.104/conf/ cat yashandb.bashrc >> ~/.bashrc #ydb01执行 echo 'export YASCS_HOME=/data/yashan/yasdb_data/ycs/ce-1-1' >> ~/.bashrc #ydb02执行 echo 'export YASCS_HOME=/data/yashan/yasdb_data/ycs/ce-1-2' >> ~/.bashrc

在yasom进程所在服务器(即10.10.10.31服务器)中执行如下命令,启动守护进程:
cd /home/yashan/install ./bin/yasboot monit start --cluster yashandb

配置开机启动:
#两个节点都需要执行 cat >> /etc/rc.d/rc.local <<EOF su yashan -c '/usr/bin/monit -c /data/yashan/yasdb_home/yashandb/23.2.7.104/ext/monit/monitrc' EOF
yasboot cluster password set -n YasDB#123 -c yashandb

yasql sys/YasDB#123@10.10.10.31:1688

yasboot cluster status -c yashandb -d

#停止集群yasboot cluster stop -c yashandb -d#查看集群状态yasboot cluster status -c yashandb -d#启动集群yasboot cluster start -c yashandb -d

崖山还提供一个可以windows上运行的图形化开发者中心:

新增数据源:

查看数据库信息:

SQL查询:
(可自动补全)

本期在RHEL9.5上成功安装了YashanDB 23.2.7 YAC集群,并进行了相关配置及连接使用,同时通过YashanDB Developer Center连接到数据库进行了简单操作。
老规矩,知道写了些啥。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31466763/viewspace-3061459/ ,如需转载,请注明出处,否则将追究法律责任。