[转帖]OceanBase 在线与离线安装方式详解
各位好,今天给大家带来一篇有关 OceanBase 在线与离线安装方式的解读。首先我们来讨论一下一日常工作中的一些场景,大家经常会遇到以下几种情况:
- 公司网络条件很不错,在线下载速度很快,安装软件直接从互联网下载安装即可,不需要考虑其他因素;
- 公司人数众多,在线下载速度很慢,下载一个rpm包都要等很久,有时候还会出现网络断开的情况;
- 公司允许软件安装时临时接通外部网络,安装完成后即刻断开;
- 公司出于安全考虑,服务器全部禁止了互联网访问,只能通过本地安装的方式进行程序部署。
相信我一说,大家就知道要描述什么问题。没错,就是安全,普通公司尤如此,那在一些相关国计民生,对安全要求高的机构,比如研究院、公共安全部门、铁路等等,由于网络安全做的不到位发生的数据泄漏事故,也屡见不鲜,就比如最近发生的某市人口库10亿数据脱库的严重事故。
针对以上种种情况,尤其考虑到安全的因素,很多数据库的安装都提供离线部署的方式,离线部署、离线运行,可能是目前为止最为保险的方式了。今天我们就来详细聊聊 OceanBase 对在线和离线安装的支持方式。希望本文能带给大家一个完整的 OB 安装视角。
本文论述分析内容采用 OB 经典的部署工具 obd 展开,希望大家在看以下内容之前,达成一个共识
- 本文以部署 3 节点 OceanBase 集群为例,架构图如下图
- 本文采用黑屏部署工具 obd(obdeploy) 为例进行演示
- 本文不包含操作系统配置部分,例如:sysctl.conf/limits.conf/SELINUX/ntp 等的配置,如有需要请参考官方文档对应部分
- 本文配置命令可能只对 Anolis、CentOS 和 RedHat 操作系统有效,仅供参考
1. 在线安装详解
所谓在线安装,就是安装过程从互联网自动下载软件并安装,这也是 OceanBase 提供的最简单的安装方式。整个过程也比较简单,obd 工具帮我们屏蔽了很多内容,方便大家在开发测试环境中先快速上手使用。安装过程大概分为以下几个部分。
1.1 在线安装 OBD
执行以下命令,使用 OceanBase 的官方软件源安装 OBD:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
sudo yum install -y ob-deploy # 该操作只需要在 OB 中控机上执行,因为 OBD 是一个黑屏部署、管理和运维工具,统一从一台机器上发起操作,所以不需要每台机器均安装
1.2 在线安装 OBLibs
oblibs 是 OceanBase 运行时依赖部分第三方动态库,需要在所有机器上安装一下。
sudo yum install -y yum-utils # 如果上一步已经执行该操作,请忽略
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo # 如果上一步已经执行该操作,请忽略
sudo yum install -y oceanbase-ce-libs # 所有机器均需安装
1.3 在线安装 OBClient
obclient 是 OceanBase 黑屏连接客户端,类似于 Oracle 的 sqlplus 或 mysql 的黑屏客户端工具,可以只在中控机器上安装,也可以选择在所有服务器安装,方便后期排错等操作。
sudo yum install -y libobclient
sudo yum install -y obclient
1.4 在线部署 OceanBase 集群
上面三步均完成以后,当前我们的服务器环境中,已经具备基本环境了,下面就开始部署 OB 集群,我采用以下配置部署 2 obproxy + 3 observer 集群(机器有复用)。
user:
username: admin
password: admin
oceanbase-ce:
servers:
- name: observer1
ip: 192.168.3.171
- name: observer2
ip: 192.168.3.172
- name: observer3
ip: 192.168.3.173
global:
home_path: /home/admin/observer
data_dir: /data/obdata
redo_dir: /data/obdata/redo
devname: eno1
mysql_port: 2881
rpc_port: 2882
zone: zone1
datafile_size: 3000G
appname: obcluster
root_password: observer
proxyro_password: obproxy
observer1:
zone: zone1
observer2:
zone: zone2
observer3:
zone: zone3
obproxy-ce:
depends:
- oceanbase-ce
servers:
- 192.168.3.171
- 192.168.3.172
global:
home_path: /home/admin/obproxy
skip_proxy_sys_private_check: true
enable_strict_kernel_release: false
listen_port: 2883
prometheus_listen_port: 2884
cluster_name: obcluster
obproxy_sys_password: obproxy-sys
observer_sys_password: obproxy
执行下面的命令进行初始化,此时仔细观察打印的日志,描述了整个在线安装的过程:
obd cluster autodeploy obcluster -c obcluster.yml
- 1
在线安装的过程大概有如下几步:
- 检测当前环境中的配置库信息,如有更新会拉取最新的配置;
- 从 OB 仓库中拉取最新版本的 observer 和 obproxy;
- 将 observer 和 obproxy 安装包分发到对应集群机器上进行安装;
- 服务器配置参数校验 及 集群初始化。
1.5 结语
真正在在线安装过程中,不会像文中提到的这么顺滑,您可能遇到各种各样的问题,比如资源配置不足、NTP时间同步有问题、缺少对应的库文件等等,一款好的数据库,需要大家去适应,当然 OB 也在向着易用性上不断迈进。所以如果您在安装过程中遇到了任何问题,请不要焦虑,多尝试分析,多到论坛或技术群中咨询,总能把问题解决掉。
2. 离线安装详解
离线安装的整体过程与在线安装一致,唯一不同的就是我们不能直接从 OceanBase 官方仓库上自动拉取文件了。只能使用 rpm 本地部署的方式执行安装过程。好在,obd 提供了配置本地镜像仓库的方式,安装也很方便。
OceanBase 社区版离线安装包可以从该地址获取:https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/ 尽量选用最新版本。
2.1 离线安装 OBD
下载获取到的最新版本 obd,上传到服务器,执行以下命令安装(只在中控机安装即可):
sudo yum install -y ob-deploy-1.4.0-13.el7.x86_64.rpm
2.2 离线安装 OBLibs
下载获取到的最新版本 oblibs,上传到服务器,执行以下命令安装(在所有机器上安装):
sudo yum install -y oceanbase-ce-libs-3.1.4-10000092022071511.el7.x86_64.rpm
2.3 离线安装 OBClient
下载获取到的最新版本 obclient,上传到服务器,执行以下命令安装(只在中控机安装即可,也可以在所有机器上安装,方便本地调试):
sudo yum install libobclient-x.x.x.el7.x86_64.rpm
sudo yum install obclient-x.x.x-2.el7.x86_64.rpm
2.4 离线部署 OceanBase 集群
离线安装部署,必须禁用远程仓库:
obd mirror disable remote
然后,跳转到刚才下载了 rpm 包的目录下,目录下必须包含的文件有 observer rpm 包 和 obproxy rpm 包,然后将安装包添加到本地镜像:
obd mirror clone *.rpm
可以通过 obd mirror list 命令查看本地镜像仓库状态:

