OceanBase数据库oceanbase-ce的docker镜像中文说明

本文为OceanBase数据库oceanbase-ce的docker镜像的中文说明,原英文链接为:

oceanbase/oceanbase-ce - Docker Image | Docker Hub

如何使用 docker 部署 OceanBase

OceanBase 为 OceanBase 数据库提供了一个名为 oceanbase-ce 的独立测试镜像。默认情况下,该镜像部署的是MINI_MODE OceanBase 实例。

警告

  • oceanbase-ce docker 镜像仅用于研究或测试;
  • 如果您想在 k8s 中部署 oceanbase,请改用 oceanbase-operator;
  • 不应将其与重要数据一起部署,因为它不在生产环境中使用。

原因:

  1. 集群仅包含一个实例,因此没有容灾能力;
  2. 失败后恢复非常困难,因为 docker 容器无法启动,而 oceanbase 实例无法成功启动,这意味着您丢失了容器和数据;
  3. K8s 无法重启新 Pod,因为守护进程退出后容器仍然存在。

先决条件

部署 oceanbase-ce docker 前,请做好以下检查:

  • 确保您的机器有足够的资源可以执行至少 2 个物理核心和 8GB 内存。

  • 您的计算机已安装以下应用程序:

    应用推荐版本文档
    Docker最近的Docker 文档
  • 您已在计算机上启动 Docker 服务。

启动OceanBase实例

要启动OceanBase实例,请执行以下命令:

# deploy mini instance
docker run -p 2881:2881 --name oceanbase-ce -d oceanbase/oceanbase-ce# deploy an instance of the slim size according to the current container
docker run -p 2881:2881 --name oceanbase-ce -e MODE=slim -e OB_MEMORY_LIMIT=5G -v {init_sql_folder_path}:/root/boot/init.d -d oceanbase/oceanbase-ce# deploy an instance of the largest size according to the current container
docker run -p 2881:2881 --name oceanbase-ce -e MODE=normal -d oceanbase/oceanbase-ce# deploy a quick-start instance in any mode as desired to the current container
docker run -p 2881:2881 --name oceanbase-ce -e FASTBOOT=true -d oceanbase/oceanbase-ce

启动过程需要两到五分钟。若要确保引导过程成功,请运行以下命令:

$ docker logs oceanbase-ce | tail -1
boot success!

启动后,有一个 oceanbase 实例。无需密码即可通过root用户连接到oceanbase。

连接OceanBase实例

oceanbase-ce 镜像包含 obclient(OceanBase 数据库客户端)和默认连接脚本。ob-mysql

docker exec -it oceanbase-ce ob-mysql sys # Connect to sys tenant
docker exec -it oceanbase-ce ob-mysql root # Connect to the root account of a general tenant
docker exec -it oceanbase-ce ob-mysql test # Connect to the test account of a general tenant

您也可以执行此命令,通过本地 obclient 或 MySQL 客户端连接 OceanBase 实例。

mysql -uroot -h127.1 -P2881

支持的环境变量

下表显示了当前 oceanbase-ce 镜像版本支持的环境变量:

变量名称默认值描述
MODE{mini, slim, normal}如果是mini,则docker使用mini模式部署OceanBase数据库实例,仅用于研究/学习/评估。请勿将其用于生产或性能测试。如果是slim,那么 docker 可以在较小的实例中运行。它删除了 obagent,并可以在挂载卷 /root/boot/init.d 中自行运行自租户初始 sql。如果不挂载卷路径,则 docker 不会初始化租户 sql。
FASTBOOTfalse当 FASTBOOT=true 时,容器可以在快速启动模式下运行。
EXIT_WHILE_ERRORtrue是否在启动观察器失败时退出容器。如果启动观察器失败,则无法浏览日志,因为容器将退出。但是,如果设置 EXIT_WHILE_ERROR=false,则当 observer 启动失败时,容器不会退出,您可以使用 docker exec 进行调试。
OB_CLUSTER_NAMEobclusteroceanbase 集群名称
OB_TENANT_NAMEtestoceanbase mysql 租户名称
OB_MEMORY_LIMIT6Goceanbase 集群memory_limit配置
OB_DATAFILE_SIZE5Goceanbase 集群datafile_size配置
OB_LOG_DISK_SIZE5GOceanbase 集群log_disk_size配置
OB_ROOT_PASSWORDsys租户的oceanbase root用户密码
OB_SYSTEM_MEMORY1GOceanbase 集群system_memory配置
OB_TENANT_MINI_CPUoceanbase 租户mini_cpu配置
OB_TENANT_MEMORY_SIZEoceanbase 租户memory_size配置
OB_TENANT_LOG_DISK_SIZEoceanbase 租户log_disk_size配置

