在 Mac 和 Windows 系统中快速部署 OceanBase

news2024/11/13 4:46:27

OceanBase 是一款分布式数据库,具备出色的性能和高扩展性,可以为企业用户构建稳定可靠、灵活扩展性能的数据库服务。本文以开发者们普遍熟悉的Windows 或 Mac 环境为例,介绍如何快速上手并体验OceanBase。

一、环境准备

1. 硬件准备

OceanBase 从 4.0 版本开始进行了架构的升级,进一步降低了对资源的占用,按照最新的文档要求,最少只需要2核10GB以上的资源,因为磁盘会进行预分配,剩余的可用磁盘空间要保证在内存的6倍以上,以目前一般的开发机来说,比较容易达到最低的资源要求。

2. 系统要求

OceanBase 目前只提供了 Linux 安装包,可以运行在大部分的服务器环境,但是作为开发者,常用的开发机一般是 Windows 系统或者 Mac 系统,这种情况可以有两种选择,安装虚拟机,虚拟出一个 Linux 系统,或者通过 Docker 拉起一个 Linux 系统的容器,因为 Docker 对于系统的资源占用上相对较少,本文就介绍 Docker 的方式。

不同操作系统安装 Docker 的方法,可以参考以下链接:

    • Mac:https://docs.docker.com/desktop/install/mac-install/
    • Windows:https://docs.docker.com/desktop/install/windows-install/
    • Linux:https://docs.docker.com/desktop/install/linux-install/

以 Mac 系统为例,安装的 Docker 程序带有图形化的管理页面,Windows 的程序也是类似的。

首先要确保给 Docker 分配了大于前面提到的最小要求的资源,可以参考下方的视频:

安装 Docker 的方法

Docker 程序启动之后,在命令行中通过以下命令验证 Docker 环境可用:

docker ps -a

1678846592

命令可以正常执行,说明 Docker 环境准备成功,可以顺利的进行下一步。

二、使用 Docker 快速部署 OceanBase

Docker 环境准备好之后,就可以在主机上启动容器了,恰好 OceanBase 提供了单机版的镜像,完美适用于快速体验的场景。

1. 拉取镜像

OceanBase 的单机版镜像 oceanbase/oceanbase-ce, 按照版本以不同的 tag 划分, 最新的是 4.0.0.0 版本,latest 默认对应的是最新发布的版本,体验最新版本,可以直接使用 latest 作为 tag,或者不写 tag。

docker pull oceanbase/oceanbase-ce

1678846671

通过 Docker 命令可以查看到镜像的信息,说明镜像拉取成功。

2. 启动单节点 OceanBase 容器

OceanBase 镜像提供了两个可以设置的环境变量:

1678846688

作为快速体验的环境,可以设置 MINI_MODE 为 true 以减少资源的占用,使用以下命令拉起 oceanbase 容器。

docker run -p 2881:2881 --name oceanbase-ce -e MINI_MODE='true' -d oceanbase/oceanbase-ce

1678846731

OceanBase 启动大约需要 2 分钟左右时间,当容器日志出现 boot success! 时,说明 OceanBase 已经启动成功。

3. 动手体验 OceanBase

在 OceanBase 的 Docker 容器中还自带了常用的一些工具,在部署完之后可以直接用来做一些验证。

使用以下命令可以使用 sys 租户连接到 OceanBase 数据库:

docker exec -it oceanbase-ce ob-mysql sys

连接之后通过一些简单的查询,可以看到部署了一个单节点的集群,使用的是 127.0.0.1 作为 ip 地址,并且创建了一个名为 test 的租户。

1678846802

使用以下命令可以使用 test 租户连接到 OceanBase 数据库:

docker exec -it oceanbase-ce ob-mysql root # 使用 root 账号docker exec -it oceanbase-ce ob-mysql test # 使用 test 账号

可以看到test 租户下又创建了一个 test 用户。

1678846837

OceanBase 的镜像中还提供了sysbench工具,可以使用以下命令对 OceanBase 作 sysbench 测试:

docker exec -it oceanbase-ce obd test sysbench obcluster

1678846872

可以看到测试的一些统计结果,由于是在个人的开发电脑上,具体的性能数据仅能作为参考。

三、使用 OBD 快速部署 OceanBase

使用 Docker 方式部署 OceanBase 简单快速,但是仅提供了两个可以配置的选项,甚至连集群名都无法配置,爱折腾的各位开发者们肯定不满足于此。

这部分我们会用 OBD来部署 OceanBase, 并且做一些自定义的修改,更能增加一些互动的感觉,OBD 是 OceanBase 开源软件的安装部署工具,可以用来管理 OceanBase 所有的开源软件。

1. 系统准备

利用开发机上的 Docker 启动一个 Linux 系统的容器,通过这种方式来模拟 Linux 环境,这里我们使用 centos7 的镜像。
拉取镜像

docker pull centos:7

1678846975

启动并登录到容器环境

docker run -it --name=centos-7 --entrypoint=/bin/bash centos:7

1678847014

