首页 > 其他分享 >YashanDB,共享集群模式 部署

YashanDB,共享集群模式 部署

时间:2024-09-05 19:04:18浏览次数:3  
标签:YashanDB -- yashan yas 集群 dev yashandb 共享 data

为了测试YashanDB的RAC模式性能到底怎样,在测试环境进行了部署,简单记录一下。

0.环境说明
计算节点一
192.168.0.181(业务网)
192.168.10.181(心跳网)

计算节点二
192.168.0.182(业务网)
192.168.10.182(心跳网)

共享存储:
/dev/yas/c1p1, /dev/yas/c1p2 是2块10GB的盘,
/dev/yas/c1p4,/dev/yas/c1p5,/dev/yas/c1p6是3块1.5T的闪存盘


1.安装前准备
1.1 服务器准备
操作系统:CentOS 7.6以上,KylinOS V10,openEuler 22.03
CPU:X86_64,ARM64
文件系统: ext4或xfs
网络:千兆以上以太网,支持TCP和UDP;共享集群内部均要求10GE,不包含RDMA
共享存储:三块及以上:一块YCR盘(1G);一块投票盘(1G);其他为数据盘(50G及以上)
共享集群部署:共享集群部署配置2台服务器+1台共享存储,搭建集群内高可用的多实例数据库。

1.2 操作系统参数调整
# hostnamectl
# hostnamectl set-hostname instance1

# sysctl -a | grep swappiness
# sysctl -w vm.swappiness=0
# echo "vm.swappiness=0">> /etc/sysctl.conf

# cat /proc/sys/net/ipv4/ip_local_port_range
# sysctl -w net.ipv4.ip_local_port_range='32768 60999'
# echo "net.ipv4.ip_local_port_range=32768 60999" >> /etc/sysctl.conf

# sysctl -a|grep vm.max_map_count
# sysctl -w vm.max_map_count=2000000
# echo "vm.max_map_count=2000000" >> /etc/sysctl.conf

# vi /etc/security/limits.conf 后添加

* soft nofile 1048576
* hard nofile 1048576
* soft nproc 1048576
* hard nproc 1048576
* soft rss unlimited
* hard rss unlimited
* soft stack 8192
* hard stack 8192

# grep -i huge /proc/meminfo
# vi /etc/sysctl.conf 后添加

vm.nr_hugepages=204800
vm.nr_overcommit_hugepages=0


## Red Hat Enterprise Linux 内核
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
## 其他内核
# cat /sys/kernel/mm/transparent_hugepage/enabled

vi /etc/default/grub,在GRUB_CMDLINE_LINUX中添加或修改参数transparent_hugepage=never

# [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

## BIOS 引导
# grub2-mkconfig -o /boot/grub2/grub.cfg
## UEFI 引导
# grub2-mkconfig -o /boot/efi/EFI/<distro_name>/grub.cfg

# reboot

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

# systemctl status sshd.service
# systemctl start sshd.service

清理共享内存
# ipcrm -a


1.3 创建安装用户
# useradd -d /home/yashan -m yashan
# passwd yashan

## 对root用户赋权并打开/etc/sudoers文件
# cd /etc
# ll sudoers
# chmod +w sudoers
# vi /etc/sudoers ,在文件的最后添加如下内容后保存退出
yashan  ALL=(ALL)NOPASSWD:ALL

# chmod -w sudoers

$ groupadd YASDBA
$ usermod -a -G YASDBA yashan


1.4 UDEV绑定LUN
# cd ~
# vi genDevRuleByUUID.sh  内容如下:

#!/bin/bash

