暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

「更易用的OceanBase」|OceanBase 4.0 一体化安装包 - 把简单留给用户

原创 阿福Chris 2022-11-24
1069

1. OceanBase 3.x 版本安装浅谈


我是在 OceanBase 3.1.4 版本的时候开始尝试入手测试的。刚开始 OB 3.x 版本部署时,各种各样的部署方式着实是让我花了好多时间在上面。现在回想一下,大体有以下几个痛点:

  1. 采用在线部署方式,需要从官网下载单独的 obd 部署软件,然后配合 GitHub 上的配置文件一起使用,进行集群初始化;如果网络条件不是很好,那就需要耐心等待一会了;
  2. 如果没有外网访问条件,离线部署就需要到官网下载所有的软件包,上传到服务器上,然后用 obd 添加成本地镜像,方便 obd 部署时从本地查找 rpm 文件安装。
在线安装的方式还好,整体来说 obd 安装成功后直接一条命令就能自动安装。离线安装时问题可能就比较多了,你需要:
  • 从官网下载全部的软件包(官网下载页面底下有灰色的“继续加载”按钮,一不小心就会导致下载的软件不够)
  • 一个个上传到服务器,安装完后还要一个个处理掉(强迫症患者表示很难受)
  • 需要自行将相关安装包添加到本地镜像
  • 安装时需要自行配置镜像搜索方式,默认是开启互联网下载的,需要配置为 “local” 模式从本地查找

我想需要离线安装部署的人,肯定不在少数,之前还专门写文章介绍过 OB 的多种安装部署方式逻辑,就是为了方便大家,避免我遇到的一些问题。一个软件,安装部署越烦琐,给人的印象越差,劝退的可能性也越高。

2. OceanBase 4.x 带来的安装变化


OceanBase 4.0 发布后,软件的安装给我带来了一种全新的体验,整体安装下来,不必再担心上面那些繁琐的问题了。这种体验主要归功于 OB 4.0 提供了 All in One 安装包,大家可以访问 https://open.oceanbase.com/softwareCenter/community 下载试用。


下面我们简单展开看一下这里面的变化,以及如何帮大家一个个解决离线安装的痛点。

2.1 所有软件打包到一起

这个 All in One 安装包,实际上是将之前所有的软件统一打包到一起了,这样如果您需要安装 OB,直接下载 All in One 安装包即可,不再需要单独下载那些单独的 rpm 文件,当然这里面不包含 ODC、OCP、OMS 等周边工具,仅包含软件核心及黑屏客户端工具。

软件包总大小 300 MB 左右,下载完我们解压看看里面都有什么内容:
[admin@dbs06 ~]$ cd oceanbase-all-in-one/
[admin@dbs06 oceanbase-all-in-one]$ ls
bin  conf  obclient  obd  README.md  rpms  VERSION
[admin@dbs06 oceanbase-all-in-one]$ ls rpms
grafana-7.5.17-1.el7.x86_64.rpm  obproxy-ce-4.0.0-5.el7.x86_64.rpm                       oceanbase-ce-libs-4.0.0.0-100000272022110114.el7.x86_64.rpm
obagent-1.2.0-4.el7.x86_64.rpm   oceanbase-ce-4.0.0.0-100000272022110114.el7.x86_64.rpm  prometheus-2.37.1-10000102022110211.el7.x86_64.rpm
  • bin 目录下是一键安装脚本和环境变量,加快 All in One 软件安装,封装了一些默认的安装目录逻辑
  • conf 下是一些可供参考的配置文件,您不再需要去官方文档或 GitHub 上翻找配置文件模版了
  • obclient 是访问客户端
  • obd 是黑屏部署工具,很好用
  • rpms 是所有 rpm 包,包含 observer、obproxy、libs、obagent、grafana 和 prometheus 核心软件包

2.2 默认本地安装

软件包解压后,我们可以通过执行 bin 目录下的 install.sh 安装脚本一键进行安装,安装过程也不再像以前先从网络上下载了,因为软件都在本地了。我们通过 obd 的命令查看一下镜像的状态:

[admin@dbs06 ~]$ obd mirror list
+------------------------------------------------------------------+
|                      Mirror Repository List                      |
+----------------------------+--------+---------+------------------+
| SectionName                | Type   | Enabled | Update Time      |
+----------------------------+--------+---------+------------------+
| oceanbase.community.stable | remote | False   | 1970-01-01 08:00 |
| oceanbase.development-kit  | remote | False   | 1970-01-01 08:00 |
| local                      | local  | -       | 2022-11-24 12:36 |
+----------------------------+--------+---------+------------------+
Use `obd mirror list <section name>` for more details