通过以上的步骤,现在我们已经成功的进入到了一个容器化的 Linux 环境中。

2. 准备 OBD 环境

OBD 可以直接以 rpm 包的方式安装,然后根据部署的配置,在线下载对应的 rpm 包,也可以通过 oceanbase-all-in-one 包的方式来安装,这种方式适用于网络不好的环境,会一起下载所有部署 OceanBase 需要的 rpm 包,本文以这种方式来进行安装。

安装命令很简单,只需要一条命令,就可以下载并且安装好 oceanbase-all-in-one。

bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)"

1678847055

安装完成之后,会在屏幕上输出接下来可以使用的一些命令,第一步需要设置好环境变量,然后可以验证 OBD 命令可用。

1678847080

3. 使用 OBD 部署 OceanBase 单节点集群

OBD 提供了各种场景的配置文件样例,可以以此作为基础按照真实的环境来进行配置 。

oceanbase-all-in-one 安装完成之后,在安装路径的 conf 目录,或者 OBD 的安装目录的 example 目录下有配置文件的样例,本地单节点集群的配置样例为 mini-local-example.yaml,首先复制一份配置文件,然后将配置文件中的 mysql_port, rpc_port 分别修改为3881, 3882。

1678847118

修改后的配置危机如上图,其他配置项保持默认。

使用如下命令进行部署:

obd cluster deploy test -c test.yamlobd cluster start test

1678847152

启动成功,以我们自定义的mysql_port来连接,可以正常连接上集群。

4. 体验 OceanBase

使用 OBD 命令创建好集群之后,并没有默认的业务租户,需要再次调用obd创建租户的命令来创建。

obd cluster tenant create test -n obmysql --max-cpu=2 --memory-size=2G --log-disk-size=3G --max-iops=10000 --iops-weight=2 --unit-num=1 --charset=utf8

1678847197

验证使用新建的租户可以登录集群,至此,我们已经按照自定义的端口部署了一个 OceanBase 集群,创建出了可用的租户,更多的功能就可以等待大家继续去探索了。

四、总结

我们为开发者提供了多种方式来体验 OceanBase 数据库,尽量减少了对硬件资源的要求,在一般的开发机上就可以运行,无论使用的是 Windows、 Mac 或者 Linux 系统,通过容器化的方式,都可以将 OceanBase 部署起来,让 OceanBase 成为一个人人摸得到的数据库,我们目前正在开发交互式的安装方式,将进一步的优化安装体验,后面会有更多的介绍,请保持期待。

此外,也可以免费开通 OceanBase 云数据库 来进行体验,免去部署过程。

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

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

相关文章

使用Ant Design的Layout布局不能撑满整个屏幕问题解决方法

代码示例: import React, { useState } from react import {LaptopOutlined,NotificationOutlined,UserOutlined, } from ant-design/icons import type { MenuProps } from antd import { Layout, Menu, theme } from antd import routes from ./routes/index imp…

【ubuntu18.04】使用U盘制作ubuntu18.04启动盘操作说明

打开show application 打开Startup Disk 选择镜像 双击选择ubuntu的iso镜像 镜像下载地址 Ubuntu 18.04.6 LTS (Bionic Beaver) 制作镜像 注意: 制作镜像会格式化U盘,记得备份资料 点击Make Startup Disk,弹出如下对话框 点击Yes 输入管理员密码&a…

22.04Ubuntu---ROS2创建python节点

创建工作空间 mkdir -p 02_ros_ws/src 然后cd到该目录 创建功能包 在这条命令里,tom就是你的功能包 ros2 pkg create tom --build-type ament_python --dependencies rclpy 可以看到tom功能包已经被创建成功了。 使用tree命令,得到如下文件结构 此时…

《手写Spring渐进式源码实践》实践笔记(第十七章 数据类型转换)

文章目录 第十七章 数据类型转换工厂设计实现背景技术背景Spring数据转换实现方式类型转换器(Converter)接口设计实现 业务背景 目标设计实现代码结构类图实现步骤 测试事先准备属性配置文件转换器工厂Bean测试用例测试结果: 总结 第十七章 数…

使用docker形式部署jumpserver

文章目录 前言一、背景二、使用步骤1.基础环境准备2.拉取镜像3.进行部署4.备份记录启动命令 前言 记录一下使用docker形式部署jumpserver服务的 一、背景 搭建一个jumpserver的堡垒机,但是发现之前是二进制文件部署的,会在物理机上部署污染环境&#x…

(62)使用RLS自适应滤波器进行系统辨识的MATLAB仿真

文章目录 前言一、基本概念二、RLS算法原理三、RLS算法的典型应用场景四、MATLAB仿真代码五、仿真结果1.滤波器的输入信号、参考信号、输出信号、误差信号2.对未知系统进行辨识得到的系数 总结与后续 前言 RLS(递归最小二乘)自适应滤波器是一种用于系统…

算法每日双题精讲——滑动窗口(长度最小的子数组,无重复字符的最长子串)

🌟快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。 🌟 别再犹豫了!快来订阅我们的算法每日双题精讲专栏,一起踏上算法学习的精彩之旅吧!💪…