最后,采用同样的配置文件,尝试初始化集群即可:
obd cluster autodeploy obcluster -c obcluster.yml

在集群初始化过程中,可以仔细观察一下日志,其实整体过程上,与在线安装并无二异。
2.5 结语
离线安装整体来说也特别简单,仅仅多了提前下载和上传软件包的步骤。如果大家在日常部署过程中并不能访问外网,可以采用这种方式。
3. 二者如何选择
相信经过上面的过程陈述后,大家心里已经有了答案了,最后我们来一起总结一下两种方式如何选择:
- 如果网络条件良好,且公司允许的情况下,还是推荐在线安装方式,更简洁,并且每次能够自动检测最新版本进行部署;
- 如果出于安全或其他因素考虑,服务器并不能上网,那推荐采用离线安装方式,也很简单。
最后的最后,OceanBase 为大家的各种需求都提供了详细的解决方案,如果您有任何疑问,不要慌张,请花点时间到社区里问一问(https://ask.oceanbase.com),一定会有您满意的答案。
[转帖]OceanBase 在线与离线安装方式详解的更多相关文章
- Linux离线安装Ruby详解
很多时候我们会发现,真实的生成环境很多都没有外网,只有内网环境,这个时候我们又需要安装Ruby,则不能提供yum命令进行在线安装了,这个时候我们就需要下载安装包进行离线安装.本文主要简单介绍如果离线安 ...
- Linux 离线安装Rubygems详解
很多时候我们会发现,真实的生成环境很多都没有外网,只有内网环境,这个时候我们又需要安装RubyGems,则不能提供yum命令进行在线安装了,这个时候我们就需要下载安装包进行离线安装.本文主要简单介绍如 ...
- Android SDK离线安装方法详解(加速安装) 转
AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助! 离线安装包下载地址:http://dl.vmall.com/c ...
- VS2019 离线安装方法详解
本文详细介绍了 VS2019 离线安装的相关步骤,以桌面开发为主下载 C++桌面开发..NET 桌面开发相关的工作负载.MFC 可选组件及帮助查看器. 工作负载(Workload) 离线安装需要先根据 ...
- Android SDK离线安装方法详解(加速安装)
AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助 一,首先下载SDK的安装包,android-sdk_r10-wi ...
- [Linux系统] (3)应用安装方式详解(编译安装、rpm包安装、yum安装)
软件的安装方式: 编译安装 RPM包安装 yum安装 一.编译安装 1.下载一个源码安装包:tengine-2.3.0.tar.gz.这是淘宝二次开发过的nginx.将其解压. .tar.gz 2.查 ...
- eclipse集成testng插件(离线安装方式)
testng是一个优秀的测试框架,我们在开发自动化测试脚本或者框架的时候经常会用到这个框架,因为它不仅能方便的帮助我们管理测试类,而且它还提供了丰富的注解来支持各种测试场景的实现(参数化,数据提供者, ...
- vscodes使用(一): 常用插件,在线与离线安装
一.常用插件 1.Live server 浏览器实时刷新 插件安装成功后,会在底部工具栏中,显示个Go Live *.html文件,点击右键,可以看到live server两条指令 2.Esasy ...
- nginx在线与离线安装
1.场景描述 项目要部署到新的服务器上,需要安装nginx,刚好安全部门通知了nginx存在安全漏洞(Nginx整数溢出漏洞,nginx1.13.2之后的版本无问题),就下载最新的nginx进行了安装 ...
- Windows主机里利用VMware安装Linux(CentOS)虚拟机,Host-only连接上网方式详解
关于Host-only指的是主机与虚拟机之间的互联,因此虚拟机是不能连网的,若需要连网则需要使用NAT模式: Host-only模式实现联网得考虑如下配置过程: 附:VMware虚拟机三种网络模式(B ...
随机推荐
- 干货时间:聊聊DevOps下的技术系列之契约测试
摘要:本期和大家简单聊聊在服务交互场景下使用服务契约的重要性,以及契约管理的必要性,最后简单介绍了下契约测试. 1.服务交互带来的问题 在上一篇文章中,我们系统的列举了DevOps各个流程中常用的测试 ...
- 云图说|初识华为云数据库GaussDB(for openGauss)
摘要:本文带你了解华为云华为云数据库GaussDB(for openGauss),将AI 技术融入分布式数据库的全生命周期,实现自运维.自管理.自调优.故障自诊断和自愈. 本文分享自华为云社区< ...
- maptalks点线面图形样式设置经验总结
个人偏好使用mapbox,但是架不住人多,被使用maptalks,然而的文档非常感人,让人泪崩三千里-- maptalks图形样式设置,通过symbol设置 设置symbol的,可以直接在 图形(Ma ...
- 协同编辑:Google Wave架构分析
Google Wave的设计初衷是让人们互相发送信息,一起编辑文档,但用户对此感到困惑,很快就以失败告终.Google Wave持续了大约一年时间,于2010年8月被关闭. Wave"领先于 ...
- maven中引入CDH依赖包,Cannot resolve org.apache.hadoop:hadoop-hdfs:3.0.0-cdh6.3.2
POM文件加入仓库 cloudera https://repository.cloudera.com/artifactory/cloudera-repos/ 修改MAVEN配置文件 nexus-ali ...
- Ambari2.7.3.0添加组件
Ambari 2.7.3.0安装新组件和之前版本略有不同,本文将简述安装新组件的简单过程. 前提是大家已经安装好Ambari 2.7.3.0 这时候由于有一些组件没有添加,就需要安装新的组件. 首先我 ...
- 听说火山引擎推出的 DataLeap,已经可以支持万级表的数据血缘图谱了!
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 数据来源广.量级大.场景多,导致数据之间关系变得异常复杂. 经过读取.清洗.存储.计算等一系列流程之后,数据最终汇 ...
- No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc ...
- 【计算机网络】soap和rest简单比较整理
https://www.bilibili.com/video/BV1ht411U7fC/?spm_id_from=333.337.search-card.all.click&vd_source ...
- 广州|阿里云 Serverless 技术实战营邀你来玩!
活动简介 "Serverless 技术实战与创新沙龙 " 是一场以 Serverless 为主题的开发者活动,活动受众以关注Serverless 技术的开发者.企业决策人.云原生领 ...
