暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【YashanDB认证】安装部署个人版初体验

Kubee 2024-07-11
300

部署方式

image-20240711152116236

集中式主备部署

单机部署一般会在两台服务器上分别运行主实例和备实例,通过主备复制实现主库的修改同步到备库

分布式部署

多活共享集群部署

共享集群在硬件层面需要依赖共享存储,所有实例均可读写,实例之间通过全局缓存实现数据交换。

环境部署

环境说明

配置项 配置值 描述说明
IP 192.168.10.181
主机名称 progs
操作系统版本 rhel 7.6
YashanDB软件版本 23.2.1

默认端口

部署形态 数据库监听 yasom yasagent 服务器间通信
单机部署 1688 1675 1676 1689
分布式 MN:1678 CN:1688 DN:1698 1675 1676 MN:1679、1680 CN:1689、1690 DN:1699、1700
共享集群 1688 1675 1676 1689、1670

目录划分

所有YashanDB的实例节点都必须规划YASDB_HOMEYASDB_HOME两个目录

  • HOME目录:YashanDB的产品目录,包含YashanDB所提供的命令、数据库运行所需的库及各关键组件。由--install-path选项指定
    • 运行日志目录:默认为HOME目录/yashandb/版本号/log
  • DATA目录:YashanDB的数据目录,包含数据库的各类系统数据文件、部分日志文件和配置文件。由--data-path选项指定

系统环境配置

防火墙

## 关闭防火墙 systemctl stop firewalld ## 关闭开机自启 systemctl disable firewalld
端口白名单
# 查看防火墙端口开放情况 firewall-cmd --zone=public --list-ports # 添加端口到防火墙 ## 以1688为例演示如何添加端口到防火墙中 firewall-cmd --zone=public --add-port=1688/tcp --permanent firewall-cmd --reload firewall-cmd --zone=public --query-port=1688/tcp # 从白名单中删除已添加的端口 firewall-cmd --zone=public --remove-port=1688/tcp --permanent

清理共享内存(共享集群部署)

# 如部署YashanDB共享集群,需在所有服务器上清理共享内存。 ipcrm -a

创建单独用户

useradd -d /home/yashan -m yashan echo "yashan"|passwd --stdin yashan ~]# id yashan uid=54334(yashan) gid=54334(yashan) groups=54334(yashan)
配置sudo
chmod +w /etc/sudoers vi /etc/sudoers yashan ALL=(ALL)NOPASSWD:ALL chmod -w /etc/sudoers
添加安装用户加入YASDBA用户组
groupadd YASDBA usermod -a -G YASDBA yashan

创建软件目录

# 软件home目录 mkdir -p /ups/app/yashandb chown -R yashan:yashan /ups/app/yashandb # 数据目录 mkdir -p /ups/data/yashandb chown -R yashan:yashan /ups/data/yashandb # 创建目录install mkdir -p /home/yashan/install

资源限制

资源项 描述 推荐值
open files 文件句柄 1048576
max user processes 最大用户线程数 1048576
max memory size 最大内存限制 unlimited
stack size 堆栈大小 8192
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

数据库部署

解压软件包

su - yashan cd /ups/app/yashandb/install tar -zxf yashandb-personal-23.2.1.100-linux-x86_64.tar.gz

image-20240711100012804

创建安装参数文件

单机单节点
./bin/yasboot package se gen --cluster yashandb -u yashan -p yashan --ip 192.168.10.181 --port 22 --install-path /ups/app/yashandb --data-path /ups/data/yashandb --begin-port 1688

image-20240711100744102

当前目录下生成了yashandb.tomlhosts.toml 两个配置文件。

  • yashandb.toml:数据库集群的配置文件。
  • hosts.toml:服务器的配置文件。
