实践练习一(必选):OceanBase Docker 体验

一、操作系统版本

16G 4核 500G

1. 系统版本

2. CentOS系统的内核版本

二、Docker安装

1. 检查yum是否安装

 

2. 安装所需的软件包。

yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

sudo yum install -y yum-utils \

device-mapper-persistent-data \

lvm2

 

3. 卸载旧版本Docker及相关的依赖项

 sudo yum remove docker \

         docker-client \

         docker-client-latest \

         docker-common \

         docker-latest \

         docker-latest-logrotate \

         docker-logrotate \

         docker-engine

4. 安装Docker

4.1 设置稳定的仓库

sudo yum-config-manager \

   --add-repo \

  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 

4.2 Docker的安装方式

4.2.1安装最新版本的 Docker Engine-Community 和 containerd

sudo yum install docker-ce docker-ce-cli containerd.io

4.2.2安装特定版本

① 查询可用版本

yum list docker-ce --showduplicates | sort -r

 

② 通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。

sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

sudo yum install docker-ce-20.10.22 docker-ce-cli-20.10.12 containerd.io

4.3 启动 Docker

sudo systemctl start docker

通过运行hello-world映像来验证是否正确安装了Docker Engine-Community。

sudo docker run hello-world

 

4.4 查看docker版本

docker version

 

4.5 显示docker系统的信息

docker info

 

4.6 日志信息

docker logs

 

4.7 故障检查

service docker status

 

4.8 其他命令

启动关闭docker

service docker start | stop

查看容器日志

docker logs -f <容器名 or ID>

清理命令,危险!!!清理不用的容器

docker container prune

清理不用的镜像

docker image prune

清理不用的卷

docker volume prune

三、oceanbase部署

1. 查询 OceanBase 数据库相关镜像。

docker search oceanbase

 

2. 拉取 OceanBase 数据库相关镜像。

docker pull obpilot/oceanbase-ce

 

3. 启动 OceanBase Docker 容器

docker run -itd -m 10G -p 2881:2881 --name oceanbase-ce obpilot/oceanbase-ce:latest

 

4. 查看容器启动情况

docker ps

 

5. 进入容器

docker exec -it oceanbase-ce bash

 

6. 查看容器磁盘空间

df -h

 

7. 查看现有集群

obd cluster list

 

Deployed表示并未运行

8. 启动集群

obd cluster start obdemo

 

2884获取数据的端口

9. 链接进入

obclient -h127.1 -uroot@sys#obce-single -P2883 -prootPWD123 -c -A oceanbase

端口号前的P要大写 密码前p要小写

 

10. 查询数据库

show databases;

 

11. 创建业务规格

alter resource unit sys_unit_config min_cpu=5;

CREATE resource unit S4C1G max_cpu=4, min_cpu=4, max_memory='1G', min_memory='1G', max_iops=10000, min_iops=1000, max_session_num=1000000, max_disk_size='1024G'; 

12. 创建资源池

CREATE resource pool my_pool unit = 'S4C1G', unit_num = 1;

13. 创建实例

create tenant obmysql resource_pool_list=('my_pool'), primary_zone='RANDOM',comment 'mysql tenant/instance', charset='utf8' set ob_tcp_invited_nodes='%', ob_compatibility_mode='mysql';

 

14. 查询当前实例

select * from __all_tenant;

 

15. 登录用户并查看数据库

obclient -h127.1 -uroot@obmysql#obce-single -P2883 -p -c -A test;

 

16. 创建业务数据库

create database student

 

 

17. 创建业务表

create table user(id bigint not null auto_increment primary key,name varchar(50),sex varchar(1),age int);

 

18. 插入一条数据并查询

insert into user values(1,2,3,4);

 

 

m1 的mac 也可以安装ob 的docker

https://hub.docker.com/r/oceanbase/oceanbase-ce

Initializes observer work home x

[ERROR] OBD-1002: Fail to init 127.0.0.1 home path: /root/ob is not empty.

Initializes obagent work home x

[ERROR] OBD-1002: Fail to init 127.0.0.1 home path: /root/obagent is not empty.

See OceanBase分布式数据库-海量数据 笔笔算数 .

Trace ID: e3b00ff0-e527-11ee-b15a-0242ac110005

If you want to view detailed obd logs, please run: obd display-trace e3b00ff0-e527-11ee-b15a-0242ac110005

/////////////////////// phase end: 36.630 s ///////////////////////

/////////////////////// STEP 5: Ob-deploy Create Tenant ///////////////////////

Deploy “obcluster” is configured

See OceanBase分布式数据库-海量数据 笔笔算数 .

Trace ID: f8f05794-e527-11ee-ab6c-0242ac110005

If you want to view detailed obd logs, please run: obd display-trace f8f05794-e527-11ee-ab6c-0242ac110005

deploy failed!

这怎么解决