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

news2025/1/16 5:12:05

一、服务器准备

在这里插入图片描述
这里安装的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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1968166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

net start mysql; 服务名无效。 请键入 NET HELPMSG 2185 以获得更多的帮助。 也许你只是写错了名字!!!!!

看样子不知道问题出在哪里,看了别人的文章也不行。 打开服务&#xff08;命令行输入services.msc&#xff09;&#xff01;&#xff01; 人家叫mysql80 成了~ 就很无语

创邻科技Galaxybase银河图数据库赋能供应链高效协同

随着全球环境从乌卡时代走向巴尼时代&#xff0c;供应链管理能力与水平决定了企业的存生与盈利水平。数据是体现供应链运营状态与价值的核心要素&#xff0c;借助最新的数据处理技术最大限度挖掘数据价值&#xff0c;实现供应链可预测、可追溯、可实时响应&#xff0c;提升供应…

外卖项目day11---用户下单

OrderController代码 RestController("userOrderController") RequestMapping("/user/order") Api(tags "用户端订单相关接口") Slf4j public class OrderController {Autowiredprivate OrderService orderService;/*** 用户下单* param orders…

华硕电脑怎么录屏?3个高效实用的方法

华硕电脑作为一款备受青睐的电脑品牌&#xff0c;拥有丰富的功能和工具&#xff0c;其中包括强大的录屏功能。然而&#xff0c;对于许多华硕电脑用户来说&#xff0c;如何利用这一功能可能会感到困惑。 本文将带您探索华硕电脑的录屏功能&#xff0c;为您揭示华硕电脑怎么录屏…

算法小白的进阶之路(力扣1~5)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

Vue3-Vite-TypeScript:屏幕适配rem

① 基于rem 适配&#xff08;推荐&#xff0c;也是本篇要实现的方案&#xff09; 适用场景&#xff1a;不固定宽高比的Web应用&#xff0c;适用于绝大部分业务场景 ② 基于 scale 适配 适用场景&#xff1a;固定宽高比的Web应用&#xff0c;如大屏或者固定窗口业务应用 个人…

使用 openai 和 langchain 调用自定义工具完成提问需求

我们提供了一个函数&#xff0c;接受传入运算的字符串&#xff0c;返回运算的结果。 现在的需求是&#xff0c;我们问 gpt 模型&#xff0c;由于模型计算能力并不好&#xff0c;他要调用计算函数&#xff0c;根据计算结果&#xff0c;回答我们的问题。 使用 openai 实现&#…

资源|Python入门必看书籍,适合零基础小白,附PDF

小编为初学Python的朋友们汇总了7本零基础入门书籍&#xff0c;包括Python三剑客等&#xff0c;都是在编程届多年畅销的书籍&#xff0c;也是众多从业者的选择&#xff0c;全文详细介绍了书籍主要内容&#xff0c;有需要的宝子根据自身情况自取 需要书籍PDF的宝子评论区留言哦 …

Java每日一练_模拟面试题1(死锁)

一、死锁的条件 死锁通常发生在两个或者更多的线程相互等待对方释放资源&#xff0c;从而导致它们都无法继续执行。死锁的条件通常被描述为四个必要条件&#xff0c;也就是互斥条件、不可剥夺条件、占有并等待条件和循环等待条件。 互斥条件&#xff1a;资源不能被共享&#x…

MindMaster的学习(一)建立项目生成思维导图

MindMaster主要是用来做思维导图&#xff0c;当然也能直接生成PPT和甘特图&#xff0c;使用起来非常方便&#xff0c;简单分享下。 1.安装软件&#xff0c;这个随便搜一个破解版&#xff0c;有的就免安装&#xff0c;直接打开就能用。 2.我们新建一个导图&#xff0c;有空白模版…

认证!云起无垠成为人工智能产业发展联盟AIIA成员单位

近日&#xff0c;经人工智能产业发展联盟(AIIA)严格审核&#xff0c;云起无垠正式成为联盟成员单位。这一荣誉不仅肯定了云起无垠在技术方面的实力&#xff0c;更显示了对其未来发展的高度期待。 AIIA在国家发改委、科技部、工信部和网信办的指导下&#xff0c;由中国信息通信…

【iOS】iOS内存五大分区

iOS内存五大分区 总揽 iOS中&#xff0c;内存主要分为五大区域&#xff1a;栈区&#xff0c;堆区&#xff0c;全局区/静态区&#xff0c;常量区和代码区。总览图如下。 这个图我觉得更好记&#xff0c;因为下面是低地址&#xff0c;上面是高地址&#xff0c;是比较符合日常…

idea 2024 中文最新版破解激活永久(图文详细讲解教程)超级简单(亲测可用)

1.官网下载&#xff1a;下载地址 2.点击下载完成之后&#xff0c;找到下载路径&#xff0c;双击运行exe文件&#xff0c;进行安装 3.安装完成后&#xff0c;在桌面找到idea快捷方式&#xff0c;双击运行 4.此时是没有激活的&#xff0c;点击关闭窗口&#xff0c;然后退出程序 5…

nginx代理设置时能获取到源IP地址的方法

nginx通过http_x_forwarded_for限制来访IP示例_ngnix 根据header的x-forwarded-for限制接入-CSDN博客 名称ip客户端地址10.0.23.90nginx服务器地址110.0.202.48:18888&#xff0c;代理到10.0.204.82:8888nginx服务器地址210.0.204.82:8888&#xff0c;代理到10.0.204.82:8887后…

充电宝买多少毫安的好?选充电宝这几个关键点必看!

在如今这个电子设备不离手的时代&#xff0c;充电宝成为了我们生活中的必备品。然而&#xff0c;面对市场上琳琅满目的充电宝&#xff0c;选择合适容量的充电宝却让许多人感到困惑。充电宝买多少毫安的好&#xff1f;这可不是一个简单的问题。容量太小&#xff0c;无法满足我们…

20240802 每日AI必读资讯

&#x1f310;太离谱&#xff01;曝GPT-4o mini没做安全测试就开庆功会&#xff01; - OpenAI曾向美国政府承诺&#xff0c;将严格对其前沿的突破性技术进行安全测试&#xff0c;以确保AI不会造成损害&#xff0c;比如教用户制造生化武器或帮助黑客开发新型网络攻击。 - Open…

canvas根据图片生成粒子动画

canvas根据图片生成粒子动画 效果展示: canvas根据图片生成粒子动画效果 注意: js和css的引入 id: cartoonDot-img对应的是被 拷贝的图像,后期要替换的 粒子图像就在这 min.js 地址 HTML代码块 <!DOCTYPE html> <html><head><meta charset=&quo…

面向对象编程在Python中的应用

引言 面向对象编程&#xff08;Object-Oriented Programming, OOP&#xff09;是一种程序设计范式&#xff0c;它使用“对象”来设计软件。在Python中&#xff0c;OOP提供了一种结构化的方式来组织代码&#xff0c;使得程序更加易于理解和维护。本文将介绍一些基本的面向对象编…

洗地机哪个品牌好用?智能洗地机品牌排行榜揭晓

在追求家居清洁智能化的今天&#xff0c;洗地机品牌众多&#xff0c;选择一款好用且智能的洗地机成了许多家庭的关注点。本文精心揭晓智能洗地机品牌排行榜&#xff0c;为大家精选出市场上性能卓越、用户口碑极佳的品牌&#xff0c;如滴水、以内、希亦等&#xff0c;它们凭借创…

电池数据巡检时发现的数据问题处置措施

电池监控系统在日常使用中需要关注电压不均告警和内阻不均告警&#xff0c;对偏差大的单体电池核实处理。 一、电池单体电压偏差 出现电池单体电压偏差有两种情况&#xff0c;一种是电池故障&#xff0c;另一种是电池单体采集模块故障。现场需要用万用表对异常单体电压进行测量…