单机主备
./bin/yasboot package se gen --cluster yashandb -u yashan -p yashan --ip 192.168.10.181,192.168.10.182 --port 22 --install-path /ups/app/yashandb --data-path /ups/data/yashandb --begin-port 1688 --node 2
参数说明
参数 说明
–cluster 指定数据库集群名称,该名称也将作为初始数据库的名称(database name)
–port 指定SSH服务端口
–install-path 指定数据库安装路径
–data-path 指定数据存放目录
–begin-port 指定数据库监听端口
Usages: yasboot package se gen [<flags>] gen standalone type yasboot deploy config Flags: -h,--help Show detailed help information. -c,--cluster yasdb cluster name -u,--username host ssh username --groupname host ssh groupname -p,--password host ssh password -N,--no-password ssh passwordless --ip host ssh ipaddr --port host ssh port -i,--install-path package install path -su,--sudo-username host ssh sudo username -sp,--sudo-password host ssh sudo password --no-add-yasdba no add user to YASDBA group(default: false) --boot-start-monit boot start monit(append start command to /etc/rc.local), need sudo privilege(default: false) --host host expression -L,--local deploy in local host and no need install pkg(default: false) --ipv6 locally deploy with IPv6, default Ipv4.(default: false) --listen-cidr listen cidr address, such as '0.0.0.0/0' --begin-port begin port(default: 1688) --data-path yasdb node data path -f,--force do not check host info(default: false) -o,--output output path --node standalone db number(default: 1) --replica-cidr replica cidr address, such as '0.0.0.0/0' --create-cgroup create yasdb resource cgroup path(default: false) --cgroup-path cgroup path(default: /sys/fs/cgroup) --recommend-param enable recommend param --memory-limit host memory use limit, unit is percentage(default: 80) --table-type main table type, default HEAP in SE, LSC in DE

执行安装YashanDB数据库软件命令

./bin/yasboot package install -t hosts.toml -i yashandb-personal-23.2.1.100-linux-x86_64.tar.gz

image-20240711101424063

部署YashanDB数据库

./bin/yasboot cluster deploy --child -t yashandb.toml

image-20240711101652897

配置环境变量
cat /ups/app/yashandb/yashandb/23.2.1.100/conf/yashandb.bashrc >> ~/.bashrc source ~/.bashrc

image-20240711102400228

设置YashanDB数据库中sys用户密码(Yashan#1356)

YashanDB不提供系统初始口令

方案1

通过yasboot工具设置数据库sys用户的密码

yasboot cluster password set -n Yashan#1356 -c yashandb
方案2
cd $YASDB_DATA/instance mv yasdb.pwd yasdb1.pwd yaspwd file=yasdb.pwd

image-20240711102801578

查看YashanDB数据库状态
yasboot cluster status -c yashandb

image-20240711160046807

登陆连接数据库

yasql sys/Yashan#1356 yasboot sql -d sys/"Yashan#1356"@192.168.10.181:1688

image-20240711103321295

小结

今天尝试安装yashandb个人版,整体过程参照附件中的官方文档,新手也可以按照步骤一步步往下操作都能成功,这点还是挺好的。一开始的时候,不熟悉数据库架构,就会可能产生以下一些困惑的地方:

  • 在Liux环境中,既然使用tar包解压后,仍然需要再次安装一次软件,初看上面2个目录生成的文件目录结构一样,让人感觉重复的操作有点费劲。浪费磁盘空间,或者说文件散落到处存放。
  • YASDB_HOME目录下还存yashandb-personal-23.2.1.100-linux-x86_64.tar.gz包,不如有什么用还留着。
  • 生成安装参数文件的命令有点长,既然个人版只有单机,也就没必要配置OS用户, ssh密码用不上的参数项。

等到,继续深入了解熟悉后,特别是考虑到多节点部署,shared-nothing的思想后,上面的问题都会一一地不攻自破。总体还是需要一步步学习思考

今天搭建好了学习测试环境,后续的更多的实践练习提供了便利。等会先创建个快照,不想再安装了。如果有docker环境就不怕环境破环后重装搭建环境。

附录

YCA官方报名链接:https://www.yashandb.com/YCA_courses

参考文档

https://doc.yashandb.com/yashandb/23.2/zh/%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B/%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2/YashanDB%E4%BA%A7%E5%93%81%E5%AE%89%E8%A3%85/YashanDB%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%AE%89%E8%A3%85.html

最后修改时间:2024-07-11 16:12:19
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论