Docker单机部署OceanBase

news2024/12/23 22:15:35

文章目录

  • 说明
    • 机器软硬件要求
    • 指导文档
    • 本次部署环境说明
  • 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.coloradmin.cn/o/1317112.html

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

相关文章

【lesson14】MySQL表的基本查询retrieve(读取)1

文章目录 表的基本操作介绍retrieveselect列建表基本测试 where子句建表基本测试 表的基本操作介绍 CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除) retrieve select列 建表 基本测试 插入数据 全列查询 …

GoogLeNet(pytorch)

亮点与创新: 1. 引入Inception基础结构 2. 引入PW维度变换卷积,启迪后续参数量的优化 3. 丢弃全连接层,使用平均池化层(大大减少模型参数) 4. 添加两个辅助分类器帮助训练(避免梯度消失,用于…

智能电气柜环境监测系统

智能电气柜环境监控系统是一种基于传感器技术和物联网技术的智能化监控系统,用于对电气柜内的环境参数进行实时监测和管理。依托智慧电力运维工具-电易云,通过安装在电气柜内的多个传感器,实时采集电气柜内的温度、湿度、氧气浓度、烟雾等关键…

windows redis 允许远程访问配置

安装好windows版本的redis,会以服务方式启动,但是不能远程访问,这个时候需要修改配置。redis安装路径下会有2个配置文件,究竟需要怎么修改才能生效呢?看下图 这里的redis服务指定了是redis.windows-service.conf文件&…

java_web_电商项目

java_web_电商项目 1.登录界面2.注册界面3. 主界面4.分页界面5.商品详情界面6. 购物车界面7.确认订单界面8.个人中心界面9.收货地址界面10.用户信息界面11.用户余额充值界面12.后台首页13.后台商品增加14.后台用户增加15.用户管理16.源码分享1.登录页面的源码2.我们的主界面 1.…

Xml与Json格式在线转换器

具体请前往:在线Json转Form表单参数工具

计算机网络(四)

九、网络安全 (一)什么是网络安全? A、网络安全状况 分布式反射攻击逐渐成为拒绝攻击的重要形式 涉及重要行业和政府部门的高危漏洞事件增多。 基础应用和通用软硬件漏洞风险凸显(“心脏出血”,“破壳”等&#x…

springMVC-@RequestMapping

基本介绍 RequestMapping注解可以指定控制器/处理器的某个方法的请求的url, 示例 (结合springMVC基本原理理解) Controller public class UserHandler {RequestMapping(value "/login")public String login() {System.out.println("登…

JOSEF约瑟 静态双位置继电器 DPR-35 DC110V柜内固定安装,板前接线

系列型号: DPR-20双位置继电器;DPR-31双位置继电器; DPR-32双位置继电器;DPR-33双位置继电器; DPR-34双位置继电器;DPR-35双位置继电器; DPR-11双位置继电器;DPR-12双位置继电器…

【数据结构和算法】--队列的特殊结构-循环队列

目录 循环队列的结构循环队列的实现循环队列的创建循环队列为空判断循环队列为满判断入队出队返回循环队列首元素返回循环队列尾元素释放循环队列 循环队列的结构 循环队列是队列的一种特殊结构,它的长度是固定的k,同样是先进先出,理论结构是…

飞天使-docker知识点6-容器dockerfile各项名词解释

文章目录 docker的小技巧dockerfile容器为什么会出现启动了不暂停查看docker 网桥相关信息 docker 数据卷 docker的小技巧 [rootlight-test playbook-vars[]# docker inspect -f "{{.NetworkSettings.IPAddress}}" d3a9ae03ae5f 172.17.0.4docker d3a9ae03ae5f:/etc…

RK3399平台开发系列讲解(内核入门篇)什么是函数调用栈

🚀返回专栏总目录 文章目录 一、什么是函数调用栈二、函数调用栈解析三、什么是stack overflow沉淀、分享、成长,让自己和他人都能有所收获!😄 📢在开发软件的过程中我们经常会遇到错误,如果你用 Google 搜过出错信息,那你多少应该都访问过Stack Overflow这个网站。作…

三、JS逆向

一、JS逆向 解释:在我们爬虫的过程中经常会遇到参数被加密的情况,这样只有先在前端搞清楚加密参数是怎么生成的才能继续我们的爬虫,而且此时我们还需要用python去执行这个加密的过程。本文主要讲怎么在浏览器调试JS,以及Python执…

网络(七)路由协议以及相关配置

目录 一、路由器的工作原理 二、路由表的形成 2.1 直连网段 2.2 非直连网 2.3 路由表解析 2.3.1 查看路由表 2.3.2 解析 三、静态路由和默认路由 1. 静态路由 1.1 定义 1.2 特点 2. 默认路由 2.1 定义 2.2 特点 四、静态路由和默认路由的配置 1. 静态路由配置…

很抱歉,Midjourney,但Leonardo AI的图像指导暂时还无人能及…至少目前是这样

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

汽车充电协议OpenV2G的平替cbexigen!!

纵所周知,开源欧规协议 CCS 的 OpenV2G 协议不支持 ISO15118-20:2022 协议,并且软件维护者已经明确不在进行该软件的维护。 前几天在 Github 上冲浪发现了一个宝藏开源项目,完美的实现的 OpenV2G 的 Exidizer 工具的功能:cbexigen…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑灵活性资源传输精细化建模的配电网优化运行》

这个标题表达的是关于配电网优化运行的一个概念,其中考虑了灵活性资源传输的精细化建模。让我们逐个解读关键词: 考虑灵活性资源传输:这指的是在配电网优化运行中考虑到不同类型的灵活性资源的传输。灵活性资源包括可再生能源、储能系统、柔性…

2044回文字符串(C语言)

目录 一:题目 二:思路分析 1.什么是回文? 2.判断回文: 三:代码 一:题目 二:思路分析 1.什么是回文? 最简单的理解方式就是一个字符串正着写和倒着写一样 2.判断回文&#xff1…

【C语言(十)】

字符函数和字符串函数 一、字符分类函数 C语言中有⼀系列的函数是专门做字符分类的,也就是⼀个字符是属于什么类型的字符的。这些函数的使用都需要包含⼀个头文件是 ctype.h 这些函数的使用方法非常类似,我们就讲解⼀个函数的事情,其他的非…

代码随想录-刷题第二十九天

491. 递增子序列 题目连接:491. 递增子序列 思路:将问题抽象为树形结构,使用回溯法。本题求自增子序列,是不能对原数组进行排序的,排完序的数组都是自增子序列了。所以不能使用之前的去重逻辑! HashSet是…