运行 Sysbench 脚本

oceanbase-ce 镜像默认安装 Sysbench 工具。并配置了 Sysbench 工具。您可以按顺序运行这些命令,以使用默认配置运行 Sysbench 脚本。

docker exec -it oceanbase-ce obd test sysbench obcluster

挂载体积

如果要持久化容器的数据,可以使用 docker 命令中的参数 -v /your/host/path:/container/path 将数据保存在主机操作系统中。

下面是一个示例。

docker run -d -p 2881:2881 -v $PWD/ob:/root/ob -v $PWD/obd:/root/.obd --name oceanbase oceanbase/oceanbase-ce

请注意,您应该使用自己的路径。

oceanbase-ce镜像将数据保存到 /root/ob 默认目录。您应该同时绑定 /root/ob 和 /root/.obd。如果只绑定 /root/ob 目录,则无法启动新的 docker 镜像,因为 docker 镜像 oceanbase-ce 使用 obd 来管理数据库集群,并且新建的 docker 容器中没有关于数据库集群的信息。

您可以用docker -v来查看有关 docker 卷的更多信息。

为独立节点快速构建启动映像

docker_build.sh脚本在tools/docker/standalone目录中提供,通过该目录可以构建快速启动映像。在运行脚本之前,请先修改tools/docker/standalone/boot/_env环境配置脚本:

  • 可选:修改其余配置项

修改完成后,执行镜像构建脚本:

  • 使用最新的 Oceanbase 版本构建映像 ./docker_build.sh
  • 使用特定的 oceanbase 版本构建映像。例如 ./docker_build.sh 4.2.1.0-100000102023092807

等待构建完成后,您可以按照上述相同方式启动和测试实例。

故障诊断

提供了一系列诊断方法,用于诊断Docker中的错误。

支持“enable_rich_error_msg”参数

  • 最初,在 Docker 启动过程中默认启用“enable_rich_error_msg”参数。如果在启动过程中发生错误,可以使用 trace 命令获取更多错误信息。启动成功后,Docker 会将该参数设置为 false 状态。
  • 用户可以在运行阶段打开该参数,获取更多有关SQL语句的错误信息。打开它的方法是使用系统租户连接到 Docker 的 oceanbase,然后执行以下命令:
alter system set enable_rich_error_msg = true;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/804865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浏览器工作原理与实践--虚拟DOM:虚拟DOM和实际的DOM有何不同

虚拟DOM是最近非常火的技术,两大著名前端框架React和Vue都使用了虚拟DOM,所以我觉得非常有必要结合浏览器的工作机制对虚拟DOM进行一次分析。当然了,React和Vue框架本身所蕴含的知识点非常多,而且也不是我们专栏的重点&#xff0c…

yarn常用命令行

##修改hdfs日志的读写权限 hdfs dfs -ls /tmp/logs/autoflow/logs hdfs dfs -chmod arwx /tmp/logs/autoflow/logs ##查看所有node节点状态 yarn node -list -all ##查看当前运行的应用 yarn application -list ##杀掉application yarn application -kill application_17036…

二手车商的套路

https://www.dongchedi.com/article/7126394624675578405 https://www.dongchedi.com/article/7126394624675578405 现在,有越来越多的人去了解二手车,二手车相对于新车来说,更加的亲民划算。很多新车需要四五十万,而二手车有可…

Qt Creator 新建项目

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:QT❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、使用 Qt Creator 新建项目 1、新建项目 2、选择项目模板 3、选择项目路径 4、选择构建系统 5…

你不可不知的5款小众神器

Hey小伙伴们👋,是不是还在为工作中的效率不高而烦恼呢?别急,今天我就给大家安利5款超实用的国产小众工作效软件,让你的工作台效率翻倍,轻松应对各种工作挑战!🌟 1️⃣ 亿可达 ycoda…

使用立体视觉作为 3D LiDAR 的替代方案,在 KITTI ADAS 立体视觉数据集上微调立体变换器 (STTR) 模型-含数据集+源码资料下载

为什么是立体视觉? ADAS 立体视觉是指使用两个摄像头(类似于人眼)从略有不同的角度捕获图像的技术。该设置模仿人类双眼视觉,使系统能够感知环境的深度和 3D 结构。 立体视觉的关键技术方面 ADAS 立体视觉具有多种优势和高度复杂的功能。让我们探索它们以更好地理解: …

视频图像的两种表示方式YUV与RGB(4)