从上面的镜像仓库状态可以看出,远程仓库都被 disable 了。


2.3 autodeploy 自动部署更方便

2.1 部分也提到了,安装包下面带有很多参考配置文件了,所以不再需要从网上找参考配置文件。作为一个强迫症患者,安装完软件后,我喜欢把安装包删掉(备份到固定的地方)。

虽然安装包删掉了,但是配置文件之类其实已经都部署到 admin 用户下面了,默认路径通常是 /home/admin/.oceanbase-all-in-one,如下:

[admin@dbs06 .oceanbase-all-in-one]$ ls
bin  conf  obclient  obd  README.md  VERSION
[admin@dbs06 .oceanbase-all-in-one]$ pwd
/home/admin/.oceanbase-all-in-one

此时如果您想根据服务器配置自动生成单机或分布式集群,可以直接到目录 /home/admin/.oceanbase-all-in-one/obd/usr/obd/example/autodeploy 下找到两个示例文件然后做简单的修改:

  • single-example.yaml - 单机部署配置文件
  • distributed-with-obproxy-example.yaml - 分布式部署配置文件
我这里使用单机部署配置文件做个简单的演示,配置文件中的注释写的很详细,大家仔细根据要求配置即可,配置完成下面我们简单初始化一下集群:
[admin@dbs06 conf]$ obd cluster deploy obcluster -c single-example.yaml
install oceanbase-ce-4.0.0.0 for local ok
+--------------------------------------------------------------------------------------------+
|                                          Packages                                          |
+--------------+---------+------------------------+------------------------------------------+
| Repository   | Version | Release                | Md5                                      |
+--------------+---------+------------------------+------------------------------------------+
| oceanbase-ce | 4.0.0.0 | 100000272022110114.el7 | 42611dc51ca9bb28f36e60e4406ceea4a74914c7 |
+--------------+---------+------------------------+------------------------------------------+
Repository integrity check ok
Parameter check ok
Open ssh connection ok
Cluster status check ok
Initializes observer work home ok
Remote oceanbase-ce-4.0.0.0-100000272022110114.el7-42611dc51ca9bb28f36e60e4406ceea4a74914c7 repository install ok
Remote oceanbase-ce-4.0.0.0-100000272022110114.el7-42611dc51ca9bb28f36e60e4406ceea4a74914c7 repository lib check !!
Try to get lib-repository
Package oceanbase-ce-libs-4.0.0.0-100000272022110114.el7 is available.
install oceanbase-ce-libs-4.0.0.0 for local ok
Remote oceanbase-ce-libs-4.0.0.0-100000272022110114.el7-188919f8128394bf9b62e3989220ded05f1d14da repository install ok
Remote oceanbase-ce-4.0.0.0-100000272022110114.el7-42611dc51ca9bb28f36e60e4406ceea4a74914c7 repository lib check ok
obcluster deployed
[admin@dbs06 conf]$ obd cluster list
+------------------------------------------------------------------+
|                           Cluster List                           |
+-----------+------------------------------------+-----------------+
| Name      | Configuration Path                 | Status (Cached) |
+-----------+------------------------------------+-----------------+
| obcluster | /home/admin/.obd/cluster/obcluster | deployed        |
+-----------+------------------------------------+-----------------+

从上面可以看出,集群初始化,简单方便,这里大家需要注意,autodeploy 和 deploy 是有区别的,采用 autodeploy 很省心,obd 会自动帮忙计算很多系统参数,最大化利用服务器资源;当然缺点也很明显,缺少了一些手工调优的优势。总体来说,原则上还是建议大家 autodeploy,先上手再调优,不要操之过急。


3. 写在最后

通过上面两章内容对 3.x 和 4.x 版本的安装部署比较,我们可以看到从 OB 4.0 开始,提供了一体化安装包,真正的做到了把简单留给用户

使用 OB 4.0 一体化安装包后,您的安装可以简化为:一次下载、一次上传、一次安装、一次部署

如果大家感兴趣,可以一起上手测一下,告别繁琐的下载步骤、到处找配置文件的烦恼、不能上网自己倒腾离线安装的窘境。从 OceanBase All in One 一体化安装包开始,做个清清爽爽的打工人,体验单机一体化分布式数据库。





最后修改时间:2022-11-24 14:45:25
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论