Docker单机部署OceanBase

文章目录

  • 说明
    • 机器软硬件要求
    • 指导文档
    • 本次部署环境说明
  • OceanBase单机部署(Docker)
    • 一:拉取 OceanBase 数据库相关镜像
    • 二:启动 OceanBase 数据库实例
      • 完整启动日志展示
    • 三:连接实例
      • 遇到报错:没有mysql客户端
    • 四:挂载数据卷

说明

机器软硬件要求

  • 机器有足够的资源可以执行至少 2 个物理核心和 4GB 内存(官方推荐8g及以上)但是4g内存拿来学习使用也是可以,官方提供的试用的服务就是4g内存
  • Docker环境
  • 推荐使用1panel进行服务器的可视化管理和维护

指导文档

  • 参考OceanBase官方的部署方法
  • dockerHub的镜像操作指南

本次部署环境说明

  • 系统:armbian( debian-11.7)
  • cpu:Cortex-A55 4c
  • 内存:4G
  • 硬盘容量:32G

OceanBase单机部署(Docker)

一:拉取 OceanBase 数据库相关镜像

  • 拉取 OceanBase 数据库最新镜像,默认安装最新版,可在OceanBase镜像地址进行版本选择
    docker pull oceanbase/oceanbase-ce
    

二:启动 OceanBase 数据库实例

  • 启动 OceanBase 实例时,执行以下命令:
#根据当前容器部署最大规格实例
docker run -p 2881:2881 --name obstandalone -e MINI_MODE=0 -d oceanbase/oceanbase-ce
#部署 mini 的独立实例
docker run -p 2881:2881 --name obstandalone -e MINI_MODE=1 -d oceanbase/oceanbase-ce
  • 挂载数据卷版本

    docker run -d -p 2881:2881 -v $PWD/ob:/root/ob -v $PWD/obd:/root/.obd --name oceanbase oceanbase/oceanbase-ce
    
    • 注意:docker 镜像将数据保存到 /root/ob 目录默认。应同时绑定 /root/ob 和 /root/.obd。如果只绑定 /root/ob 目录,则无法启动新的 docker 镜像,因为 docker 镜像 oceanbase-ce 使用 obd 来管理数据库集群,而新的 docker 容器中没有关于数据库集群的信息
  • 启动预计需要 2~5 分钟。执行以下命令,如果返回 boot success!,则表示启动成功。

    • 需要耐心等待,因为初始化需要很多操作,需要一些时间,cpu干到100%是正常的现象
    • 着急的话建议执行命令,参考下面提供的完整日志信息进行查看
root@armbian:~# docker logs obstandalone | tail -1
boot success!

在这里插入图片描述

完整启动日志展示