本篇主要讲YUV与RGB之间的转换,包括YUV444 颜色编码格式 转为 RGB 格式 ,RGB颜色编码格式转为 YUV444 格式。 一、 YUV与RGB之间的转换 YUV与RGB颜色格式之间进行转换时 , 涉及一系列的数学运算 ; YUV 颜色编码格式转为RGB格式的转换公式 取决于 于 YUV …

蓝桥杯每日一题:矩形牛棚(单调栈)

作为一个资本家,农夫约翰希望通过购买更多的奶牛来扩大他的牛奶业务。 因此,他需要找地方建立一个新的牛棚。 约翰购买了一大块土地,这个土地可以看作是一个 R行(编号 1∼R1)C 列(编号 1∼C1)…

Python requests 模块

爬虫、网络编程、接口......对于Python工程师来讲都绕不过一个强大的模块---requests,本篇文章就深入详细讲一讲requests模块。同时也先也分享一下开源API网站:Gitee-API文档、JSONPlaceholder API文档、和风天气API文档、Postman Echo API网站&#xff…

C语言_文件操作

文件基础 什么是文件 文件是在计算机中以实现某种功能、或某个软件的部分功能为目的而定义的一个单位。磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分的)。 程序文件 …

App加固:不同类型和费用对比

文章目录 [TOC]引言应用程序加固是什么不同类型[App加固](https://www.ipaguard.com/)的费用对比基础加固高级加固云加固 白嫖的混淆加密工具](https://www.ipaguard.com/)-[ipaguard总结参考资料 引言 在当前移动应用市场中,安全性已经成为一个非常重要的话题。为…

Qt单实例运行

开发过程中经常需要确保Qt程序的唯一实例运行,方法有很多种,这里讲一种最方便的方法,创建共享内存。共享内存是操作系统提供的一种进程间通信机制,允许多个进程访问同一块内存区域。你可以利用这一特性来标记程序是否已经在运行。…

tdesign坑之EnhancedTable树形结构默认展开所有行

⚠️在官方实例中,树形结构的表格提供了2种方法控制展开全部节点: 一是通过配置属性tree.defaultExpandAll为true代表默认展开全部节点(仅默认情况有效); 二是使用组件实例方法expandAll()可以自由控制树形结构的展开…

web页面刷新,怎么使每次的随机颜色都一样?

// 创建一个种子随机数生成器 function seededRandom(seed) { var x Math.sin(seed) * 10000; return x - Math.floor(x); } // 使用种子随机数生成器来生成颜色 function generateColor(id) { var random seededRandom(id); var r Math.floor(random * 256); var g Math.…

Bert基础(十二)--Bert变体之知识蒸馏原理解读

B站视频:https://www.bilibili.com/video/BV1nx4y1v7F5/ 白话知识蒸馏 在前面,我们了解了BERT的工作原理,并探讨了BERT的不同变体。我们学习了如何针对下游任务微调预训练的BERT模型,从而省去从头开始训练BERT的时间。但是&#…

311_C++_QT表格的单个item的撤销、恢复操作,代码量很小,轻量化

:初始截图 :修改截图 :撤销截图 connect(m_customTableWidget, &QTableWidget::itemChanged, this, &FileDoc::itemChanged);

o(∩_∩)o设置代理访问博客(三)o(∩_∩)o

增加定时执行功能 直接看代码实现: # -*- coding:UTF-8 -*-import json import random import re import threading import time from datetime import timedeltaimport requests from bs4 import BeautifulSoup from loguru import loggeruid "qq_17328759…

离心机租赁,冷冻离心机租借,实验室离心机租售,大容量离心机以租代买

离心机租赁,冷冻离心机租借,实验室离心机租售,大容量离心机以租代买,满足广大客户对离心的租赁与购买需求! 服务优势 1、以租代买:租期达到一定期限,租金抵扣货款; 2、快速上门:2分钟响应,同城12小时内到…

短剧在线搜索PHP网站源码

源码简介 短剧在线搜索PHP网站源码,自带本地数据库500数据,共有6000短剧视频,与短剧猫一样。 搭建环境 PHP 7.3 Mysql 5.6 安装教程 1.上传源码到网站目录中 2.修改【admin.php】中, $username ‘后台登录账号’; $passwor…

【C++】lambda表达式

目录 一、lambda表达式1.1 C98中的例子1.2 lambda表达式语法1.3 函数对象与lambda表达式 一、lambda表达式 1.1 C98中的例子 如果要对一个数据集合进行排序,可以使用sort函数: int main() {int array[] { 4,1,8,5,3,7,0,9,2,6 };// 默认按照小于比较…