【yashandb】初体验
操作系统-centos7.9
最小化安装centos,缺少很多依赖包
安装依赖包
先安装wget工具
yum install wget epel-release -y
centos7.9会报错
直接更新 CentOS-Base.repo
## The mirror system uses the connecting IP address of the client and the# update status of each mirror to pick mirrors that are updated to and# geographically close to the client. You should use this for CentOS updates# unless you are manually picking other mirrors.## If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead.# #[base] name=CentOS-$releasever - Base - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#released updates [updates] name=CentOS-$releasever - Updates - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#additional packages that may be useful [extras] name=CentOS-$releasever - Extras - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
更新yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
安装必要的包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel net-tools vim gcc gcc-c++ lsof unzip telnet monit -y
更新openssl
cd /tmp
wget https://www.openssl.org/source/openssl-1.1.1n.tar.gz --no-check-certificate
tar -zxvf openssl-1.1.1n.tar.gz && cd openssl-1.1.1n/
./config --prefix=/usr/local/openssl
make -j 6 && sudo make install
ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
cat >> /etc/ld.so.conf << EOF
/usr/local/openssl/lib
EOF
ldconfig -v|grep ssl
操作系统参数
# 关闭swap
echo "vm.swappiness=0">> /etc/sysctl.conf
# 服务端口范围
echo "net.ipv4.ip_local_port_range=32768 60999" >> /etc/sysctl.conf
# 每个进程可以创建的最大虚拟内存区域数量
echo "vm.max_map_count=2000000" >> /etc/sysctl.conf
调整资源限制值
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
建议在安装时配置操作系统,启用大页内存,关闭透明大页(Transparent HugePages)选项
https://doc.yashandb.com/yashandb/23.2/zh/安装和升级/安装部署/安装前准备/操作系统参数调整.html
关闭防火墙和selinux
systemctl disable firewalld
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
安装单机yashandb
用户
创建用户
useradd -d /home/yashan -m yashan
echo "yashan" |passwd --stdin yashan
配置sudo免密
cat >> /etc/sudoers << EOF
yashan ALL=(ALL)NOPASSWD:ALL
EOF
也可以执行
visudo
直接修改
让YASDB用户免密登陆管理数据库
groupadd YASDBA
usermod -a -G YASDBA yashan
目录
mkdir -p /data/yashan
chown -R yashan:YASDBA /data/yashan
实际安装
生成部署文件
https://doc.yashandb.com/yashandb/23.2/zh/安装和升级/安装部署/YashanDB服务端安装(命令行)/单机(主备)部署.html
./bin/yasboot package se gen --cluster yashandb -u yashan -p yashan --ip 192.168.0.136 --port 22 --install-path /data/yashan/yasdb_home --data-path /data/yashan/yasdb_data --begin-port 1688
[yashan@yashandb01 db]$ pwd
/data/db[yashan@yashandb01 db]$ cat hosts.toml
uuid = "6713c24be8f72c7b29dee874869992d5"
cluster = "yashandb"
yas_type = "SE"
secret_key = "7b6cd05db0830884"
add_yasdba = true[om]hostid = "host0001"[om.config]LISTEN_ADDR = "192.168.0.136:1675"[[host]]hostid = "host0001"group = "yashan"user = "yashan"password = "yashan"ip = "192.168.0.136"port = 22path = "/data/yashan/yasdb_home"[host.yasagent][host.yasagent.config]LISTEN_ADDR = "192.168.0.136:1676"[yashan@yashandb01 db]$ cat yashandb.toml
cluster = "yashandb"
create_simple_schema = false
uuid = "6713c24be8f72c7b29dee874869992d5"
yas_type = "SE"[[group]]group_type = "db"name = "dbg1"[group.config]CHARACTER_SET = "utf8"ISARCHIVELOG = trueREDO_FILE_NUM = 4REDO_FILE_SIZE = "128M"[[group.node]]data_path = "/data/yashan/yasdb_data"hostid = "host0001"role = 1[group.node.config]CGROUP_ROOT_DIR = "/sys/fs/cgroup"LISTEN_ADDR = "192.168.0.136:1688"REPLICATION_ADDR = "192.168.0.136:1689"RUN_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.2.4.100/log/yashandb/db-1-1/run"RUN_LOG_LEVEL = "INFO"SLOW_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.2.4.100/log/yashandb/db-1-1/slow"
执行安装
./bin/yasboot package install -t hosts.toml -i /data/yashandb-23.2.4.100-linux-x86_64.tar.gz
部署数据库
./bin/yasboot cluster deploy -t yashandb.toml
配置环境变量
cd /data/yashan/yasdb_home/yashandb/23.2.4.100/conf
cat yashandb.bashrc >> ~/.bashrc
source ~/.bashrc
配置SYS 密码
需要包含特殊字符
yasboot cluster password set -n yashan#123 -c yashandb
yasboot cluster password set -n yashan#123 -c yashandbtype | uuid | name | hostid | index | status | return_code | progress | cost
----------------------------------------------------------------------------------------------------------task | 2d75f830de75ac65 | YasdbPasswordSet | - | yashandb | SUCCESS | 0 | 100 | 2
------+------------------+------------------+--------+----------+---------+-------------+----------+------
task completed, status: SUCCESS
安装结果
[yashan@yashandb01 conf]$ yasboot cluster status -c yashandb -dhostid | node_type | nodeid | pid | instance_status | database_status | database_role | listen_address | data_path
------------------------------------------------------------------------------------------------------------------------------------------------host0001 | db | 1-1:1 | 2902 | open | normal | primary | 192.168.0.136:1688 | /data/yashan/yasdb_data/db-1-1
----------+-----------+--------+------+-----------------+-----------------+---------------+--------------------+--------------------------------
实例启停
重启主机后,om和agent都没有运行
[yashan@yashandb01 conf]$ ps -ef|grep yas root 1681 1492 0 11:20 pts/0 00:00:00 su - yashan yashan 1682 1681 0 11:20 pts/0 00:00:00 -bash yashan 1723 1682 0 11:34 pts/0 00:00:00 ps -ef yashan 1724 1682 0 11:34 pts/0 00:00:00 grep --color=auto yas [yashan@yashandb01 conf]$ yasboot cluster start -c yashandb dial tcp 192.168.0.136:1675: connect: connection refused
手动启动om、agent、db实例
[yashan@yashandb01 db]$ ./bin/yasboot monit start --cluster yashandb
dial tcp 192.168.0.136:1675: connect: connection refused
[yashan@yashandb01 db]$ yasboot process yasom start -c yashandb
[yashan@yashandb01 db]$ which yasboot
/data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasboot
[yashan@yashandb01 db]$ cd
[yashan@yashandb01 ~]$ which yasboot
/data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasboot
[yashan@yashandb01 ~]$ yasboot process yasom start -c yashandb
warning: watch yasom error: monitor failed, stdout: , stderr: bash: monit: command not foundstart yasom successfully
[yashan@yashandb01 ~]$ yasboot process yasagent start -c yashandb
warning: watch yasagent error: monitor failed, stdout: , stderr: bash: monit: command not foundstart local agent successfully!
[yashan@yashandb01 ~]$ ps -ef|grep yas
root 1681 1492 0 11:20 pts/0 00:00:00 su - yashan
yashan 1682 1681 0 11:20 pts/0 00:00:00 -bash
yashan 1778 1 0 11:38 ? 00:00:00 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasom -c yashandb -l 192.168.0.136:1675 -d
yashan 1809 1 0 11:38 ? 00:00:00 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasagent -c yashandb -l 192.168.0.136:1676 -d
yashan 1820 1682 0 11:38 pts/0 00:00:00 ps -ef
yashan 1821 1682 0 11:38 pts/0 00:00:00 grep --color=auto yas
[yashan@yashandb01 ~]$ yasboot cluster start -c yashandbtype | uuid | name | hostid | index | status | return_code | progress | cost
-----------------------------------------------------------------------------------------------------------task | 496ff333d31fedd1 | StartYasdbCluster | - | yashandb | SUCCESS | 0 | 100 | 15
------+------------------+-------------------+--------+----------+---------+-------------+----------+------
task completed, status: SUCCESS
[yashan@yashandb01 ~]$ yasboot cluster status -c yashandb -dhostid | node_type | nodeid | pid | instance_status | database_status | database_role | listen_address | data_path
------------------------------------------------------------------------------------------------------------------------------------------------host0001 | db | 1-1:1 | 1832 | open | normal | primary | 192.168.0.136:1688 | /data/yashan/yasdb_data/db-1-1
----------+-----------+--------+------+-----------------+-----------------+---------------+--------------------+--------------------------------
配置开机启动
启动monit
systemctl start monit
systemctl enable monit
配置启动
vi /etc/rc.local
su yashan -c '/usr/bin/monit -c /data/yashan/yasdb_home/yashandb/23.2.4.100/ext/monit/monitrc'
chmod +x /etc/rc.d/rc.local
- 重启后主机正常登陆了
[root@yashandb01 ~]# ps -ef|grep yas
yashan 1035 1 0 22:12 ? 00:00:00 /usr/bin/monit -c /data/yashan/yasdb_home/yashandb/23.2.4.100/ext/monit/monitrc
yashan 1132 1 0 22:12 ? 00:00:00 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasom -c yashandb -l 192.168.0.136:1675 -d
yashan 1501 1 12 22:12 ? 00:00:02 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasdb open -D /data/yashan/yasdb_data/db-1-1
yashan 1592 1 0 22:12 ? 00:00:00 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasagent -c yashandb -l 192.168.0.136:1676 -d
root 1624 1605 0 22:13 pts/0 00:00:00 grep --color=auto yas
用户管理
[yashan@yashandb01 ~]$ yasql sys/yashan#123
YashanDB SQL Enterprise Edition Release 23.2.4.100 x86_64Connected to:
YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 - X86 64bit LinuxSQL> create user jenvid identified by jenvid;Succeed.SQL> create role yashan_role;Succeed.SQL> grant connect to jenvid;Succeed.SQL> grant resource to jenvid;Succeed.SQL> conn jenvid/jenvid Connected to:
YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 - X86 64bit LinuxSQL> alter user jenvid identified by "jenvid123";Succeed.
表空间
select tablespace_name from dba_tablespaces;
select * from v$datafile;
create tablespace ts_yashan;
alter tablespace ts_yashan add datafile;
SQL> alter tablespace ts_yashan shrik space;[1:33]YAS-04115 "ADD|DROP|RENAME|DATAFILE|TEMPFILE|SHRINK|OFFLINE|ONLINE|ALTER|READWRITE" expected but missingalter tablespace ts_yashan shrink space;
drop tablespace ts_yashan;
连接与环境变量
yasql sys/yashan#123@192.168.0.136:1688
yasboot sql -d yashan#123@192.168.0.136:1688 -s 'select status from v$instance;'
[yashan@yashandb01 ~]$ env|grep yas
HOSTNAME=yashandb01
USER=yashan
LD_LIBRARY_PATH=/data/yashan/yasdb_home/yashandb/23.2.4.100/lib:
MAIL=/var/spool/mail/yashan
PATH=/data/yashan/yasdb_home/yashandb/23.2.4.100/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/yashan/.local/bin:/home/yashan/bin
PWD=/home/yashan
YASDB_HOME=/data/yashan/yasdb_home/yashandb/23.2.4.100
HOME=/home/yashan
YASDB_DATA=/data/yashan/yasdb_data/db-1-1
LOGNAME=yashan
[yashan@yashandb01 ~]$ env|grep yas
HOSTNAME=yashandb01
USER=yashan
LD_LIBRARY_PATH=/data/yashan/yasdb_home/yashandb/23.2.4.100/lib:
MAIL=/var/spool/mail/yashan
PATH=/data/yashan/yasdb_home/yashandb/23.2.4.100/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/yashan/.local/bin:/home/yashan/bin
PWD=/home/yashan
YASDB_HOME=/data/yashan/yasdb_home/yashandb/23.2.4.100
HOME=/home/yashan
YASDB_DATA=/data/yashan/yasdb_data/db-1-1
LOGNAME=yashan
[yashan@yashandb01 ~]$ env|grep YAS
YASDB_HOME=/data/yashan/yasdb_home/yashandb/23.2.4.100
YASDB_DATA=/data/yashan/yasdb_data/db-1-1
主备部署
# yashan 用户执行
./bin/yasboot package se gen --cluster yashandb -u yashan -p yashan --ip 172.16.1.6,172.16.1.7,172.16.1.8 --port 22 --install-path /data/yashan/yasdb_home --data-path /data/yashan/yasdb_data --begin-port 1688 --node 3
[yashan@yashan-node01 db]$ ./bin/yasboot package se gen --cluster yashandb -u yashan -p yashan --ip 172.16.1.6,172.16.1.7,172.16.1.8 --port 22 --install-path /data/yashan/yasdb_home --data-path /data/yashan/yasdb_data --begin-port 1688 --node 3
host host0002 openssl version: OpenSSL 1.1.1n 15 Mar 2022
OpenSSL version is 1.1.1 or greater
host host0003 openssl version: OpenSSL 1.1.1n 15 Mar 2022
OpenSSL version is 1.1.1 or greater
host host0001 openssl version: OpenSSL 1.1.1n 15 Mar 2022
OpenSSL version is 1.1.1 or greater
172.16.1.6ip:172.16.1.6 memory is less than 4096MB
172.16.1.7ip:172.16.1.7 memory is less than 4096MB
172.16.1.8ip:172.16.1.8 memory is less than 4096MBhostid | group | node_type | node_name | listen_addr | replication_addr | data_path
---------------------------------------------------------------------------------------------------------host0001 | dbg1 | db | 1-1 | 172.16.1.6:1688 | 172.16.1.6:1689 | /data/yashan/yasdb_data
----------+-------+-----------+-----------+-----------------+------------------+-------------------------host0002 | dbg1 | db | 1-2 | 172.16.1.7:1688 | 172.16.1.7:1689 | /data/yashan/yasdb_data
----------+-------+-----------+-----------+-----------------+------------------+-------------------------host0003 | dbg1 | db | 1-3 | 172.16.1.8:1688 | 172.16.1.8:1689 | /data/yashan/yasdb_data
----------+-------+-----------+-----------+-----------------+------------------+-------------------------Generate config completed
[yashan@yashan-node01 db]$ ./bin/yasboot package se gen --cluster yashandb -u yashan -p yashan --ip 172.16.1.6,172.16.1.7,172.16.1.8 --port 22 --install-path /data/yashan/yasdb_home --data-path /data/yashan/yasdb_data --begin-port 1688 --node 3
host host0003 openssl version: OpenSSL 1.1.1n 15 Mar 2022
OpenSSL version is 1.1.1 or greater
host host0002 openssl version: OpenSSL 1.1.1n 15 Mar 2022
OpenSSL version is 1.1.1 or greaterhost host0001 openssl version: OpenSSL 1.1.1n 15 Mar 2022
OpenSSL version is 1.1.1 or greaterhostid | group | node_type | node_name | listen_addr | replication_addr | data_path
---------------------------------------------------------------------------------------------------------host0001 | dbg1 | db | 1-1 | 172.16.1.6:1688 | 172.16.1.6:1689 | /data/yashan/yasdb_data
----------+-------+-----------+-----------+-----------------+------------------+-------------------------host0002 | dbg1 | db | 1-2 | 172.16.1.7:1688 | 172.16.1.7:1689 | /data/yashan/yasdb_data
----------+-------+-----------+-----------+-----------------+------------------+-------------------------host0003 | dbg1 | db | 1-3 | 172.16.1.8:1688 | 172.16.1.8:1689 | /data/yashan/yasdb_data
----------+-------+-----------+-----------+-----------------+------------------+-------------------------
第一次生成文件的时候秒出,但是第二次重新生成居然用了约10分钟
[root@yashan-node01 om]# tail -200f yasboot.log 2024-10-24 08:23:53 DEBUG [yasboot] scan.go:152 scaning 172.16.1.8 2024-10-24 08:23:53 DEBUG [yasboot] scan.go:152 scaning 172.16.1.6 2024-10-24 08:23:53 DEBUG [yasboot] scan.go:152 scaning 172.16.1.7 2024-10-24 08:23:53 INFO [yasboot] client.go:131 [172.16.1.8:22] mkdir -p /tmp/yashandb.1729729433.671993996baa/bin begin 2024-10-24 08:23:53 INFO [yasboot] client.go:131 [172.16.1.7:22] mkdir -p /tmp/yashandb.1729729433.67199399dfc1/bin begin 2024-10-24 08:23:53 INFO [yasboot] client.go:146 [172.16.1.8:22] mkdir -p /tmp/yashandb.1729729433.671993996baa/bin success 2024-10-24 08:23:53 INFO [yasboot] client.go:104 [172.16.1.8:22] ls -l /tmp/yashandb.1729729433.671993996baa/bin begin 2024-10-24 08:23:53 INFO [yasboot] client.go:146 [172.16.1.7:22] mkdir -p /tmp/yashandb.1729729433.67199399dfc1/bin success 2024-10-24 08:23:53 INFO [yasboot] client.go:104 [172.16.1.7:22] ls -l /tmp/yashandb.1729729433.67199399dfc1/bin begin 2024-10-24 08:23:53 INFO [yasboot] client.go:116 [172.16.1.8:22] ls -l /tmp/yashandb.1729729433.671993996baa/bin success 2024-10-24 08:23:53 INFO [yasboot] client.go:116 [172.16.1.7:22] ls -l /tmp/yashandb.1729729433.67199399dfc1/bin success 2024-10-24 08:23:53 INFO [yasboot] client.go:104 [172.16.1.8:22] ls -l /tmp/yashandb.1729729433.671993996baa/bin begin 2024-10-24 08:23:53 INFO [yasboot] client.go:104 [172.16.1.7:22] ls -l /tmp/yashandb.1729729433.67199399dfc1/bin begin 2024-10-24 08:23:54 INFO [yasboot] client.go:116 [172.16.1.7:22] ls -l /tmp/yashandb.1729729433.67199399dfc1/bin success 2024-10-24 08:23:54 INFO [yasboot] client.go:237 copy file from [172.16.1.6:60234]:/data/db/bin/yasboot to [172.16.1.7:22]:/tmp/yashandb.1729729433.67199399dfc1/bin/yasboot begin 2024-10-24 08:23:54 INFO [yasboot] client.go:116 [172.16.1.8:22] ls -l /tmp/yashandb.1729729433.671993996baa/bin success 2024-10-24 08:23:54 INFO [yasboot] client.go:237 copy file from [172.16.1.6:55458]:/data/db/bin/yasboot to [172.16.1.8:22]:/tmp/yashandb.1729729433.671993996baa/bin/yasboot begin 2024-10-24 08:23:54 INFO [yasboot] client.go:243 copy file from [172.16.1.6:55458]:/data/db/bin/yasboot to [172.16.1.8:22]:/tmp/yashandb.1729729433.671993996baa/bin/yasboot success 2024-10-24 08:23:54 INFO [yasboot] client.go:104 [172.16.1.8:22] chmod +x /tmp/yashandb.1729729433.671993996baa/bin/yasboot begin 2024-10-24 08:23:54 INFO [yasboot] client.go:243 copy file from [172.16.1.6:60234]:/data/db/bin/yasboot to [172.16.1.7:22]:/tmp/yashandb.1729729433.67199399dfc1/bin/yasboot success 2024-10-24 08:23:54 INFO [yasboot] client.go:104 [172.16.1.7:22] chmod +x /tmp/yashandb.1729729433.67199399dfc1/bin/yasboot begin 2024-10-24 08:23:54 INFO [yasboot] client.go:116 [172.16.1.8:22] chmod +x /tmp/yashandb.1729729433.671993996baa/bin/yasboot success 2024-10-24 08:23:54 INFO [yasboot] client.go:131 [172.16.1.8:22] /tmp/yashandb.1729729433.671993996baa/bin/yasboot host info -a begin 2024-10-24 08:23:54 INFO [yasboot] client.go:116 [172.16.1.7:22] chmod +x /tmp/yashandb.1729729433.67199399dfc1/bin/yasboot success 2024-10-24 08:23:54 INFO [yasboot] client.go:131 [172.16.1.7:22] /tmp/yashandb.1729729433.67199399dfc1/bin/yasboot host info -a begin 2024-10-24 08:23:54 INFO [yasboot] client.go:146 [172.16.1.8:22] /tmp/yashandb.1729729433.671993996baa/bin/yasboot host info -a success 2024-10-24 08:23:54 INFO [yasboot] client.go:131 [172.16.1.8:22] /tmp/yashandb.1729729433.671993996baa/bin/yasboot host check -c yashandb --host-id host0003 begin 2024-10-24 08:23:54 INFO [yasboot] client.go:146 [172.16.1.7:22] /tmp/yashandb.1729729433.67199399dfc1/bin/yasboot host info -a success 2024-10-24 08:23:54 INFO [yasboot] client.go:131 [172.16.1.7:22] /tmp/yashandb.1729729433.67199399dfc1/bin/yasboot host check -c yashandb --host-id host0002 begin 2024-10-24 08:23:54 INFO [yasboot] client.go:146 [172.16.1.8:22] /tmp/yashandb.1729729433.671993996baa/bin/yasboot host check -c yashandb --host-id host0003 success 2024-10-24 08:23:54 INFO [yasboot] client.go:131 [172.16.1.8:22] /tmp/yashandb.1729729433.671993996baa/bin/yasboot host check -c yashandb --host-id host0003 --openssl begin 2024-10-24 08:23:54 INFO [yasboot] client.go:146 [172.16.1.7:22] /tmp/yashandb.1729729433.67199399dfc1/bin/yasboot host check -c yashandb --host-id host0002 success 2024-10-24 08:23:54 INFO [yasboot] client.go:131 [172.16.1.7:22] /tmp/yashandb.1729729433.67199399dfc1/bin/yasboot host check -c yashandb --host-id host0002 --openssl begin 2024-10-24 08:23:54 INFO [yasboot] client.go:146 [172.16.1.8:22] /tmp/yashandb.1729729433.671993996baa/bin/yasboot host check -c yashandb --host-id host0003 --openssl success 2024-10-24 08:23:54 INFO [yasboot] client.go:104 [172.16.1.8:22] rm -rf /tmp/yashandb.1729729433.671993996baa begin 2024-10-24 08:23:54 INFO [yasboot] client.go:146 [172.16.1.7:22] /tmp/yashandb.1729729433.67199399dfc1/bin/yasboot host check -c yashandb --host-id host0002 --openssl success 2024-10-24 08:23:54 INFO [yasboot] client.go:104 [172.16.1.7:22] rm -rf /tmp/yashandb.1729729433.67199399dfc1 begin 2024-10-24 08:23:54 INFO [yasboot] client.go:116 [172.16.1.7:22] rm -rf /tmp/yashandb.1729729433.67199399dfc1 success 2024-10-24 08:23:54 INFO [yasboot] client.go:116 [172.16.1.8:22] rm -rf /tmp/yashandb.1729729433.671993996baa success2024-10-24 08:24:48 INFO [yasboot] client.go:131 [172.16.1.6:22] mkdir -p /tmp/yashandb.1729729488.671993d0251e/bin begin 2024-10-24 08:25:52 INFO [yasboot] client.go:146 [172.16.1.6:22] mkdir -p /tmp/yashandb.1729729488.671993d0251e/bin success 2024-10-24 08:25:52 INFO [yasboot] client.go:104 [172.16.1.6:22] ls -l /tmp/yashandb.1729729488.671993d0251e/bin begin 2024-10-24 08:26:43 INFO [yasboot] client.go:116 [172.16.1.6:22] ls -l /tmp/yashandb.1729729488.671993d0251e/bin success 2024-10-24 08:27:35 INFO [yasboot] client.go:104 [172.16.1.6:22] ls -l /tmp/yashandb.1729729488.671993d0251e/bin begin 2024-10-24 08:28:23 INFO [yasboot] client.go:116 [172.16.1.6:22] ls -l /tmp/yashandb.1729729488.671993d0251e/bin success 2024-10-24 08:28:23 INFO [yasboot] client.go:237 copy file from [172.16.1.6:53882]:/data/db/bin/yasboot to [172.16.1.6:22]:/tmp/yashandb.1729729488.671993d0251e/bin/yasboot begin 2024-10-24 08:29:11 INFO [yasboot] client.go:243 copy file from [172.16.1.6:53882]:/data/db/bin/yasboot to [172.16.1.6:22]:/tmp/yashandb.1729729488.671993d0251e/bin/yasboot success 2024-10-24 08:29:11 INFO [yasboot] client.go:104 [172.16.1.6:22] chmod +x /tmp/yashandb.1729729488.671993d0251e/bin/yasboot begin 2024-10-24 08:30:00 INFO [yasboot] client.go:116 [172.16.1.6:22] chmod +x /tmp/yashandb.1729729488.671993d0251e/bin/yasboot success 2024-10-24 08:30:00 INFO [yasboot] client.go:131 [172.16.1.6:22] /tmp/yashandb.1729729488.671993d0251e/bin/yasboot host info -a begin 2024-10-24 08:30:49 INFO [yasboot] client.go:146 [172.16.1.6:22] /tmp/yashandb.1729729488.671993d0251e/bin/yasboot host info -a success 2024-10-24 08:30:49 INFO [yasboot] client.go:131 [172.16.1.6:22] /tmp/yashandb.1729729488.671993d0251e/bin/yasboot host check -c yashandb --host-id host0001 begin 2024-10-24 08:31:40 INFO [yasboot] client.go:146 [172.16.1.6:22] /tmp/yashandb.1729729488.671993d0251e/bin/yasboot host check -c yashandb --host-id host0001 success 2024-10-24 08:31:40 INFO [yasboot] client.go:131 [172.16.1.6:22] /tmp/yashandb.1729729488.671993d0251e/bin/yasboot host check -c yashandb --host-id host0001 --openssl begin 2024-10-24 08:32:28 INFO [yasboot] client.go:146 [172.16.1.6:22] /tmp/yashandb.1729729488.671993d0251e/bin/yasboot host check -c yashandb --host-id host0001 --openssl success 2024-10-24 08:32:28 INFO [yasboot] client.go:104 [172.16.1.6:22] rm -rf /tmp/yashandb.1729729488.671993d0251e begin 2024-10-24 08:33:19 INFO [yasboot] client.go:116 [172.16.1.6:22] rm -rf /tmp/yashandb.1729729488.671993d0251e success 2024-10-24 08:33:19 INFO [yasboot] convert.go:112 opt.GroupConfig: map[]
hosts.toml
[yashan@yashan-node01 db]$ cat hosts.toml
uuid = "6719a14d837720140519ce24af1022da"
cluster = "yashandb"
yas_type = "SE"
secret_key = "940f6944c9914ff4"
add_yasdba = true[om]hostid = "host0001"[om.config]LISTEN_ADDR = "172.16.1.6:1675"[[host]]hostid = "host0001"group = "yashan"user = "yashan"password = "yashan"ip = "172.16.1.6"port = 22path = "/data/yashan/yasdb_home"[host.yasagent][host.yasagent.config]LISTEN_ADDR = "172.16.1.6:1676"[[host]]hostid = "host0002"group = "yashan"user = "yashan"password = "yashan"ip = "172.16.1.7"port = 22path = "/data/yashan/yasdb_home"[host.yasagent][host.yasagent.config]LISTEN_ADDR = "172.16.1.7:1676"[[host]]hostid = "host0003"group = "yashan"user = "yashan"password = "yashan"ip = "172.16.1.8"port = 22path = "/data/yashan/yasdb_home"[host.yasagent][host.yasagent.config]LISTEN_ADDR = "172.16.1.8:1676"
yashadb.toml
[yashan@yashan-node01 db]$ cat yashandb.toml
cluster = "yashandb"
create_simple_schema = false
uuid = "6719a14d837720140519ce24af1022da"
yas_type = "SE"[[group]]group_type = "db"name = "dbg1"[group.config]CHARACTER_SET = "utf8"ISARCHIVELOG = trueREDO_FILE_NUM = 4REDO_FILE_SIZE = "128M"[[group.node]]data_path = "/data/yashan/yasdb_data"hostid = "host0001"role = 1[group.node.config]CGROUP_ROOT_DIR = "/sys/fs/cgroup"LISTEN_ADDR = "172.16.1.6:1688"REPLICATION_ADDR = "172.16.1.6:1689"RUN_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.2.4.100/log/yashandb/db-1-1/run"RUN_LOG_LEVEL = "INFO"SLOW_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.2.4.100/log/yashandb/db-1-1/slow"[[group.node]]data_path = "/data/yashan/yasdb_data"hostid = "host0002"role = 2[group.node.config]CGROUP_ROOT_DIR = "/sys/fs/cgroup"LISTEN_ADDR = "172.16.1.7:1688"REPLICATION_ADDR = "172.16.1.7:1689"RUN_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.2.4.100/log/yashandb/db-1-2/run"RUN_LOG_LEVEL = "INFO"SLOW_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.2.4.100/log/yashandb/db-1-2/slow"[[group.node]]data_path = "/data/yashan/yasdb_data"hostid = "host0003"role = 2[group.node.config]CGROUP_ROOT_DIR = "/sys/fs/cgroup"LISTEN_ADDR = "172.16.1.8:1688"REPLICATION_ADDR = "172.16.1.8:1689"RUN_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.2.4.100/log/yashandb/db-1-3/run"RUN_LOG_LEVEL = "INFO"SLOW_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.2.4.100/log/yashandb/db-1-3/slow"
安装软件
[yashan@yashan-node01 db]$ ./bin/yasboot package install -t hosts.toml -i ../yashandb-23.2.4.100-linux-x86_64.tar.gz
host host0003 openssl version: OpenSSL 1.1.1n 15 Mar 2022
OpenSSL version is 1.1.1 or greater
host host0002 openssl version: OpenSSL 1.1.1n 15 Mar 2022
OpenSSL version is 1.1.1 or greater
host host0001 openssl version: OpenSSL 1.1.1n 15 Mar 2022
OpenSSL version is 1.1.1 or greater
checking install package...
install version: yashandb 23.2.4.100
host0001 100% [====================================================================] 1m51s
host0002 100% [====================================================================] 3s
host0003 100% [====================================================================] 9s
update host to yasom...
部署数据库
./bin/yasboot cluster deploy -t yashandb.toml -d --child
[yashan@yashan-node01 db]$ ./bin/yasboot cluster deploy -t yashandb.toml -d --childtype | uuid | name | hostid | index | status | return_code | progress | cost
-------------------------------------------------------------------------------------------------------------------------task | 4f28943841ff4c0c | DeployYasdbCluster | - | yashandb | SUCCESS | 0 | 100 | 40
-------+------------------+---------------------+----------+-------------------+---------+-------------+----------+------child | f99fab6e857e73fb | DeployDBPrimary | host0001 | yashandb.1-1 | SUCCESS | 0 | 100 | 13 +------------------+---------------------+----------+-------------------+---------+-------------+----------+------| 6643f4650194e1f5 | DeployDBStandby | host0002 | yashandb.1-2 | SUCCESS | 0 | 100 | 23 +------------------+---------------------+----------+-------------------+---------+-------------+----------+------| e696897eeb6dec14 | DeployDBStandby | host0003 | yashandb.1-3 | SUCCESS | 0 | 100 | 19 +------------------+---------------------+----------+-------------------+---------+-------------+----------+------| 6564a95190aa664a | DeployPrimaryAutoHA | host0001 | yashandb.1-1 | SUCCESS | 0 | 100 | 1 +------------------+---------------------+----------+-------------------+---------+-------------+----------+------| f8f80054eea33c6f | DeployStandbyAutoHA | host0002 | yashandb.1-2 | SUCCESS | 0 | 100 | 1 +------------------+---------------------+----------+-------------------+---------+-------------+----------+------| 451bafeab76c2089 | DeployStandbyAutoHA | host0003 | yashandb.1-3 | SUCCESS | 0 | 100 | 1 +------------------+---------------------+----------+-------------------+---------+-------------+----------+------| 25c79300167a49fd | SyncNodeConfig | - | yashandb | SUCCESS | 0 | 100 | 1 +------------------+---------------------+----------+-------------------+---------+-------------+----------+------| 093dc65848a293b1 | MonitReload | host0001 | yashandb-host0001 | SUCCESS | 0 | 100 | 1 +------------------+---------------------+----------+-------------------+---------+-------------+----------+------| e444d2ad31e6a1d4 | MonitReload | host0002 | yashandb-host0002 | SUCCESS | 0 | 100 | 1 +------------------+---------------------+----------+-------------------+---------+-------------+----------+------| 82acd217068fd8b8 | MonitReload | host0003 | yashandb-host0003 | SUCCESS | 0 | 100 | 1
-------+------------------+---------------------+----------+-------------------+---------+-------------+----------+------
task completed, status: SUCCESSSucceed.Succeed.1 row affected.
进程
- 执行安装的节点存在yasom进程
# 执行安装的节点
[yashan@yashan-node01 conf]$ ps -ef|grep yas
root 1429 1409 0 07:38 pts/0 00:00:00 su - yashan
yashan 1430 1429 0 07:38 pts/0 00:00:00 -bash
yashan 1481 1 0 07:44 ? 00:00:00 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasom -c yashandb -l 172.16.1.6:1675 -d
yashan 1510 1 0 07:45 ? 00:00:00 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasagent -c yashandb -l 172.16.1.6:1676 -d
yashan 1542 1 39 07:50 ? 00:00:36 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasdb open -D /data/yashan/yasdb_data/db-1-1
# 其他节点
[yashan@yashan-node2 ~]$ ps -ef|grep yas
root 1552 1387 0 07:50 pts/0 00:00:00 su - yashan
yashan 1553 1552 0 07:50 pts/0 00:00:00 -bash
yashan 1592 1 0 07:50 ? 00:00:00 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasagent -c yashandb -l 172.16.1.7:1676 -d
yashan 1604 1 97 07:50 ? 00:01:06 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasdb open -D /data/yashan/yasdb_data/db-1-2
# 其他节点
[yashan@yashan-node3 conf]$ ps -ef|grep yas
root 1429 1391 0 07:38 pts/0 00:00:00 su - yashan
yashan 1430 1429 0 07:38 pts/0 00:00:00 -bash
yashan 1521 1 0 07:50 ? 00:00:00 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasagent -c yashandb -l 172.16.1.8:1676 -d
yashan 1534 1 34 07:50 ? 00:00:46 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasdb open -D /data/yashan/yasdb_data/db-1-3
- 如果节点没启动agent,在node01节点启动数据库集群会提示其他节点agent无法连接
[yashan@yashan-node01 conf]$ yasboot cluster start -c yashandb
failed to connect host [172.16.1.7, 172.16.1.8] yasagent
- 其他节点不存在yasom.toml文件
[yashan@yashan-node2 ~]$ yasboot process yasom start -c yashandb
can not find conf /data/yashan/yasdb_home/yashandb/23.2.4.100/om/yashandb/conf/yasom.toml,plz check it
agent 进程状态
[yashan@yashan-node01 ~]$ yasboot process yasagent status -c yashandbhostid | pid | run_user | listen_address | run_path | log_path
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------host0001 | 1485 | yashan | 172.16.1.6:1676 | /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasagent | /data/yashan/yasdb_home/yashandb/23.2.4.100/om/yashandb/log/yasagent.log
----------+------+----------+-----------------+----------------------------------------------------------+--------------------------------------------------------------------------host0002 | 1455 | yashan | 172.16.1.7:1676 | /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasagent | /data/yashan/yasdb_home/yashandb/23.2.4.100/om/yashandb/log/yasagent.log
----------+------+----------+-----------------+----------------------------------------------------------+--------------------------------------------------------------------------host0003 | 1467 | yashan | 172.16.1.8:1676 | /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasagent | /data/yashan/yasdb_home/yashandb/23.2.4.100/om/yashandb/log/yasagent.log
----------+------+----------+-----------------+----------------------------------------------------------+--------------------------------------------------------------------------
yasom进程状态
[yashan@yashan-node01 ~]$ yasboot process yasom status -c yashandbhostid | pid | run_user | listen_address | run_path | log_path
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------host0001 | 1458 | yashan | 172.16.1.6:1675 | /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasom | /data/yashan/yasdb_home/yashandb/23.2.4.100/om/yashandb/log/yasom.log
----------+------+----------+-----------------+-------------------------------------------------------+-----------------------------------------------------------------------
yasdb进程状态
[yashan@yashan-node01 ~]$ yasboot process yasdb status -c yashandbhostid | node_type | nodeid | pid | instance_status | database_status | database_role | listen_address | data_path
---------------------------------------------------------------------------------------------------------------------------------------------host0001 | db | 1-1:1 | 1511 | open | normal | standby | 172.16.1.6:1688 | /data/yashan/yasdb_data/db-1-1
----------+-----------+--------+------+-----------------+-----------------+---------------+-----------------+--------------------------------
客户端安装
useradd -d /home/yasdb -m yasdb
echo "yashan" |passwd --stdin yasdb
su - yasdb
mkdir yashandb_client
cd yashandb_client
tar -zxvf /data/yashandb-client-23.3.1.100-linux-x86_64.tar.gz
cat >> ~/.bashrc <<EOF
export PATH=$PATH:/home/yasdb/yashandb_client/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/yasdb/yashandb_client/lib
EOF
source ~/.bashrc
自动选主
- 重启数据库集群可在任意一个节点执行,重启后会重新选主
- 如果某个节点的
agent
不可用时,无法重启集群
- 但是db是可以的重启的
yasboot process yasdb
只能重启本机的db实例(猛的一看,以为可以重启yashandb所有节点,原来是集群当前节点的db实例)
#重启本机集群yashandb下的所有节点
$ yasboot process yasdb restart -c yashandb#重启本机yashandb集群的单个节点
$ yasboot process yasdb restart -c yashandb --node-id 2-1 --start-mode open
YCM
用户与环境
# 新建yasmanager用户
useradd -d /home/yasmanager -m yasmanager
echo "yasmanager" |passwd --stdin yasmanager
cat >> /etc/sudoers << EOF
yasmanager ALL=(ALL)NOPASSWD:ALL
EOFcd ~
mkdir /data/install -p
tar -zxvf yashandb-cloud-manager-23.3.1.0-linux-x86_64.tar.gz
chown yasmanager /data/install# 修改配置
vi ~/ycm/etc/deploy.yml# 修改配置
server:
install_path: /data/install # 修改安装路径为/data/install
system_user: yasmanager # 修改系统用户为安装用户
dbconfig:driver: "yashandb" # 可填参数:sqlite3,yashandb。默认是sqlite3url: "172.16.1.6:1688,172.16.1.7:1688,172.16.1.8:1688" # driver为yashandb时,该参数必填。单IP:ip:port,HA多ip:ip:port,ip:port,ip:portlibPath: "" # driver为yashandb时,默认为{YCM_INSTALL_PATH}/YCM/tool/yashandb-client/libclient:install_path: /data/install # 添加ssh主机时部署软件的目录system_user: yasmanager # 添加ssh主机时执行安装的用户
部署
数据库先创建用户
create user yasman identified by yasman;
grant dba to yasman;
执行部署
cd ~/ycm
# 重新部署会检查目录,增加 --force 参数
sudo ./ycm-init deploy --conf ./etc/deploy.yml --username yasman --password yasman --force
# 库表存在增加参数 --purge
sudo ./ycm-init deploy --conf ./etc/deploy.yml --username yasman --password yasman --force --purge
错误 数据库检查失败,报错为:rpc execute task failed: client [172.16.1.7:9070] execute failed, stdout: , stderr: om storage /data/yashan/yasdb_home/yashandb/23.2.4.100/om/yashandb/data/cod_domor.db not found, please check 'yasom' is already deployed in this host?
启停
# /data/install为管理平台安装路径示例,请使用实际路径
# yasmanager
/data/install/ycm/monit/monitctl run stop -g ycm
/data/install/ycm/monit/monitctl run stop -g prometheus
/data/install/ycm/monit/monitctl run stop -g loki
/data/install/ycm/monit/monitctl run stop -g promtail
/data/install/ycm/monit/monitctl run stop -g yashandb_exporter
/data/install/ycm/monit/monitctl stop# /opt/ycm为ycm-agent安装路径示例,请使用实际路径
# root
/data/install/ycm-agent/monit/monitctl run stop -g ycm-agent
/data/install/ycm-agent/monit/monitctl run stop -g node_exporter
/data/install/ycm-agent/monit/monitctl run stop -g promtail
/data/install/ycm-agent/monit/monitctl stop# /data/install为管理平台安装路径示例,请使用实际路径
# yasmanager
/data/install/ycm/monit/monitctl start
/data/install/ycm/monit/monitctl run start -g ycm
/data/install/ycm/monit/monitctl run start -g prometheus
/data/install/ycm/monit/monitctl run start -g loki
/data/install/ycm/monit/monitctl run start -g promtail
/data/install/ycm/monit/monitctl run start -g yashandb_exporter# /opt/ycm为ycm-agent安装路径示例,请使用实际路径
# root
/data/install/ycm-agent/monit/monitctl start
/data/install/ycm-agent/monit/monitctl run start -g ycm-agent
/data/install/ycm-agent/monit/monitctl run start -g node_exporter
/data/install/ycm-agent/monit/monitctl run start -g promtail
- 这个提示我知道的是yasdb的主机没起来,可以把IP打印出来更清晰
yashandb connection failed: YAS-00402 failed to connect socket, errno 113, error message "No route to host"
2024-10-28 08:00:51 FATAL db/yashandb.go:22 yashandb connection failed: YAS-00402 failed to connect socket, errno 113, error message "No route to host"
YMP
环境用户
useradd -d /home/ymp -m ymp
echo "ymp" |passwd --stdin ymp
cat >> /etc/sudoers << EOF
ymp ALL=(ALL)NOPASSWD:ALL
EOFcat >> /etc/security/limits.d/20-nproc.conf <<EOF
ymp soft nproc 65536
ymp hard nproc 65536
EOF# 安装JDK
# https://download.oracle.com/otn/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-linux-x64.tar.gz?AuthParam=1729948771_5e0fca235c20f551a8b123accec3d2f9
cat >> /etc/profile <<EOF
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:${JAVA_HOME}/bin
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib
EOF
source /etc/profile
java -versioncreate user YMP_DEFAULT IDENTIFIED BY ymppw602 DEFAULT TABLESPACE users;GRANT ALL PRIVILEGES TO YMP_DEFAULT;GRANT DBA TO YMP_DEFAULT;
安装
# 进入安装目录执行更改密码命令,以yasdb_123为例:
$ cd /home/ymp/yashan-migrate-platform/
$ sh bin/ymp.sh password --sys yasdb_123
[ymp@yashan-ymp yashan-migrate-platform]$ sh bin/ymp.sh password --sys yasdb_123
15:32:04.917 [main] INFO com.sics.command.YmpCommandMain - Instruction input parameter: ["--operation","password","--sys","yasdb_123","--ip","172.16.1.11"]
15:32:05.734 [main] INFO com.sics.command.serviceimpl.PasswordServiceImpl - Update sys password and salt successfully!
15:32:05.734 [main] INFO com.sics.command.operation.FunctionOperation - YMP update password for SYS user successfully!
# 进入安装目录执行安装命令
$ cd /home/ymp/yashan-migrate-platform/
$ sh bin/ymp.sh install --db /home/ymp/yashandb-23.2.1.0-linux-x86_64.tar.gz
[ymp@yashan-ymp yashan-migrate-platform]$ sh bin/ymp.sh install --db /data/yashandb-23.2.4.100-linux-x86_64.tar.gz
15:36:00.986 [main] INFO com.sics.command.YmpCommandMain - Instruction input parameter: ["--operation","install","--db","/data/yashandb-23.2.4.100-linux-x86_64.tar.gz","","","--ip","172.16.1.11","--memory","4G"]
15:36:01.385 [main] INFO com.sics.command.serviceimpl.CheckServiceImpl - Check for env before install is successfully!
15:36:10.621 [main] INFO com.sics.command.serviceimpl.PackageServiceImpl - Db package unpackage successfully!
15:36:20.316 [main] INFO com.sics.command.serviceimpl.PackageServiceImpl - Yasldr package unpackage successfully!
15:36:20.646 [main] INFO com.sics.command.util.CommandUtil - host host0001 openssl version: OpenSSL 1.1.1n 15 Mar 2022
15:36:20.647 [main] INFO com.sics.command.util.CommandUtil - OpenSSL version is 1.1.1 or greater
15:36:20.647 [main] INFO com.sics.command.util.CommandUtil - host host0001 openssl version: OpenSSL 1.1.1n 15 Mar 2022
15:36:20.647 [main] INFO com.sics.command.util.CommandUtil - OpenSSL version is 1.1.1 or greater
15:36:20.647 [main] INFO com.sics.command.util.CommandUtil - hostid | group | node_type | node_name | listen_addr | replication_addr | data_path
15:36:20.648 [main] INFO com.sics.command.util.CommandUtil - ----------------------------------------------------------------------------------------------------------------------------
15:36:20.648 [main] INFO com.sics.command.util.CommandUtil - host0001 | dbg1 | db | 1-1 | 0.0.0.0:8091 | 127.0.0.1:8092 | /home/ymp/yashan-migrate-platform/db/data/ymp
15:36:20.648 [main] INFO com.sics.command.util.CommandUtil - ----------+-------+-----------+-----------+--------------+------------------+-----------------------------------------------
15:36:20.648 [main] INFO com.sics.command.util.CommandUtil -
15:36:20.648 [main] INFO com.sics.command.util.CommandUtil - Generate config completed
15:36:23.080 [main] INFO com.sics.command.util.CommandUtil - host host0001 openssl version: OpenSSL 1.1.1n 15 Mar 2022
15:36:23.080 [main] INFO com.sics.command.util.CommandUtil - OpenSSL version is 1.1.1 or greater
15:36:23.080 [main] INFO com.sics.command.util.CommandUtil - checking install profile.toml...
15:36:23.080 [main] INFO com.sics.command.util.CommandUtil - install version: yashandb 23.2.4.100
15:36:23.080 [main] INFO com.sics.command.util.CommandUtil - update host to yasom...
15:36:23.546 [main] INFO com.sics.command.util.CommandUtil - type | uuid | name | hostid | index | status | return_code | progress | cost
15:36:23.546 [main] INFO com.sics.command.util.CommandUtil - ---------------------------------------------------------------------------------------------------------type | uuid | name | hostid | index | status | return_code | progress | cost
15:36:25.563 [main] INFO com.sics.command.util.CommandUtil - ---------------------------------------------------------------------------------------------------------type | uuid | name | hostid | index | status | return_code | progress | cost
15:36:27.611 [main] INFO com.sics.command.util.CommandUtil - ---------------------------------------------------------------------------------------------------------type | uuid | name | hostid | index | status | return_code | progress | cost
15:36:51.697 [main] INFO com.sics.command.util.CommandUtil - ---------------------------------------------------------------------------------------------------------
15:36:51.697 [main] INFO com.sics.command.util.CommandUtil - task | 038f1e0c4ea33943 | DeployYasdbCluster | - | ymp | SUCCESS | 0 | 100 | 26
15:36:51.697 [main] INFO com.sics.command.util.CommandUtil - ------+------------------+--------------------+--------+-------+---------+-------------+----------+------
15:36:51.697 [main] INFO com.sics.command.util.CommandUtil - task completed, status: SUCCESStype | uuid | name | hostid | index | status | return_code | progress | cost
15:36:55.882 [main] INFO com.sics.command.util.CommandUtil - -------------------------------------------------------------------------------------------------------
15:36:55.882 [main] INFO com.sics.command.util.CommandUtil - task | eecf9c64e9ddc954 | StopYasdbCluster | - | ymp | SUCCESS | 0 | 100 | 2
15:36:55.882 [main] INFO com.sics.command.util.CommandUtil - ------+------------------+------------------+--------+-------+---------+-------------+----------+------
15:36:55.882 [main] INFO com.sics.command.util.CommandUtil - task completed, status: SUCCESStype | uuid | name | hostid | index | status | return_code | progress | cost
15:36:59.986 [main] INFO com.sics.command.util.CommandUtil - --------------------------------------------------------------------------------------------------------
15:36:59.986 [main] INFO com.sics.command.util.CommandUtil - task | 371c23dd524de381 | StartYasdbCluster | - | ymp | SUCCESS | 0 | 100 | 3
15:36:59.986 [main] INFO com.sics.command.util.CommandUtil - ------+------------------+-------------------+--------+-------+---------+-------------+----------+------
15:36:59.986 [main] INFO com.sics.command.util.CommandUtil - task completed, status: SUCCESS
[Mem:, 7820, 3249, 2091, 8, 2479, 4308]
15:37:00.070 [main] WARN com.sics.command.serviceimpl.CheckServiceImpl - Install YMP without OCI client path, the data migration from Oracle to Yashan will be unavailable!
15:37:00.075 [main] INFO com.sics.command.serviceimpl.PasswordServiceImpl - Update sys password and salt successfully!
YMP started successfully!
[ymp@yashan-ymp yashan-migrate-platform]$
运行状态
[ymp@yashan-ymp yashan-migrate-platform]$ sh bin/ymp.sh status
15:38:28.576 [main] INFO com.sics.command.YmpCommandMain - Instruction input parameter: ["--operation","status"]
15:38:28.749 [main] INFO com.sics.command.serviceimpl.StatusServiceImpl - YMP is running, pid is 2141
2142.
15:38:28.778 [main] INFO com.sics.command.serviceimpl.StatusServiceImpl - Built-in database is used, pid is 2065.
查看版本
[ymp@yashan-ymp yashan-migrate-platform]$ cd /home/ymp/yashan-migrate-platform/
[ymp@yashan-ymp yashan-migrate-platform]$ sh bin/ymp.sh -v
15:39:19.333 [main] INFO com.sics.command.YmpCommandMain - Instruction input parameter: ["--operation","version"]
15:39:19.542 [main] INFO com.sics.command.operation.QueryOperation -
Yashan-migrate-platform version: Release v23.3.1.0
YashanDB SQL Enterprise Edition Release 23.2.4.100 x86_64
YashanDB Loader Enterprise Edition Release 23.2.4.100 x86_64 6db1237
重启实例
添加数据源,内置数据库的端口是 8091
检查结果
忽略通过了,这里的兼容性得看下文档说明,仅从页面提示无法完全理解
# 原表business_id 是个主键 这个为什么不通过?
CREATE UNIQUE INDEX `PRIMARY` ON `xxx`.`xxxxx` (`business_id`);
本次检查不通过的情形包括
- 原来主键是 int unsigned,转换后可能会超出目标数据库的上线
- 原来的表名已经接近64个字符,但是一旦有关对象创建的时候可能会超过64个字符
YAS-04108,name exceeding limit 64
,比如主键、序列 - 原来的表存在相同索引字段(不同索引名),目标创建索引时造成相同索引冲突
- 原来的库不同名表,但是索引名相同,目标创建索引对象时命名冲突
磁盘满了
https://doc.yashandb.com/yashandb/23.1/zh/数据库管理/故障诊断/巡检.html
SELECT incident_id, session_id, error_number, error_argument, error_comments FROM V$DIAG_INCIDENT;INCIDENT_ID SESSION_ID ERROR_NUMBER ERROR_ARGUMENT ERROR_COMMENTS
--------------------- ------------ ------------ ---------------------------------------------------------------- ---------------------------------------------------------------- 1 4 212 [ARCH] failed to achieve redo file, asn 18. error message file operation "write file" failed, errno 28, error message "No space left on device"2 4 103 archive log failed to achieve redo file, asn 18 3 4 212 [ARCH] failed to achieve redo file, asn 18. error message file operation "write file" failed, errno 28, error message "No space left on device"4 4 103 archive log failed to achieve redo file, asn 18 4 rows fetched.
- 原表字段不为空,迁移过程中报插入空数据错误
这个本来还想看下csv文件,一看上G的csv文件放弃了,这里是否可以把出问题的行打印出来?
迁移后校验
- json似乎不支持?
YMP-00006 特性未实现:源端表[xxx_balance]有不支持的数据类型:[json] 目标端表[xxx_BALANCE]有不支持的数据类型:[JSON]
- datetime数据类型不支持
windows开发客户端
体验总结
-
整体入手难度不大,提供的管理、迁移工具可以满足日常的使用
-
上面的迁移来源库是MySQL,猜测可能从MySQL迁移到崖山的场景并不是主推,更多还是在去O上;迁移上出现了不少问题,断断续续搞了大半天,手上已经没有Oracle数据,暂时还测不了O到yashan的迁移
-
上手过程有种错觉,这是oracle数据库?各种视图用来是那么的熟悉
-
主备模式自带自动切换功能,这点视乎变成了标配,必须点赞一个
-
产品的说明文档也不错,遇到问题直接搜索,目前遇到的问题大部分可以检索出来并解决
-
dbeaver for yashan 这个目前已经无法从官网下载,不过yasql尚能满足管理、开发