当前位置: 首页 > news >正文

【yashandb】初体验

操作系统-centos7.9

最小化安装centos,缺少很多依赖包

安装依赖包

先安装wget工具

yum install wget epel-release -y

centos7.9会报错

image-20241023093012630

直接更新 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 
----------+-----------+--------+------+-----------------+-----------------+---------------+-----------------+--------------------------------

image-20241025082906657

image-20241025082927866

image-20241025082944417

image-20241025083009573

客户端安装

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

自动选主

  • 重启数据库集群可在任意一个节点执行,重启后会重新选主

image-20241025094755413

  • 如果某个节点的agent不可用时,无法重启集群

image-20241025095030744

  • 但是db是可以的重启的

image-20241025095338228

  • 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

image-20241025140916199

image-20241025141451740

错误
数据库检查失败,报错为: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

image-20241025155915104

image-20241026222018147

image-20241026222111135

image-20241026222206694

检查结果image-20241026223000785

image-20241026224404833

忽略通过了,这里的兼容性得看下文档说明,仅从页面提示无法完全理解

# 原表business_id 是个主键 这个为什么不通过?  
CREATE UNIQUE INDEX  `PRIMARY` ON  `xxx`.`xxxxx` (`business_id`);

image-20241027090459221

image-20241027090632704

本次检查不通过的情形包括

  • 原来主键是 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.

image-20241027104854702

  • 原表字段不为空,迁移过程中报插入空数据错误

image-20241027215642282

image-20241027120636721

这个本来还想看下csv文件,一看上G的csv文件放弃了,这里是否可以把出问题的行打印出来?

迁移后校验

image-20241027222447278

  • json似乎不支持?
YMP-00006 特性未实现:源端表[xxx_balance]有不支持的数据类型:[json] 目标端表[xxx_BALANCE]有不支持的数据类型:[JSON]
  • datetime数据类型不支持

image-20241027222222590

windows开发客户端

image-20241028112417239

image-20241028112529059

体验总结

  • 整体入手难度不大,提供的管理、迁移工具可以满足日常的使用

  • 上面的迁移来源库是MySQL,猜测可能从MySQL迁移到崖山的场景并不是主推,更多还是在去O上;迁移上出现了不少问题,断断续续搞了大半天,手上已经没有Oracle数据,暂时还测不了O到yashan的迁移

  • 上手过程有种错觉,这是oracle数据库?各种视图用来是那么的熟悉

  • 主备模式自带自动切换功能,这点视乎变成了标配,必须点赞一个

  • 产品的说明文档也不错,遇到问题直接搜索,目前遇到的问题大部分可以检索出来并解决

  • dbeaver for yashan 这个目前已经无法从官网下载,不过yasql尚能满足管理、开发


http://www.mrgr.cn/news/60338.html

相关文章:

  • es kibana 增加索引字段
  • 一篇文章快速认识YOLO11 | 旋转目标检测 | 原理分析 | 模型训练 | 模型推理
  • Spring 集成 Dubbo 启动容器报【Injection of @DubboReference dependencies is failed】错误
  • autoware-传感器驱动和感知算法(sensing-perception)-笔记
  • 2024 Rust现代实用教程:1.2编译器与包管理工具以及开发环境搭建
  • 大数据技术知识点小结
  • matlab实现了一个基于粒子群优化(PSO)算法的程序,用于寻找一种三层材料结构的最佳配置
  • 遗传算法与深度学习实战(20)——使用进化策略自动超参数优化
  • Django+Vue全栈开发项目入门(二)
  • 09DSP学习-F28379D发送浮点数 Vofa+接收数据 使用JustFLoat数据引擎
  • 中科院分区表能不能查SSCI分区?该怎么查?
  • 队列的实现(单链表)
  • 重采样方法(交叉验证法)——基于glm与LOOCV法(Weekly数据集分析)
  • C++-继承
  • 快速上手 Rust——环境配置与项目初始化
  • 天地图实现海量聚合marker--uniapp后端详细实现
  • 2024年推荐最详解析项目管理平台与敏捷开发的五个阶段
  • Redis内部数据结构Dict结构详解
  • DevTools 中的新滚动徽章
  • mac下使用docker安装php7.4环境
  • Spring MVC:响应结果和设置
  • Python Flask内存泄漏分析定位
  • Vue前端开发:数据绑定方法
  • php伪协议和move_uploaded_file、rename、copy等文件操作
  • 从0到1,搭建vue3项目
  • 单应性矩阵与相机内外参之间的关系