///         STEP 1: Config Generation         ///
oceanbase-ce docker in mini mode
/// phase end: 0.155 s ///
///         STEP 2: Ob-deploy mirror clone         ///
name: ob-configserver
version: 1.0.0
release:2.el7
arch: aarch64
md5: 35c121739b84e26b57dae1276ce33ba1186411e3
add /root/pkg/ob-configserver-1.0.0-2.el7.aarch64.rpm to local mirror
name: obagent
version: 4.2.1
release:100000092023101717.el7
arch: aarch64
md5: 4c0f5de0abc7c633454642540cb458b7a855aed2
add /root/pkg/obagent-4.2.1-100000092023101717.el7.aarch64.rpm to local mirror
name: oceanbase-ce
version: 4.2.1.2
release:102000042023120514.el7
arch: aarch64
md5: 080bd5dac6f6253fd2682331be3f1353856fd240
add /root/pkg/oceanbase-ce-4.2.1.2-102000042023120514.el7.aarch64.rpm to local mirror
name: oceanbase-ce-libs
version: 4.2.1.2
release:102000042023120514.el7
arch: aarch64
md5: f1db7c86312516a4d6bb4672dc1b4848a070b315
add /root/pkg/oceanbase-ce-libs-4.2.1.2-102000042023120514.el7.aarch64.rpm to local mirror
Trace ID: 90abbfc4-9c21-11ee-a331-0242ac110003
If you want to view detailed obd logs, please run: obd display-trace 90abbfc4-9c21-11ee-a331-0242ac110003
+-----------------------------------------------------------------------------------------------------------+
|                                             local Package List                                            |
+-------------------+---------+------------------------+---------+------------------------------------------+
| name              | version | release                | arch    | md5                                      |
+-------------------+---------+------------------------+---------+------------------------------------------+
| ob-configserver   | 1.0.0   | 2.el7                  | aarch64 | 35c121739b84e26b57dae1276ce33ba1186411e3 |
| obagent           | 4.2.1   | 100000092023101717.el7 | aarch64 | 4c0f5de0abc7c633454642540cb458b7a855aed2 |
| oceanbase-ce      | 4.2.1.2 | 102000042023120514.el7 | aarch64 | 080bd5dac6f6253fd2682331be3f1353856fd240 |
| oceanbase-ce-libs | 4.2.1.2 | 102000042023120514.el7 | aarch64 | f1db7c86312516a4d6bb4672dc1b4848a070b315 |
+-------------------+---------+------------------------+---------+------------------------------------------+
Trace ID: 929fccc6-9c21-11ee-83e5-0242ac110003
If you want to view detailed obd logs, please run: obd display-trace 929fccc6-9c21-11ee-83e5-0242ac110003
/// phase end: 6.511 s ///
///         STEP 3: Ob-deploy deploy         ///
Local deploy is empty
Trace ID: 944ce3f6-9c21-11ee-9cd1-0242ac110003
If you want to view detailed obd logs, please run: obd display-trace 944ce3f6-9c21-11ee-9cd1-0242ac110003
///         STEP 4: Ob-deploy autodeploy         ///
Dev Mode: ON
Trace ID: 9603be54-9c21-11ee-b213-0242ac110003
If you want to view detailed obd logs, please run: obd display-trace 9603be54-9c21-11ee-b213-0242ac110003
[WARN] Use centos 7 remote mirror repository for anolis 8.8
Package oceanbase-ce-4.2.1.2-102000042023120514.el7 is available.
[WARN] Use centos 7 remote mirror repository for anolis 8.8
Package obagent-4.2.1-100000092023101717.el7 is available.
install oceanbase-ce-4.2.1.2 for local ok
install obagent-4.2.1 for local ok
Cluster param config check ok
Open ssh connection ok
Generate observer configuration ok
Generate obagent configuration ok
[WARN] Use centos 7 remote mirror repository for anolis 8.8
[WARN] Use centos 7 remote mirror repository for anolis 8.8
+--------------------------------------------------------------------------------------------+
|                                          Packages                                          |
+--------------+---------+------------------------+------------------------------------------+
| Repository   | Version | Release                | Md5                                      |
+--------------+---------+------------------------+------------------------------------------+
| oceanbase-ce | 4.2.1.2 | 102000042023120514.el7 | 080bd5dac6f6253fd2682331be3f1353856fd240 |
| obagent      | 4.2.1   | 100000092023101717.el7 | 4c0f5de0abc7c633454642540cb458b7a855aed2 |
+--------------+---------+------------------------+------------------------------------------+
Repository integrity check ok
Parameter check ok
Cluster status check ok
Initializes observer work home ok
Initializes obagent work home ok
Remote oceanbase-ce-4.2.1.2-102000042023120514.el7-080bd5dac6f6253fd2682331be3f1353856fd240 repository install ok
Remote oceanbase-ce-4.2.1.2-102000042023120514.el7-080bd5dac6f6253fd2682331be3f1353856fd240 repository lib check !!
Remote obagent-4.2.1-100000092023101717.el7-4c0f5de0abc7c633454642540cb458b7a855aed2 repository install ok
Remote obagent-4.2.1-100000092023101717.el7-4c0f5de0abc7c633454642540cb458b7a855aed2 repository lib check ok
Try to get lib-repository
[WARN] Use centos 7 remote mirror repository for anolis 8.8
Package oceanbase-ce-libs-4.2.1.2-102000042023120514.el7 is available.
install oceanbase-ce-libs-4.2.1.2 for local ok
Remote oceanbase-ce-libs-4.2.1.2-102000042023120514.el7-f1db7c86312516a4d6bb4672dc1b4848a070b315 repository install ok
Remote oceanbase-ce-4.2.1.2-102000042023120514.el7-080bd5dac6f6253fd2682331be3f1353856fd240 repository lib check ok
obcluster deployed
Get local repositories ok
Search plugins ok
Open ssh connection ok
Load cluster param plugin ok
Check before start observer ok
[WARN] OBD-1011: (172.17.0.3) The recommended value of fs.aio-max-nr is 1048576 (Current value: 65536)
[WARN] OBD-1007: (172.17.0.3) The recommended number of stack size is unlimited (Current value: 8192)
[WARN] OBD-1017: (172.17.0.3) The value of the "vm.max_map_count" must be within [327600, 1310720] (Current value: 262144, Recommended value: 655360)
[WARN] OBD-2000: (172.17.0.3) not enough memory. (Free: 192.7M, Buff/Cache: 3.0G, Need: 6.0G)
[WARN] OBD-1012: (172.17.0.3) clog and data use the same disk (/)Check before start obagent ok
Start observer ok
observer program health check ok
Connect to observer ok
Initialize oceanbase-ce ok
Start obagent ok
obagent program health check ok
Connect to Obagent ok
Wait for observer init ok
+----------------------------------------------+
|                   observer                   |
+------------+---------+------+-------+--------+
| ip         | version | port | zone  | status |
+------------+---------+------+-------+--------+
| 172.17.0.3 | 4.2.1.2 | 2881 | zone1 | ACTIVE |
+------------+---------+------+-------+--------+
obclient -h172.17.0.3 -P2881 -uroot -Doceanbase -A+---------------------------------------------------------------+
|                            obagent                            |
+------------+--------------------+--------------------+--------+
| ip         | mgragent_http_port | monagent_http_port | status |
+------------+--------------------+--------------------+--------+
| 172.17.0.3 | 8089               | 8088               | active |
+------------+--------------------+--------------------+--------+
obcluster running
Trace ID: 97a8f238-9c21-11ee-b805-0242ac110003
If you want to view detailed obd logs, please run: obd display-trace 97a8f238-9c21-11ee-b805-0242ac110003
/// phase end: 180.265 s ///
///         STEP 5: Ob-deploy Create Tenant         ///
Get local repositories and plugins ok
Open ssh connection ok
Connect to observer ok
Create tenant test ok
Trace ID: 02cee2b6-9c22-11ee-a370-0242ac110003
If you want to view detailed obd logs, please run: obd display-trace 02cee2b6-9c22-11ee-a370-0242ac110003
/// phase end: 122.693 s ///
deploy success!
boot success!

