KylinOS V10系统上安装yashan数据库单机版

一、服务器准备

在这里插入图片描述
这里安装的KylinOS V10桌面版本。

二、依赖项准备

安装桌面版的依赖包都安装好了。
https://doc.yashandb.com/yashandb/23.2/zh/%E5%AE%89%E8%A3%85%E5%92%8C%E5%8D%87%E7%BA%A7/%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2/%E5%AE%89%E8%A3%85%E5%89%8D%E5%87%86%E5%A4%87/%E4%BE%9D%E8%B5%96%E9%A1%B9%E5%87%86%E5%A4%87.html

三、操作系统参数调整

1、当YashanDB安装在Linux环境中时,为使系统达到更好的性能,建议进行下述配置调整。
Note:
建议对分布式部署中的所有服务器执行下述调整,否则在业务运行将系统资源耗尽的极端场景中将出现服务退出或业务执行卡顿、报错等异常。
在搭建测试环境或实验环境时,为方便问题定位,可以打开生成core文件的开关(使用ulimit -c查看当前状态),不建议在生产环境中打开此开关以免影响系统效率。具体操作如下:
# ulimit -c unlimited 
# vi /etc/security/limits.conf

## 添加以下信息并保存:
  - soft core unlimited
  - hard core unlimited

2、关闭交换分区
使用sysctl -a | grep swappiness查看当前状态,建议设置为0以减少内存交换,避免影响系统性能。
# sysctl -w vm.swappiness=0
# echo "vm.swappiness=0">> /etc/sysctl.conf

3、调整自动分配本地端口范围
使用cat /proc/sys/net/ipv4/ip_local_port_range查看连接可用的本地端口范围,下限值建议大于30000以减少端口冲突。
# sysctl -w net.ipv4.ip_local_port_range='32768 60999' 
# echo "net.ipv4.ip_local_port_range=32768 60999" >> /etc/sysctl.conf

4、调整进程的VMA上限
使用sysctl -a|grep vm.max_map_count查看当前上限值,建议大于2000000以增大数据库进程可拥有的VMA大小。
# sysctl -w vm.max_map_count=2000000
# echo "vm.max_map_count=2000000" >> /etc/sysctl.conf 

5、调整资源限制值
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/security/limits.conf

6、配置大页内存
YashanDB利用大页内存提高内存访问效率。标准大页内存会在系统启动时预分配,而透明大页会在运行时动态分配大页内存,可能产生运行时错误,造成YashanDB被终止。

建议在安装时配置操作系统,启用大页内存,关闭透明大页(Transparent HugePages)选项。
启用大页内存
本文以大页尺寸 2M、申请16个大页(即规划32M大页内存)为例,生产环境配置请以实际为准。

编辑/etc/sysctl.conf文件:
#  vi /etc/sysctl.conf
追加以下配置:
vm.nr_hugepages=16
vm.nr_overcommit_hugepages=0

7、关闭透明大页
部分操作系统默认开启了透明大页选项,可执行以下命令确认:
## Red Hat Enterprise Linux 内核
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

## 其他内核
# cat /sys/kernel/mm/transparent_hugepage/enabled
若显示[always] madvise never或always [madvise] never,则说明透明大页已开启。
若显示always madvise [never],则说明透明大页已关闭。

执行vi /etc/default/grub,在GRUB_CMDLINE_LINUX中添加或修改参数transparent_hugepage=never。
   GRUB_TIMEOUT=5
   GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
   GRUB_DEFAULT=saved
   GRUB_DISABLE_SUBMENU=true
   GRUB_TERMINAL_OUTPUT="console"
   GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never"
   GRUB_DISABLE_RECOVERY="true"

通过以下指令检查当前系统的引导类型
# [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

两种引导的启动文件路径分别为:
BIOS:/boot/grub2/grub.cfg
UEFI:/boot/efi/EFI/\<distro_name>/grub.cfg,distro_name为系统发行版本名称,例如ubuntu、fedora、debian等。

执行grub2–mkconfig指令重新配置grub.cfg
## BIOS 引导
# grub2-mkconfig -o /boot/grub2/grub.cfg
## UEFI 引导
# grub2-mkconfig -o /boot/efi/EFI/<distro_name>/grub.cfg

