操作系统:Windows 10 专业版
下载dockerdesktop并安装
https://docs.docker.com/desktop/windows/install/
配置docker资源:
搜索oceanbase镜像并下载
D:\Users\test>docker search oceanbase
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
oceanbase/oceanbase-xe OceanBase Database 2.2 Express Edition 4
oceanbase/obce-mini obce-mini is a mini standalone test image fo… 3
oceanbase/oceanbase-ce OceanBase is open source now. This is the do… 3
obpilot/oceanbase-ce 3 steps to run an OceanBase-CE docker in you… 2
oceanbase/obce-operator obce-operator 1
zibuyu886/oceanbase-ce-cluster OceanBase ce cluster 1
oceanbase/centos7 0
huweijie/oceanbase-ce-deploy 0
superbigfu/oceanbase 0
20220121/oceanbase 0
hongweiqin/anolisos-oceanbase A tentative deploy of oceanbase. 0
stutiredboy/centos_ob Build environment for OceanBase 3.1 CE. Crea… 0
D:\Users\test>docker pull oceanbase/obce-mini
Using default tag: latest
latest: Pulling from oceanbase/obce-mini
13add961a70d: Pull complete
7e25e159732e: Pull complete
6387a3280aea: Pull complete
Digest: sha256:a2891f3c3235d81e797e90b370c55582af2caea5ffb11f13da59fc4e0f260e9d
Status: Downloaded newer image for oceanbase/obce-mini:latest
docker.io/oceanbase/obce-mini:latest
启动 OceanBase Docker 容器
D:\Users\test>docker run -p 2881:2881 --name obce-mini -d -e OB_HOME_PATH="/root/obce/" -e OB_TENANT_NAME="obmysql" oceanbase/obce-mini
72403388ba71c1b017cf9e825842a5c1b15284d1ae6abdacd55284d56aa5ee63
D:\Users\test>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72403388ba71 oceanbase/obce-mini "/bin/sh -c _boot" 57 seconds ago Up 56 seconds 0.0.0.0:2881->2881/tcp obce-mini
查看日志
D:\Users\test>docker logs obce-mini
generate boot.yaml ...
create boot dirs and deploy ob cluster ...
Package oceanbase-ce-3.1.0 is available.
install oceanbase-ce-3.1.0 for local ok
+-----------------------------------------------------------------------------+
| Packages |
+--------------+---------+---------+------------------------------------------+
| Repository | Version | Release | Md5 |
+--------------+---------+---------+------------------------------------------+
| oceanbase-ce | 3.1.0 | 2.el7 | afd11d52f83eef4b456d77969fde620c4bfba85e |
+--------------+---------+---------+------------------------------------------+
Open ssh connection ok
Remote oceanbase-ce-3.1.0-afd11d52f83eef4b456d77969fde620c4bfba85e repository install ok
Remote oceanbase-ce-3.1.0-afd11d52f83eef4b456d77969fde620c4bfba85e repository lib check !!
[WARN] 127.0.0.1 oceanbase-ce-3.1.0-afd11d52f83eef4b456d77969fde620c4bfba85e require: libaio.so.1
[WARN] 127.0.0.1 oceanbase-ce-3.1.0-afd11d52f83eef4b456d77969fde620c4bfba85e require: libmariadb.so.3
Try to get lib-repository
Package oceanbase-ce-libs-3.1.0 is available.
install oceanbase-ce-libs-3.1.0 for local ok
Use oceanbase-ce-libs-3.1.0-47300ca1ac4c62493caf3e9235b105e242e533b5 for oceanbase-ce-3.1.0-afd11d52f83eef4b456d77969fde620c4bfba85e
Remote oceanbase-ce-libs-3.1.0-47300ca1ac4c62493caf3e9235b105e242e533b5 repository install ok
Remote oceanbase-ce-3.1.0-afd11d52f83eef4b456d77969fde620c4bfba85e repository lib check ok
Cluster status check ok
127.0.0.1 initializes cluster work home
mini-ce deployed
start ob cluster ...
Get local repositories and plugins ok
Open ssh connection ok
Cluster param config check ok
Check before start observer ok
Start observer ok
observer program health check ok
Connect to observer ok
Initialize cluster
Cluster bootstrap ok
Wait for observer init ok
+---------------------------------------------+
| observer |
+-----------+---------+------+-------+--------+
| ip | version | port | zone | status |
+-----------+---------+------+-------+--------+
| 127.0.0.1 | 3.1.0 | 2881 | zone1 | active |
+-----------+---------+------+-------+--------+
mini-ce running
generate init_tenant.sql ...
init tenant and sysbench database ...
boot success!
进入容器
D:\Users\test>docker exec -it obce-mini bash
[root@72403388ba71 /]#
查看OceanBase社区版的YUM仓库
[root@72403388ba71 /]# cat /etc/yum.repos.d/OceanBase.repo
# OceanBase.repo
[oceanbase.community.stable]
name=OceanBase-community-stable-el$releasever
baseurl=http://mirrors.aliyun.com/oceanbase/community/stable/el/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/oceanbase/RPM-GPG-KEY-OceanBase
[oceanbase.development-kit]
name=OceanBase-development-kit-el$releasever
baseurl=http://mirrors.aliyun.com/oceanbase/development-kit/el/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/oceanbase/RPM-GPG-KEY-OceanBase
查看OBSERVER进程特点
[root@72403388ba71 /]# yum -y install sysvinit-tools
[root@72403388ba71 /]# ps -ef|grep observer
root 84 1 69 07:14 ? 00:52:27 /root/.obd/repository/oceanbase-ce/3.1.0/afd11d52f83eef4b456d77969fde620c4bfba85e/bin/observer -r 127.0.0.1:2882:2881 -o __min_full_resource_pool_memory=268435456,memory_limit=8G,system_memory=4G,stack_size=512K,cpu_count=16,cache_wash_threshold=1G,workers_per_cpu_quota=10,schema_history_expire_time=1d,net_thread_count=4,sys_bkgd_migration_retry_num=3,minor_freeze_times=10,enable_separate_sys_clog=0,enable_merge_by_turn=False,enable_auto_leader_switch=False,enable_one_phase_commit=False,weak_read_version_refresh_interval=5s,trace_log_slow_query_watermark=10s,large_query_threshold=1s,clog_sync_time_warn_threshold=2000ms,syslog_io_bandwidth_limit=10M,enable_sql_audit=False,enable_perf_event=False,clog_max_unconfirmed_log_count=5000,autoinc_cache_refresh_interval=86400s,cpu_quota_concurrency=2,datafile_size=5G,enable_syslog_recycle=True,max_syslog_file_count=2,enable_early_lock_release=false tenant=all,default_compress_func=lz4_1.0,root_password=None -z zone1 -p 2881 -P 2882 -c 1 -d /root/obce//store -i lo -l WARN
root 624 603 0 08:30 pts/0 00:00:00 grep --color=auto observer
[root@72403388ba71 /]# ll /proc/`pidof observer`/{cwd,exe,cmdline}
-r--r--r-- 1 root root 0 Mar 3 07:14 /proc/84/cmdline
lrwxrwxrwx 1 root root 0 Mar 3 07:14 /proc/84/cwd -> /root/obce
lrwxrwxrwx 1 root root 0 Mar 3 07:14 /proc/84/exe -> /root/.obd/repository/oceanbase-ce/3.1.0/afd11d52f83eef4b456d77969fde620c4bfba85e/bin/observer
[root@72403388ba71 /]# cat /proc/`pidof observer`/cmdline
/root/.obd/repository/oceanbase-ce/3.1.0/afd11d52f83eef4b456d77969fde620c4bfba85e/bin/observer-r127.0.0.1:2882:2881-o__min_full_resource_pool_memory=268435456,memory_limit=8G,system_memory=4G,stack_size=512K,cpu_count=16,cache_wash_threshold=1G,workers_per_cpu_quota=10,schema_history_expire_time=1d,net_thread_count=4,sys_bkgd_migration_retry_num=3,minor_freeze_times=10,enable_separate_sys_clog=0,enable_merge_by_turn=False,enable_auto_leader_switch=False,enable_one_phase_commit=False,weak_read_version_refresh_interval=5s,trace_log_slow_query_watermark=10s,large_query_threshold=1s,clog_sync_time_warn_threshold=2000ms,syslog_io_bandwidth_limit=10M,enable_sql_audit=False,enable_perf_event=False,clog_max_unconfirmed_log_count=5000,autoinc_cache_refresh_interval=86400s,cpu_quota_concurrency=2,datafile_size=5G,enable_syslog_recycle=True,max_syslog_file_count=2,enable_early_lock_release=false tenant=all,default_compress_func=lz4_1.0,root_password=None-zzone1-p2881-P2882-c1-d/root/obce//store-ilo-lWARN
查看监听端口
[root@72403388ba71 /]# yum install -y net-tools
[root@72403388ba71 /]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:2881 0.0.0.0:* LISTEN 84/observer
tcp 0 0 0.0.0.0:2882 0.0.0.0:* LISTEN 84/observer
查看OceanBase工作目录结构
[root@72403388ba71 /]# yum -y install tree
[root@72403388ba71 /]# tree /root/obce
/root/obce
|-- admin
|-- etc
| |-- observer.config.bin
| `-- observer.config.bin.history
|-- etc2
| |-- observer.conf.bin
| `-- observer.conf.bin.history
|-- etc3
| |-- observer.conf.bin
| `-- observer.conf.bin.history
|-- log
| |-- election.log
| |-- election.log.wf
| |-- observer.log
| |-- observer.log.wf
| |-- rootservice.log
| `-- rootservice.log.wf
|-- run
| |-- mysql.sock
| `-- observer.pid
`-- store
|-- clog
| `-- 1
|-- clog_shm
|-- ilog
| `-- 1
|-- ilog_shm
|-- slog
| `-- 1
`-- sstable
`-- block_file
11 directories, 20 files
使用obclient登录oceanbase
[root@72403388ba71 /]# obclient -uroot -h127.1 -P2881
Welcome to the OceanBase. Commands end with ; or \g.
Your MySQL connection id is 3221487860
Server version: 5.7.25 OceanBase 3.1.0 (r-00672c3c730c3df6eef3b359eae548d8c2db5ea2) (Built Jun 22 2021 12:46:28)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>
查看租户,为免新增租户资源不够,先把系统默认配置的obmysql租户及相关资源删除:
MySQL [oceanbase]> select tenant_id, tenant_name, compatibility_mode,zone_list, locality ,primary_zone ,gmt_modified from __all_tenant;
+-----------+-------------+--------------------+-----------+---------------+--------------+----------------------------+
| tenant_id | tenant_name | compatibility_mode | zone_list | locality | primary_zone | gmt_modified |
+-----------+-------------+--------------------+-----------+---------------+--------------+----------------------------+
| 1 | sys | 0 | zone1 | FULL{1}@zone1 | zone1 | 2022-03-03 15:15:09.624689 |
+-----------+-------------+--------------------+-----------+---------------+--------------+----------------------------+
| 1001 | obmysql | 0 | zone1 | FULL{1}@zone1 | RANDOM | 2022-03-03 15:15:14.237155 |
+-----------+-------------+--------------------+-----------+---------------+--------------+----------------------------+
1 row in set (0.001 sec)
MySQL [oceanbase]> drop tenant obmysql force;
Query OK, 0 rows affected (0.040 sec)
MySQL [oceanbase]> drop resource pool obmysql;
Query OK, 0 rows affected (0.027 sec)
MySQL [oceanbase]> drop resource unit obmysql;
Query OK, 0 rows affected (0.026 sec)
重新创建资源和租户
MySQL [oceanbase]> create resource unit obmysql max_cpu=5, min_cpu=5, max_memory='2G', min_memory='1G', max_iops=1000, min_iops=1000, max_session_num=1000,max_disk_size='10G';
Query OK, 0 rows affected (0.041 sec)
MySQL [oceanbase]> create resource pool obmysql unit='obmysql',unit_num=1;
Query OK, 0 rows affected (0.046 sec)
MySQL [oceanbase]> create tenant obmysql resource_pool_list=('obmysql'),primary_zone='RANDOM';
Query OK, 0 rows affected (0.830 sec)
使用创建的租户登录oceanbase并创建数据库和表
[root@72403388ba71 /]# obclient -h 127.1 -uroot@obmysql -P2881 -p -c
Enter password:
Welcome to the OceanBase. Commands end with ; or \g.
Your MySQL connection id is 3221488083
Server version: 5.7.25 OceanBase 3.1.0 (r-00672c3c730c3df6eef3b359eae548d8c2db5ea2) (Built Jun 22 2021 12:46:28)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| oceanbase |
| information_schema |
| mysql |
| test |
+--------------------+
4 rows in set (0.003 sec)
MySQL [(none)]> create database obtest;
Query OK, 1 row affected (0.042 sec)
MySQL [(none)]> use obtest;
Database changed
MySQL [obtest]> create table test(id int primary key,name varchar(10));
Query OK, 0 rows affected (0.095 sec)
MySQL [obtest]> insert into test values(1,'aaa');
Query OK, 1 row affected (0.015 sec)
MySQL [obtest]> select * from test;
+----+------+
| id | name |
+----+------+
| 1 | aaa |
+----+------+
1 row in set (0.001 sec)