三:连接实例

  • oceanbase-ce 镜像安装了 OceanBase 数据库客户端 OBClient,并提供了默认连接脚本 ob-mysql
    # 可以通过 root 用户连接到 oceanbase,无需密码
    docker exec -it obstandalone ob-mysql sys # 使用 root 用户登录集群的 sys 租户
    docker exec -it obstandalone ob-mysql root # 使用 root 用户登录集群的 test 租户
    docker exec -it obstandalone ob-mysql test # 使用 test 用户登录集群的 test 租户
    
  • 使用您本机的 OBClient 或者 MySQL 客户端连接实例
    obclient -uroot@sys -h127.1 -P2881
    
  • 连接成功
    root@armbian:~# mysql -uroot -h127.1 -P2881
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3221487879
    Server version: 5.7.25 OceanBase_CE 4.2.1.2 (r102000042023120514-ccdde7d34de421336c5362483d64bf2b73348bd4) (Built Dec  5 2023 14:34:15)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           |
    +--------------------+
    | information_schema |
    | LBACSYS            |
    | mysql              |
    | oceanbase          |
    | ORAAUDITOR         |
    | SYS                |
    | test               |
    +--------------------+
    7 rows in set (0.028 sec)
    

遇到报错:没有mysql客户端

  • 根据提示执行命令安装即可!
    root@armbian:~# mysql -uroot -h127.1 -P2881
    Command 'mysql' not found, but can be installed with:
    apt install mariadb-client-core-10.5
    root@armbian:~# apt install mariadb-client-core-10.5
    