临时关闭透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

最后重启系统,以后再检查THP应该就是被禁用了
[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/defrag 
always madvise [never]

四、安装初始环境调整

1、开放端口
这里安装的单机
2、关闭防火墙

## 关闭防火墙
# systemctl stop firewalld 
## 关闭开机自启
# systemctl disable firewalld

3、创建安装用户
建议在所有服务器上创建YashanDB产品的安装用户,而非使用root身份执行安装部署。

# useradd -d /home/yashan -m yashan
# passwd yashan

4、配置sudo免密。

## 对root用户赋权并打开/etc/sudoers文件
# cd /etc
# ll sudoers
# chmod +w sudoers
# vi /etc/sudoers

## 在文件的最后添加如下内容后保存退出
# yashan  ALL=(ALL)NOPASSWD:ALL

按需恢复/etc/sudoers文件的属性。
# chmod -w sudoers

5、将安装用户加入YASDBA用户组。

$ groupadd YASDBA
$ usermod -a -G YASDBA yashan

五、目录划分

HOME目录和DATA目录
所有YashanDB的实例节点都必须规划以下两个目录:

HOME目录:YashanDB的产品目录,包含YashanDB所提供的命令、数据库运行所需的库及各关键组件。该目录由yashan用户执行安装部署时输入的install-path参数根据一定规则生成并创建。

DATA目录:YashanDB的数据目录,包含数据库的各类系统数据文件、部分日志文件和配置文件,用户数据也缺省存储在该目录下。但对于共享集群,所有的数据文件和redo文件均需保存在共享存储上,DATA目录将只用于存储实例运行相关的配置文件、日志文件等数据。该目录由yashan用户执行安装部署时输入的--data-path参数根据一定规则生成并创建。

本安装手册中,HOME目录和DATA目录均规划在/data/yashan下,yashan用户需要对该目录拥有全部权限,可执行如下命令授权:

# cd /
# mkdir data
# cd data
# mkdir yashan
# chmod -R 770 /data/yashan
# chown -R yashan. /data

运行日志目录
YashanDB的运行日志目录,包含数据库运行过程中产生的日志文件,该目录默认为HOME目录/yashandb/版本号/log
Note:
为避免运行日志跟数据文件IO相互影响,建议将数据库的运行日志与数据文件路径配置到不同的物理盘上。

运行日志路径:由集群配置文件(集群名称.toml)中group.node.config配置域下的RUN_LOG_FILE_PATH参数决定。

数据文件路径:由执行安装部署时输入的--data-path参数决定,安装完成后可直接修改集群配置文件中group.node配置域下的data_path参数。共享集群部署的数据文件路径默认配置在共享存储下,无法直接修改,只能通过修改共享存储的路径从而调整数据文件存储的路径

六、下载软件包

下载地址:
https://download.yashandb.com/download

这里下载的yashandb-personal-23.2.3.100-linux-x86_64.tar.gz 包为例

# su yashan
1. 创建install目录
在yashan用户主目录下创建一个空目录,作为安装包的存放路径。
$ cd
$ mkdir install

2、上传安装包到/home/yashan/install目录下,并解压软件包:
 $ cd /home/yashan/install
 $ tar zxf yashandb-personal-23.2.3.100-linux-x86_64.tar.gz

3. 获取安装工具
YashanDB所提供的软件包中包含安装工具,位于bin目录下。如执行命令行安装需使用yasboot命令,如执行可视化安装需使用yasom命令。
$ ll ./bin/yasboot
-rwxrwxr-x 1 yashan yashan 9377280 Sep 26 01:32 yasboot
$ ll ./bin/yasom
-rwxrwxr-x 1 yashan yashan 9377280 Sep 26 01:32 yasom

在执行完本步骤后,即可进入正式的YashanDB安装过程,请根据操作偏好选择如下安装方式:

采用命令行安装:直接登录到服务器,且以Linux命令形式执行安装各步操作。
采用可视化界面安装:①在服务器上启动Web服务;②在本地Windows环境浏览器上,以网页形式执行安装各步操作。

这里采取命令行安装方式

七、YashanDB服务端安装

单机部署
执行安装部署前,请以安装用户(yashan)登录服务器,并进入/home/yashan/install安装目录。

$ cd /home/yashan/install

1、生成部署文件
执行yasboot package命令生成配置文件
$ ./bin/yasboot package se gen --cluster yashandb -u yashan -p password --ip 192.168.1.202 --port 22 --install-path /data/yashan/yasdb_home  --data-path /data/yashan/yasdb_data --begin-port 1688

在这里插入图片描述

执行完毕后,当前目录下将生成yashandb.toml和hosts.toml两个配置文件,可手动修改,但不建议删除文件中任何行,否则可能导致后续安装过程报错,或所搭建的环境后续无法进行扩展配置。

yashandb.toml:数据库集群的配置文件。
hosts.toml:服务器的配置文件。

2、根据实际需要调整yashandb.toml配置文件中的安装参数,可在group级别设置YashanDB的所有建库参数,可在node级别设置YashanDB的所有配置参数。

# 以下内容以实际展示结果为准
cluster = "yashandb" # 安装后修改也不会生效,除非重新安装
create_simple_schema = false # 为true部署完会执行示例的SQL,若改为true需要在deploy时指定sys-password参数
uuid = "64f04f0e999c72db72bd565762e6a4ea" # 系统自动生成,不建议修改
yas_type = "SE" # 部署模式,安装后修改也不会生效,除非重新安装

[[group]]
  group_type = "db" # 安装后修改也不会生效,除非重新安装
  name = "dbg1" # 安装后修改也不会生效,除非重新安装
  [group.config] # 可配置所有建库参数,不配置时采用默认值
    CHARACTER_SET = "utf8"
    ISARCHIVELOG = true
    REDO_FILE_NUM = 4
    REDO_FILE_SIZE = "128M"

  [[group.node]]
    data_path = "/data/yashan/yasdb_data" # 为DATA目录,安装后修改也不会生效,除非重新安装
    hostid = "host0001" # 安装后修改也不会生效,除非重新安装
    role = 1    # 数据库主备角色,安装后修改也不会生效,除非重新安装
    [group.node.config] # 可配置所有数据库参数,不配置时采用默认值,安装后修改可以生效(只读参数不可修改)
      LISTEN_ADDR = "192.168.1.2:1688"
      REPLICATION_ADDR = "192.168.1.2:1689"
      RUN_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.2.3.100/log/yashandb/db-1-1/run"
      RUN_LOG_LEVEL = "INFO"
      SLOW_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.2.3.100/log/yashandb/db-1-1/slow"
      

3、执行安装(这里选择场景一:直接安装)

```python
场景一:直接安装。
$ ./bin/yasboot package install -t hosts.toml -i yashandb-personal-23.2.3.100-linux-x86_64.tar.gz 

场景二:如需使用GIS或DBLINK功能,需先下载plugin插件包并在安装命令中指定--plugin参数。安装完成后,无法单独安装该插件包。
$ ./bin/yasboot package install -t hosts.toml -i yashandb-personal-23.2.3.100-linux-x86_64.tar.gz --plugin yashandb-plugins-all-23.2.0.2-linux-x86_64.tar.gz

4、部署数据库

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

在这里插入图片描述

5、配置环境变量
执行如下命令,生效环境变量。

# 部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成<<集群名称>>.bashrc环境变量文件
$ cd /data/yashan/yasdb_home/yashandb/23.2.0.2/conf
# 如~/.bashrc中已存在YashanDB相关的环境变量,将其清除

$ cat yashandb.bashrc >> ~/.bashrc
$ source ~/.bashrc

6、检查安装结果
YashanDB不提供系统初始口令,请以安装用户登录192.168.1.202服务器并通过yasboot工具设置数据库sys用户的密码。

$ cd /home/yashan/install
$ ./bin/yasboot cluster password set -n Ycpdb_135 -c yashandb

在这里插入图片描述
sys数据库的密码必须符合密码复杂度要求才行。

7、执行如下命令,查看数据库状态。

$ ./bin/yasboot cluster status -c yashandb -d

在这里插入图片描述
8、使用yasboot工具连接数据库,查看实例状态。

$ ./bin/yasboot sql -d sys/Ycpdb_135

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

划水的运维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值