https://www.modb.pro/db/565842

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 一体化安装包开始,做个清清爽爽的打工人,体验单机一体化分布式数据库。

[转帖]「更易用的OceanBase」|OceanBase 4.0 一体化安装包 - 把简单留给用户的更多相关文章

  1. 啥也不是 -「OI 易犯错误整理」

    原帖出自 Nefelibata,不过他不想维护,所以就交给 STrAduts 了 awa.因为一些不可抗力,帖主转移至 XSC062.申请置顶! 前言 Nefelibata:因为笔者弱到无法形容,因此 ...

  2. 【转】Raft 为什么是更易理解的分布式一致性算法

    编者按:这是看过的Raft算法博客中比较通俗的一篇了,讲解问题的角度比较新奇,图文并茂,值得一看.原文链接:Raft 为什么是更易理解的分布式一致性算法 一致性问题可以算是分布式领域的一个圣殿级问题了 ...

  3. vue3.0和2.0的区别,Vue-cli3.0于 8月11日正式发布,更快、更小、更易维护、更易于原生、让开发者更轻松

    vue3.0和2.0的区别Vue-cli3.0于 8月11日正式发布,看了下评论,兼容性不是很好,命令有不少变化,不是特别的乐观vue3.0 的发布与 vue2.0 相比,优势主要体现在:更快.更小. ...

  4. V8中的快慢属性(图文分解更易理解)

    出于好奇:js中使用json存数据查找速度快,还是使用数组存数据查找快? 探究V8中对象的实现原理,熟悉数组索引属性.命名属性.对象内属性.隐藏类.描述符数组.快慢属性等等. D8调试工具使用请来这里 ...

  5. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  6. 深入挖掘.NET序列化机制——实现更易用的序列化方案

    .NET框架为程序员提供了“序列化和反序列化”这一有力的工具,使用它,我们能很容易的将内存中的对象图转化为字节流,并在需要的时候再将其恢复.这一技术的典型应用场景包括[1] : 应用程序运行状态的持久 ...

  7. Gulp.js----比Grunt更易用的前端构建工具

    Gulp.js----比Grunt更易用的前端构建工具 Grunt一直是前端构建工具,然而他也不是毫无缺陷的,gulp的作者 Eric Schoffstall 在他介绍 gulp.js 的 prese ...

  8. 让 Python 代码更易维护的七种武器——代码风格(pylint、Flake8、Isort、Autopep8、Yapf、Black)测试覆盖率(Coverage)CI(JK)

    让 Python 代码更易维护的七种武器 2018/09/29 · 基础知识 · 武器 原文出处: Jeff Triplett   译文出处:linux中国-Hank Chow    检查你的代码的质 ...

  9. Selenium 2自动化测试实战36(更易读的测试报告)

    一.更易读的测试报告 1.知识点:python的注释. 1.一种叫comment,为普通的注释2.另一种叫doc string,用于函数,类和方法的描述.在类或方法的下方,通过三引号("&q ...

  10. C++ folly库解读(三)Synchronized —— 比std::lock_guard/std::unique_lock更易用、功能更强大的同步机制

    目录 传统同步方案的缺点 folly/Synchronized.h 简单使用 Synchronized的模板参数 withLock()/withRLock()/withWLock() -- 更易用的加 ...

随机推荐

  1. 华为云GaussDB打造最可信的数据库,给世界一个更优选择

    近日,第14届中国数据库技术大会(DTCC2023)在北京国际会议中心顺利举行.大会以"数智赋能 共筑未来"为主题,邀请了上百位行业专家,一起探讨新时代下各类型数据库的最新动态和应 ...

  2. 解析数仓lazyagg查询重写优化

    摘要:本文对Lazy Agg查询重写优化和GaussDB(DWS)提供的Lazy Agg重写规则进行介绍. 本文分享自华为云社区<GaussDB(DWS) lazyagg查询重写优化解析[这次高 ...

  3. 谁说count(*) 性能最差,我需要跟你聊聊

    摘要:当我们对一张数据表中的记录进行统计的时候,习惯都会使用 count 函数来统计,但是 count 函数传入的参数有很多种,比如 count(1).count(*).count(字段) 等.到底哪 ...

  4. 火山引擎数智平台 VeDI 帮助智能投影仪更懂用户需求

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 当露营成为年轻人的一种全新生活方式后,连带着户外野营帐篷.可折叠桌椅.卡式炉.多人趣味桌游等露营周边市场都迎来新一 ...

  5. Solon2 常用注解之 @Component 与 @Bean 的区别

    @Component 与 @Bean 设计的目的是一样的,都是注册 Bean 到容器里. 1.@Component 注解 及它的子类型 @Configuration,@Controller,@Remo ...

  6. 手把手教你搭建深度学习开发环境(Tensorflow)

    前段时间在阿里云买了一台服务器,准备部署网站,近期想玩一些深度学习项目,正好拿来用.TensorFlow官网的安装仅提及Ubuntu,但我的ECS操作系统是 CentOS 7.6 64位,搭建Pyth ...

  7. MIR7创建预制发票BAPI

    1.事务代码MIR7 前台输入采购订单等相关字段进行开票 2.代码实现 调用BAPI:BAPI_INCOMINGINVOICE_PARK创建发票 "--------------------@ ...

  8. 【JAVA基础】日志管理

    LOGGER.debug("Request uri: {}, headers: {}", signedRequest.getURI(), signedRequest.getAllH ...

  9. 【HZERO】值集翻译

    值集翻译 值集管理: https://open.hand-china.com/document-center/doc/component/163/16090?doc_id=156008&doc ...

  10. AtCoder Beginner Contest 210 (A~E)

    比赛链接:Here A - Cabbages 略 B - Bouzu Mekuri 略 C - Colorful Candies 用map维护连续一段区间的不同元素即可. int main() { c ...