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容器的日志中查看启动状态
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

selenium-grid4.3.0两种模式记录

selenium-grid4.3.0两种模式记录 本文运行,需要提前配置好Java11以及安装好Chrom、Firefox、Safari其中一个浏览器,如果是Chrom、Firefox需要下载对应版本的驱动,并给 webdriver 配置环境变量,Safari浏览器Mac系统会自带&#xf…

HiveSql语法优化二 :join算法

Hive拥有多种join算法,包括Common Join,Map Join,Bucket Map Join,Sort Merge Buckt Map Join等,下面对每种join算法做简要说明: Common Join Common Join是Hive中最稳定的join算法,其通过一个M…

案例067:基于微信小程序的小区租拼车管理信息系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

【MySQL】(DDL) 数据库操作

创建: create database 数据库名称; //创建数据库 create database if not exists 数据库名 ; //创建数据库并添加判断 (如果存在就不创建不存在就创建 ) create database 数据库名 default charset 字符集 ; //创建数据库并设置字符集 查…

计算机毕业设计 基于SpringBoot的二手物品交易管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

漏刻有时数据可视化Echarts组件开发(42)动态创建DIV容器

效果展示 引入外部文件 <script src"js/jquery.min.js"></script><script type"text/javascript" src"js/echarts.5.4.3.min.js"></script>CSS层叠样式表 实现一行3列效果&#xff0c;自动换行&#xff1b; .ecbox {he…

HNU-计算机网络-实验3-应用层和传输层协议分析(PacketTracer)

计算机网络 课程基础实验三应用层和传输层协议分析&#xff08;PacketTracer&#xff09; 计科210X 甘晴void 202108010XXX 【给助教的验收建议】 如果是助教&#xff0c;比起听同学读报告&#xff0c;更好的验收方式是随机抽取一个场景&#xff08;URL/HTTPS/FTP&#xff09…

Kafka-日志索引

Kafka的Log日志梳理 Topic下的消息是如何存储的&#xff1f; 在搭建Kafka服务时&#xff0c;在server.properties配置文件中通过log.dir属性指定了Kafka的日志存储目录。 实际上&#xff0c;Kafka的所有消息就全都存储在这个目录下。 这些核心数据文件中&#xff0c;.log结尾…

Flask学习三:模型操作

ORM flask 通过Model操作数据库&#xff0c;不管你的数据库是MySQL还是Sqlite&#xff0c;flask自动帮你生成相应数据库类型的sql语句&#xff0c;所以不需要关注sql语句和类型&#xff0c;对数据的操作flask帮我们自动完成&#xff0c;只需要会写Model就可以了 flask使用对象关…

[渗透测试学习] Keeper - HackTheBox

信息搜集 nmap扫描一下端口 nmap -sV -sC -p- -v --min-rate 1000 10.10.11.227发现有两个端口&#xff0c;22端口为ssh服务&#xff0c;80端口是http服务 尝试访问一下80端口 提示我们要访问tickets.keeper.htb/rt/&#xff0c;访问发现不行 那么把该域名添加到hosts里面 …

数据库——关系数据的规范化:范式判断【知识点罗列+例题讲解】

知识点罗列&#xff1a; 各种范式之间的关系 1.第一范式1NF&#xff1a; 如果关系模式R中所有的属性都具有原子性&#xff0c;均是不可再分的&#xff08;一个属性不能再被分解成更小的数据单元&#xff09;&#xff0c;则称R属于第一范式&#xff0c;简称1NF&#xff0c;记作R…

springMVC-模型数据的处理

一、数据放入到request域当中 1、把获取的数据放入request域中&#xff0c; 方便在跳转页面去显示 <a>添加主人信息</a> <form action"vote/vote04" method"post" >主人id&#xff1a;<input type"text" name"id&q…

Redis List类型

列表类型是用来存储多个有序的字符串&#xff0c;如图所示&#xff0c;a、b、c、d、e 五个元素从左到右组成了一个有序的列表&#xff0c;列表中的每个字符串称为元素 (element)&#xff0c;一个列表最多可以存储2的32次方 -1个元素。在 Redis 中&#xff0c;可以对列表两端插入…

Kafka-Kafka核心参数详解

Kafka的HighLevel API使用是非常简单的&#xff0c;所以梳理模型时也要尽量简单化&#xff0c;主线清晰&#xff0c;细节慢慢扩展。 Kafka提供了两套客户端API&#xff0c;HighLevel API和LowLevel API。 HighLevel API封装了kafka的运行细节&#xff0c;使用起来比较简单&…

RabbitMQ消息顺序性保障

RabbitMQ 没有属性设置消息的顺序性&#xff0c;只能设置消息的优先级&#xff0c;因此消息顺序性保障只能在 consumer 上实现 场景分析&#xff1a; 生产者向 RabbitMQ 里发送了三条数据&#xff0c; 顺序依次是 data1-> data2 -> data3&#xff0c;压入的是一个内存…

DeepCorr:利用深度学习进行Tor的流关联攻击

文章信息 论文题目&#xff1a;DeepCorr: Strong Flow Correlation Attacks on Tor Using Deep Learning 期刊&#xff08;会议&#xff09;&#xff1a;Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security 时间&#xff1a;2018 级别&a…

android下的app性能测试应主要针对那些方面,如何开展?

如何开展安卓手机下的App性能测试&#xff0c;对于优秀的测试人员而言&#xff0c;除了要懂得性能测试的步骤流程外&#xff0c;还应该懂的性能测试的一些其他知识&#xff0c;比如性能测试指标、各指标的意义&#xff0c;常用的性能测试工具、如何查看结果分析等等知识。所以本…

ES6 面试题 | 13.精选 ES6 面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

(五)STM32 按键输入实验及 GPIO做普通 IO 的注意事项

目录 1. 按键硬件连接 2. 按键软件设计 3. 按键消抖 4. 使用 IO 口时的 注意事项&#xff08;踩坑&#xff09; 上一节我们介绍了 STM32F1 的 IO 口作为输出的使用&#xff0c;这一章&#xff0c;我们将介绍如何使用 STM32F1 的 IO 口作为输入用。在本章中&#xff0c;我们…

网络(十)ACL和NAT

前言 网络管理在生产环境和生活中&#xff0c;如何实现拒绝不希望的访问连接&#xff0c;同时又要允许正常的访问连接&#xff1f;当下公网地址消耗殆尽&#xff0c;且公网IP地址费用昂贵&#xff0c;企业访问Internet全部使用公网IP地址不够现实&#xff0c;如何让私网地址也…