四:挂载数据卷

  • 如果想持久化容器的数据,可以在 docker 命令中使用 parameter 将数据保存在主机 os 中
  • 这里使用1panel提供的可视化管理进行操作
  1. 本地创建挂载的目录/home/OceanBase/ob/home/OceanBase/bos
    /home/OceanBase|--ob|--obs
    
  2. 挂载数据卷
    在这里插入图片描述
  3. 然后确定重启镜像,可在1pane容器的日志中查看启动状态
    在这里插入图片描述

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

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

相关文章

关联规则 python实现Apriori算法

python实现Apriori算法 根据我们上个博客的例子 def load_dataset():# 载入数据集的函数dataset [[A, , D],[B, C, E],[A, B, C, E],[B, E]]return datasetdef create_candidates(dataset):# 生成1项集的候选集函数candidates []for transaction in dataset:for item in t…

电子学会C/C++编程等级考试2021年06月(六级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:逆波兰表达式 逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* +…

Java 数据结构篇-实现堆的核心方法与堆的应用(实现 TOP-K 问题:最小 k 个数)

文章目录 1.0 堆的说明 2.0 堆的成员变量及其构造方法 3.0 实现堆的核心方法 3.1 实现堆的核心方法 - 获取堆顶元素 peek() 3.2 实现堆的核心方法 - 下潜 down(int i) 3.3 实现堆的核心方法 - 交换元素 swap(int i,int j) 3.4 实现堆核心方法 - 删除堆顶元素 poll() 3.5 实现堆…

论文阅读——Semantic-SAM

Semantic-SAM可以做什么: 整合了七个数据集: 一般的分割数据集,目标级别分割数据集:MSCOCO, Objects365, ADE20k 部分分割数据集:PASCAL Part, PACO, PartImagenet, and SA-1B The datasets are SA-1B, COCO panopt…

第15章 《乐趣》Page305~311, 代码精简以后,讨论一下引用含义的问题

将Page305~311的代码精简了一下&#xff0c;讨论一下引用含义的问题&#xff0c;精简之后的代码如下&#xff1a; #include <iostream> #include <SDL2/SDL.h>using namespace std;namespace sdl2 {char const* last_error() {return SDL_GetError(); }struct Ini…

10 新字符设备驱动文件

一、新字符设备驱动原理 因为 register_chrdev 和 unregister_chrdev 两个函数是老版本驱动文件&#xff0c;现在可以用新字符设备驱动 API 函数。 1. 分配和和释放设备号 使用 register_chrdev 函数注册字符设备的时候只需要给定一个主设备号即可&#xff0c;但是这样会带来两…

pytest之allure测试报告03:allure动态自定义报告

1、测试用例模块中引入allure&#xff1a;import allure 2、yaml文件中定义添加title、story的值&#xff1a; 3、测试用例中读取调用。eg:allure.dynamic.title() 4、运行报告查看&#xff1a;成功动态展示yaml文件中配置的story、title

【Spark精讲】Spark内存管理

目录 前言 Java内存管理 Java运行时数据区 Java堆 新生代与老年代 永久代 元空间 垃圾回收机制 JVM GC的类型和策略 Minor GC Major GC 分代GC Full GC Minor GC 和 Full GC区别 Executor内存管理 内存类型 堆内内存 堆外内存 内存管理模式 静态内存管理 …

时序预测 | Python实现LSTM电力需求预测

时序预测 | Python实现LSTM电力需求预测 目录 时序预测 | Python实现LSTM电力需求预测预测效果基本描述程序设计参考资料预测效果 基本描述 该数据集因其每小时的用电量数据以及 TSO 对消耗和定价的相应预测而值得注意,从而可以将预期预测与当前最先进的行业预测进行比较。使用…

git代码管理学习文档

1.版本控制 每一版本都会发生变化 更新版本&#xff0c;回退版本 版本控制实际就是控制文件的变化 服务器端和每个人的电脑上都会记录版本的变化&#xff0c;也就是说整个团队都记录了版本的变化。 不需要连网&#xff0c;他是分布式的&#xff0c;在自己电脑上也可以操作。 …

Docker构建镜像时空间不足:/var/lib/docker,no space left on device

背景 在一次更新业务服务功能后&#xff0c;重新在服务器上构建微服务镜像&#xff0c;在构建镜像时报错空间不足&#xff1a; /var/lib/docker, no space left on device 赶紧用 df -h 看了下磁盘使用情况&#xff0c;果然&#xff0c; devicemapper 已经满了。。由于需要紧急…

Python+Requests+Pytest+YAML+Allure实现接口自动化

本项目实现接口自动化的技术选型&#xff1a;PythonRequestsPytestYAMLAllure &#xff0c;主要是针对之前开发的一个接口项目来进行学习&#xff0c;通过 PythonRequests 来发送和处理HTTP协议的请求接口&#xff0c;使用 Pytest 作为测试执行器&#xff0c;使用 YAML 来管理测…

【halcon深度学习】目标检测的数据准备过程中的一个库函数determine_dl_model_detection_param

determine_dl_model_detection_param “determine_dl_model_detection_param” 直译为 “确定深度学习模型检测参数”。 这个过程会自动针对给定数据集估算模型的某些高级参数&#xff0c;强烈建议使用这一过程来优化训练和推断性能。 过程签名 determine_dl_model_detection…

智能优化算法应用:基于秃鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于秃鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于秃鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.秃鹰算法4.实验参数设定5.算法结果6.参考文献7.MA…

西南科技大学数据库实验二(表数据插入、修改和删除)

一、实验目的 &#xff08;1&#xff09;学会用SQL语句对数据库进行插入、修改和删除数据操作 &#xff08;2&#xff09;掌握insert、update、delete命令实现对表数据插入、修改和删除等更新操作。 二、实验任务 创建数据库&#xff0c;并创建Employees表、Departments表和…

力扣108. 将有序数组转换为二叉搜索树(三种思路)

给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 > 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5…

科大讯飞(深圳)测开面试真题

一面&#xff08;测试组长面&#xff09; 1、上家公司项目以及团队的规模是怎么样的&#xff1f; 2、你负责的项目整体的流程是怎么样的&#xff1f; 3、自动化实施过程中&#xff0c;是如何和业务测试进行沟通的&#xff1f; 4、在上家公司你已经是专职做自动化了&#xf…

linux 调试工具 GDB 使用

gdb是linux下常用的代码调试工具&#xff0c;本文记录常用命令。 被调试的应用需要使用 -g 参数进行编译&#xff0c;如不确定可使用如下命令查看是否支持debug readelf -S filename | grep "debug" 启动调试 gdb binFile 例如要调试sshd&#xff1a; 调试带参数…

k8s中pod监控数据在grafana中展示

实现目标:将kubesphere[K8S]中运行的pod监控数据在grafana平台进行展示。 前提说明:需要在k8s每个集群中内置的prometheus配置中将pod指标数据远程写入到victoriametrics持久化数据库中。 实现效果如下: CPU使用量: round(sum by (namespace, pod) (irate(container_cpu…

在React中实现好看的动画Framer Motion(案例:跨DOM元素平滑过渡)

前言 介绍 Framer Motion 是一个适用于 React 网页开发的动画库&#xff0c;它可以让开发者轻松地在他们的项目中添加复杂和高性能的动画效果。该库提供了一整套针对 React 组件的动画、过渡和手势处理功能&#xff0c;使得通过声明式的 API 来创建动画变得简单直观。 接下来…