做了一个 OB社区版的Docker版本,4C10G的笔记本电脑就可以跑,有兴趣的可以试试,欢迎反馈

=

OceanBase CE 容器下载使用简介

简介

本文基于OceanBase社区版构建了一个容器,仅用于学习研究。

前提条件

请确保宿主机的可用资源满足下面要求:

  • 逻辑 CPU 不少于4个
  • 可用内存不少于 10G,并且 docker 容器内存限制不少于10G
  • 空间不少于10G

安装

pull and run

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

log in and start oceanbase-ce

docker exec -it oceanbase-ce bash obd cluster list obd cluster start obdemo

The password of admin is : adminPWD123 . You can install rpms by command sudo yum -y install xxxx .

admin 用户的密码是 : adminPWD123 . 您可以使用 sudo yum 安装软件包。

create an oceanbase mysql tenant

obclient -h127.1 -uroot@sys#obdemo -P2883 -prootPWD123 -c -A oceanbase 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’; CREATE resource pool my_pool unit = ‘S4C1G’, unit_num = 1; 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’; exit;

log in to the obmysql tenant

obclient -h 127.1 -uroot@obmysql#obdemo -P2883 -p -c -A test empty password. show databases; source bmsql.sql

帮助

你可以在OceanBase 社区版官网问答区(OceanBase 社区),或者访问我的个人微信公众号(搜索公众号:obpilot )。

安装步骤文档很友好,简明扼要。WINDOWS10家庭版下亲测安装成功。

Docker容器版本:Docker Desktop 3.3.3版本
操作系统:WINDOWS 10 家庭版64位
DOCKER安装前设置参考:Windows 10 家庭版 安装 docker for Windows( docker desktop) 详细步骤

1、安装截图:服务启动状态等

2、安装截图:资源规格创建及资源池设置、租户创建截图

使用过程问题:1、安装后目前无法通过宿主机客户端工具连接至OB数据库进行操作。

1 个赞

安装步骤文档很友好,WINDOWS10家庭版下亲测安装成功。

Docker容器版本:Docker Desktop 3.3.3
版本操作系统:Windows 10 64家庭版




使用过程遇到的问题:无法通过宿主端主机客户端连接Docker容器内OB。




2 个赞

"使用过程遇到的问题:无法通过宿主端主机客户端连接Docker容器内OB。"

没有端口映射(查询为空),具体可以查看(bdb31acd4b8e 替换为自己机器上的容器ID)

docker inspect bdb31acd4b8e | jq .[].NetworkSettings.Ports

docker inspect bdb31acd4b8e | jq .[].Config.ExposedPorts

1 个赞

因为我做的docker 没有 开放端口。 晚点我改一下镜像文件。可以实现的。

pull and run

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


输出:

➜  oceanbase-ce docker ps
CONTAINER ID   IMAGE                         COMMAND       CREATED         STATUS         PORTS                                                                                  NAMES
97d36c2e7e33   obpilot/oceanbase-ce:latest   "/bin/bash"   3 minutes ago   Up 2 minutes   0.0.0.0:2881->2881/tcp, :::2881->2881/tcp, 0.0.0.0:2883->2883/tcp, :::2883->2883/tcp   oceanbase-ce




1 个赞

感谢,重新拉取新版本,通过宿主机连接容器OB成功~   ^@^ 

1 个赞

注意在PULL 新镜像前,之前的镜像需确认卸载干净,否则提示Error, OB无法连接,容器内也无法登录。

2 个赞

这个必须支持,还是docker方便,目前我使用的是vbox虚拟机内安装,需要的资源是8C10G。

支持,感谢!

体验极佳~好贴不要沉~

官方也有一个 docker, 是全自动化的。 也可以试试

地址:oceanbase/obce-mini - Docker Image | Docker Hub

方法:

docker search oceanbase    # 搜索 oceanbase 相关镜像 

docker pull oceanbase/obce-mini


docker run -p 2881:2881 --name obce-mini -d -e OB_HOME_PATH="/root/obce/" -e OB_TENANT_NAME="obmysql" oceanbase/obce-mini

输出:
➜  ~ docker run -p 2881:2881 --name obce-mini -d -e OB_HOME_PATH="/root/obce/" -e OB_TENANT_NAME="obmysql" oceanbase/obce-mini
45180d71f504981ed588b7de0e5abf952511f2c2f9ee5eac0446b6cf0d4dc02c
➜  ~ docker ps
CONTAINER ID   IMAGE                 COMMAND              CREATED         STATUS         PORTS                                       NAMES
45180d71f504   oceanbase/obce-mini   "/bin/sh -c _boot"   4 seconds ago   Up 2 seconds   0.0.0.0:2881->2881/tcp, :::2881->2881/tcp   obce-mini
➜  ~


docker logs obce-mini

输出:
➜  ~ 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!



谢谢  :) 稍晚些验证下~

想快速体验一下OB开源版的,推荐可以看看这个贴里的方法。

视频版本的看这个:使用 Docker 快速部署迷你版 OceanBase 数据库_哔哩哔哩_bilibili

出现这个错误,能调整参数,对硬件要求低一些吗?谢谢

8G内存是目前是当前版本最低要求了。


笔记本内存应该比这个大,把docker默认内存限制调大一下看看。

1 个赞

已解决

没有机器环境的朋友 可以使用 这个docker 来练习 OB 的手动部署和自动部署。

手动部署方法就是做一个 centos 容器,然后自己去部署 OB 单副本。也可以使用到OB 基本的运维命令。

docker 基础技术:OceanBase 运维平台(OCP)使用基础:Docker技术 (qq.com)