curDir=$(cd "$(dirname "$0")";pwd)
rm -f $curDir/yashan-device-rule.rules
for i in storraid5 storraid10 storraid15;
do
str1="$i:`udevadm info --query=all --name=/dev/mapper/$i | grep DM_UUID`"
str2=${str1#*=}
echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${str2}\",SYMLINK+=\"yas/${i}\",OWNER=\"yashan\",GROUP=\"YASDBA\",MODE=\"0666\"" ''  >> $curDir/yashan-device-rule.rules
done

# sh ./genDevRuleByUUID.sh

最终生成的文件,内容如下所示:
# cat yashan-device-rule.rules
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-366c146e100955f46eaa458fc0000006b", SYMLINK+="yas/c1p1",OWNER="yashan",GROUP="YASDBA",MODE="0666"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-366c146e100955f46eaa49e8c0000006d",SYMLINK+="yas/c1p2",OWNER="yashan",GROUP="YASDBA",MODE="0666"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-366c146e100955f46eaa4c6040000006f", SYMLINK+="yas/c1p4",OWNER="yashan",GROUP="YASDBA",MODE="0666"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-366c146e100955f46eaa49e8c0000006c",SYMLINK+="yas/c1p5",OWNER="yashan",GROUP="YASDBA",MODE="0666"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-366c146e100955f46eaa4c6040000006h",SYMLINK+="yas/c1p6",OWNER="yashan",GROUP="YASDBA",MODE="0666"

# cp yashan-device-rule.rules /etc/udev/rules.d/yashan-device-rule.rules

# reboot
# ls -l /dev/yas/*
# ls -l /dev/nvme*


1.5 下载软件包
# su - yashan
$ cd
$ mkdir install
$ cd /home/yashan/install
$ tar zxf yashandb-23.2.3.100-linux-x86_64.tar.gz


1.6 创建软件安装目录
# mkdir -p /data/yashan/yasdb_home
# mkdir -p /data/yashan/yasdb_data
# chown -R yashan:yashan /data


2. 软件安装
2.1命令行方式安装
2.1.1 生成部署文件
$ cd /home/yashan/install
$ ./bin/yasboot package ce gen --cluster yashandb -u yashan -p htwelcome1! --ip 192.168.0.181,192.168.0.182 --port 22 --install-path /data/yashan/yasdb_home --data-path /data/yashan/yasdb_data --begin-port 1688 --node 2 --data /dev/yas/c1p4,/dev/yas/c1p5,/dev/yas/c1p6 --vote /dev/yas/c1p1  --ycr /dev/yas/c1p2

执行完毕后,当前目录下将生成yashandb.toml和hosts.toml两个配置文件。
根据实际需要调整yashandb.toml配置文件中的安装参数,可在group级别设置YashanDB的所有建库参数,可在node级别设置YashanDB的所有配置参数。

2.1.2 执行安装
$ cd /home/yashan/install
$ ./bin/yasboot package install -t hosts.toml -i yashandb-23.2.3.100-linux-x86_64.tar.gz

2.1.3 数据库部署
$ ./bin/yasboot cluster deploy -t yashandb.toml --yfs-force-create --child

2.1.4 配置环境变量
# 部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成<<集群名称>>.bashrc环境变量文件
$ cd /data/yashan/yasdb_home/yashandb/23.2.3.100/conf
$ cat yashandb.bashrc >> ~/.bashrc
$ source ~/.bashrc

2.1.5 验证
$ yasboot cluster password set -n welcome1 -c yashandb
$ yasboot cluster status -c yashandb -d

$ yasql sys/"welcome1"@192.168.0.181:1688


SQL> SELECT database_name FROM v$database;
SQL> CREATE USER test IDENTIFIED BY welcome1;
SQL> GRANT dba TO test;

=============================================

卸载:
$ cd ~/install
$ ./bin/yasboot cluster clean --cluster yashandb --purge
$ ./bin/yasboot package uninstall --cluster yashandb

清除每个服务器上~/.bashrc中与YashanDB有关的环境变量

dd if=/dev/zero of=/dev/yas/c1p1 bs=1M count=1000
dd if=/dev/zero of=/dev/yas/c1p2 bs=1M count=1000
dd if=/dev/zero of=/dev/yas/c1p4 bs=1M count=1000
dd if=/dev/zero of=/dev/yas/c1p5 bs=1M count=1000
dd if=/dev/zero of=/dev/yas/c1p6 bs=1M count=1000

标签:YashanDB,--,yashan,yas,集群,dev,yashandb,共享,data
From: https://www.cnblogs.com/missyou-shiyh/p/18399058

相关文章

  • Elasticsearch 集群 和 Kibana:最新版 8.15.0 手动安装教程
    1.前言Elasticsearch和Kibana是ElasticStack的核心组件,分别扮演着数据存储与检索、分析和数据可视化的角色。‌1.1Elasticsearch‌简介Elasticsearch‌是一个基于JSON的分布式搜索和分析引擎,它提供了一个分布式、多租户能力的全文搜索引擎,具有HTTP网络接口和无模式......
  • (免费源码)计算机毕业设计必看必学 原创定制程序 java、PHP、python、小程序、文案全套
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对高校知识共享系统等问题,对高校知识共享系统进行研究分析,然后开发设计出高校知识共享系统以......
  • 09.搭建一套小的集群 实现手动的代码上线
    搭建一套小的集群实现手动的代码上线lb192.168.111.21web01192.168.111.22web02192.168.111.23所有机器都安装nginx;yuminstallnginx-y1.配置负载均衡[root@lb01~]#cat/etc/nginx/conf.d/proxy_html.quyunlong.com.confupstreamhtml{server192.168.111.......
  • Redis集群Lettuce主从切换问题
    一、问题描述RedisCluster集群,当master宕机,主从切换,客户端报错timedout二、原因SpringBoot2.X版本开始Redis默认的连接池都是采用的Lettuce。当节点发生改变后,Letture默认是不会刷新节点拓扑的。三、解决方案3.1方案一:把lettuce换成jedis只需要在pom.xml里调整一下依赖的引用<d......
  • 部署K8S集群(三):子节点部署及加入集群
    子节点:安装kubeletkubeadmkubectlyuminstall-ykubeletkubeadmkubectl安装containerd下载地址:https://github.com/containerd/containerd/releases找到标签为Latest的包,根据系统类型下载对应的包#解压tarCxzvf/usr/localcontainerd-1.7.21-linux-amd64.tar.g......
  • Redis集群不停机升级
    背景现有的Redis集群是由Redis4.x部署的,现在根据需要,要将Redis4.x升级到Redis5.0.10版本,且现有的Redis集群不能停机。下面以本地的机器为例进行操作演示。操作步骤下载&安装Redis5.0.10目前的Redis集群部署在/usr/local/redis目录下,/usr/local下执行命令下载Redis5.0.10cd......
  • Kubernetes学习指南:保姆级实操手册06——部署kubernetes集群
    Kubernetes学习指南:保姆级实操手册06——部署kubernetes集群1、配置YUM源###在所有Master节点执行#配置yum源cat>/etc/yum.repos.d/kubernetes.repo<<EOF[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x8......
  • prometheus学习笔记之集群外服务发现
    一、部署二进制prometheus略,参考之前文档或自行百度二、创建prometheus获取api-server的token1.获取tokenkubectlgetsa-nmonitoringmonitor#上一篇给prometheus创建的sakubectlgetsa-nmonitoringmonitor-oyaml#每个sa默认会创建一个secretkubectlgetsecre......
  • 部署K8S集群(一):环境准备
    环境介绍:以下操作使用三台基于Hyper-v的OpenEuler虚拟机IP主机名系统版本172.17.48.27masteropeneuler-22.03LTSSP3172.17.48.28worker01openeuler-22.03LTSSP3172.17.48.29worker02openeuler-22.03LTSSP3虚拟机准备操作:以下操作需要在全部三......
  • 部署K8S集群(二):主节点初始化
    主节点:以下操作只在master进行安装kubeletkubeadmkubectlyuminstall-ykubeletkubeadmkubectl安装containerd下载地址:https://github.com/containerd/containerd/releases找到标签为Latest的包,根据系统类型下载对应的包#解压tarCxzvf/usr/localcontainerd-1......