MySQL数据库的备份与还原

目录 mysql 数据库的备份 生成SQL脚本 1 在控制台使用mysqldump命令可以用来生成指定数据库的脚本 ​编辑2 在数据库图形化界面工具:DateGrip 中操作:导出 mysql 数据库的还原 执行SQL脚本 1 在控制台使用 命令,指定将sql脚本导入到指定…

使用 IDEA 创建 Java 项目(二)

IDEA 创建 Java 项目 一般创建 Java 项目可以创建一个空项目,然后在空项目中添加模块,在模块中编写包,包中包含 Java 类。 如果你的 JDK 没有被 IDEA 自动找到的话,可以手动选择 JDK。我们先来学习 Intellij 构建系统下的 Java …

图论算法:最短路径算法详解【c语言版】(无权最短路径、Dijkstra算法)

别忘了请点个赞收藏关注支持一下博主喵!!! 图论算法:最短路径算法详解 在图论中,最短路径问题是寻找图中两点之间具有最小总权重的路径。这个问题在许多实际应用中都有重要的作用,比如网络路由、城市交通规…

vue通过iframe方式嵌套grafana图表

文章目录 前言一、iframe方式实现xxx.xxx.com拒绝连接登录不跳转Cookie 的SameSite问题解决不显示额外区域(kiosk1) 前言 我们的前端是vue实现的,监控图表是在grafana中的,需要在项目web页面直接显示grafana图表 一、iframe方式实现 xxx.xxx.com拒绝连…

苹果系统安装Homebrew时CLT缺失的问题

前言 为了使用brew命令,必须安装Homebrew工具。但是在Howebrew安装的时候,会出现CLT(Command Line Tools)缺失的问题。本博客就是讨论如何来解决这个问题的。 1、问题的出现 2、解决途径 在命令行终端中输入命令:xcod…

LeetCode Hot100 49.字母异位词分组

题干: 思路: 输入的是一个字符串数组,输出是一个列表,首先我们需要通过遍历数组获得每一个字符串,我们想要判断获得的任意两个字符串是不是字母异位词,所以可以将获得的字符串排序(转换为字符数…

小白初入Android_studio所遇到的坑以及怎么解决

1. 安装Android_studio 参考:Android Studio 安装配置教程 - Windows(详细版)-CSDN博客 Android Studio超级详细讲解下载、安装配置教程(建议收藏)_androidstudio-CSDN博客 想下旧版本的android_studio的地址(仅供参考&#xf…

游戏引擎中LOD渲染技术

一.LOD(Level Of Detail) 为了降低GPU渲染压力,根据摄像机距离模型距离将面数较高的模型替换为面数较低的模型. LOD LOD0(distance<10) LOD1(distance<20) LOD2(distance<30) 故通常引擎中MetaMesh是由一个或多个LOD模型构成. MetaMesh mesh mesh.lod1 mesh.lod…

论文阅读《Structure-from-Motion Revisited》

摘要 增量式地运动结构恢复是从无序图像集合中进行三维重建的一个普遍策略。虽然增量式地重建系统在各个方面上都取得了巨大的进步&#xff0c;但鲁棒性、准确性、完整度和尺度仍然是构建真正通用管道的关键问题。我们提出了一种新的运动结构恢复技术&#xff0c;它改进了目前…

【人工智能训练师】3 集群搭建

开启集群环境 本次环境为单节点伪集群环境&#xff0c;环境中已经安装JDK1.8、Hadoop2.7.7、Mysql5.7、hive2.3.4。— 1.环境中已经安装/root/software/hadoop-2.7.7&#xff0c;格式化HDFS&#xff0c;开启集群&#xff0c;查看集群状态。&#xff08;HDFS端口为9000&#x…

使用 GPT-4V 全面评估泛化情绪识别 (GER)

概述 由于情绪在人机交互中扮演着重要角色&#xff0c;因此情绪识别备受研究人员关注。目前的情感识别研究主要集中在两个方面&#xff1a;一是识别刺激物引起的情感&#xff0c;并预测观众观看这些刺激物后的感受。另一个方面是分析图像和视频中的人类情绪。在本文中&#xf…

8.机器学习--决策树

(⊙﹏⊙)下周有要开组会&#xff0c;不知道该说啥&#xff0c;啊啊啊啊&#x1f62b; 目录 1.基本概念 2.ID3算法 3.C4.5算法 4.CART算法 5.连续与缺失值处理 5.1.连续值处理 5.2.缺失值处理 6.剪枝处理 6.1.预剪枝策略 6.2.后剪枝策略 7.实例代码 1.基本概念 提…

uniApp之uni-file-picker使用踩坑

标题党~也不算坑吧 就是初体验 上传是需要存储一下子的&#xff0c;我以为uniApp是自己免费开的服务给大家中转使用&#xff0c;就没管这个事&#xff0c;但是官网是这么说的&#xff1a; 就我是怎么发现的&#xff0c;使用了一段时间后&#xff0c;上传的图片都裂了&#xff…