OB指定开源版本MySQL模式单节点安装
yum源处理
yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
yum install -y ob-deploy
磁盘处理
阿里云可以买一个磁盘, 然后进行挂载, 可以分为两块盘和一块盘.
一块盘的简单处理
pvcreate /dev/vdb
vgcreate obvg /dev/vdb
lvcreate -L 20G obvg -n lvredo
lvcreate -l 100%FREE obvg -n lvdata
mkdir -p /data /redo
mkfs.ext4 /dev/obvg/lvdata
mkfs.ext4 /dev/obvg/lvredo
vim /etc/fstab
/dev/obvg/lvredo /redo ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/obvg/lvdata /data ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
-----------如果是两块高速闪存盘, 可以如下处理
pvcreate /dev/nvme1n1
vgcreate obvg /dev/nvme1n1
lvcreate -l 100%FREE obvg -n lvredo
pvcreate /dev/nvme2n1
vgcreate obvg2 /dev/nvme2n1
lvcreate -l 100%FREE obvg2 -n lvdata
mkfs.ext4 /dev/obvg2/lvdata
mkfs.ext4 /dev/obvg/lvredo
mkdir -p /redo /data
增加配置
vim /etc/fstab
/dev/obvg/lvredo /redo ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/obvg2/lvdata /data ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
useradd admin
chown -R admin /data /redo
修改部分参数
# 内存参数
vim /etc/sysctl.conf
net.core.somaxconn = 2048
net.core.netdev_max_backlog = 10000
net.core.rmem_default = 16777216
net.core.wmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.ip_local_port_range = 3500 65535
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_slow_start_after_idle=0
vm.swappiness = 0
vm.min_free_kbytes = 2097152
vm.max_map_count=655360
fs.aio-max-nr=1048576
# 安全限制
vi /etc/security/limits.conf
* soft nofile 655360
* hard nofile 655360
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited
* soft stack unlimited
* hard stack unlimited
建立特定版本的本地资源库
--eanblerepo不太管用, 建议暂时移走非oceanbase的repo
进入 /etc/yum.repos.d/ 只留下 Oceanbase.repo 的资源库文件
yum install *3.1.3* --downloadonly --downloaddir=/oceanbase3.1.3 -y
在目录下就可以看到下载的文件了.
配置文件
可以将文件保存为 /oceanbase/single.yaml 文件.
oceanbase-ce:
servers:
# Please don't use hostname, only IP can be supported
- 172.24.110.175
global:
# The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
home_path: /home/admin/oceanbase-ce
# The directory for data storage. The default value is $home_path/store.
data_dir: /data
# The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
redo_dir: /redo
# Please set devname as the network adaptor's name whose ip is in the setting of severs.
# if set severs as "127.0.0.1", please set devname as "lo"
# if current ip is 192.168.1.10, and the ip's network adaptor's name is "eth0", please use "eth0"
devname: eth0
mysql_port: 2881 # External port for OceanBase Database. The default value is 2881.
rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882.
zone: zone1
cluster_id: 1
# please set memory limit to a suitable value which is matching resource.
memory_limit: 8G # The maximum running memory for an observer
system_memory: 3G # The reserved system memory. system_memory is reserved for general tenants. The default value is 30G.
stack_size: 512K
cpu_count: 16
cache_wash_threshold: 1G
__min_full_resource_pool_memory: 268435456
workers_per_cpu_quota: 10
schema_history_expire_time: 1d
# The value of net_thread_count had better be same as cpu's core number.
net_thread_count: 4
major_freeze_duty_time: Disable
minor_freeze_times: 10
enable_separate_sys_clog: 0
enable_merge_by_turn: FALSE
# datafile_disk_percentage: 20 # The percentage of the data_dir space to the total disk space. This value takes effect only when datafile_size is 0. The default value is 90.
datafile_size: 100G
syslog_level: WARN # System log level. The default value is INFO.
enable_syslog_wf: false # Print system logs whose levels are higher than WARNING to a separate log file. The default value is true.
enable_syslog_recycle: true # Enable auto system log recycling or not. The default value is false.
max_syslog_file_count: 10 # The maximum number of reserved log files before enabling auto recycling. The default value is 0.
root_password: Testxxxx # root user password, can be empty
初始化以及启动服务
注意需要先删除在线的仓库
/bin/rm -rf ~/.obd/mirror/remote/OceanBase.repo
增加本地仓库:
obd mirror clone /oceanbase3.1.3/*.rpm
注意需要设置本地可以免密登录, 这一块与 tidb 其实是一样的.
ssh-keygen
以及设置互信登录
ssh-copy-id root@172.24.110.175
开始部署与安装.
obd cluster deploy oberp -c single.yaml
obd cluster start oberp
如果想删除可以使用:
obd cluster destroy oberp -f
客户端连接
yum install obclient -y
然后使用客户端连接:
obclient -h172.24.110.175 -P2881 -uroot -p'Testxxxx' -Doceanbase -A
mysql方式连接:
mysql -h127.0.0.1 -P2881 -pTestxxxx
# 查看字符集:
mysql> show variables like '%character%';
+--------------------------+---------+
| Variable_name | Value |
+--------------------------+---------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8mb4 |
+--------------------------+---------+
7 rows in set (0.00 sec)
# 大表验证
mysql> create table zhaobshbigtable (zhaobsh1 varchar(10000),zhaobsh2 varchar(10000),zhaobsh3 varchar(10000),zhaobsh4 varchar(10000),zhaobsh5 varchar(10000),zhaobsh6 varchar(10000),zhaobsh7 varchar(10000),zhaobsh8 varchar(10000),zhaobsh9 varchar(10000),zhaobsh10 varchar(10000)) ;
Query OK, 0 rows affected (0.02 sec)
# 版本查看
mysql> SELECT @@version;
+--------------------+
| @@version |
+--------------------+
| 3.1.3-OceanBase CE |
+--------------------+
1 row in set (0.00 sec)