各位好,今天给大家带来一篇有关 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: adminpassword: admin
oceanbase-ce:servers:- name: observer1ip: 192.168.3.171- name: observer2ip: 192.168.3.172- name: observer3ip: 192.168.3.173global:home_path: /home/admin/observerdata_dir: /data/obdataredo_dir: /data/obdata/redodevname: eno1mysql_port: 2881rpc_port: 2882zone: zone1datafile_size: 3000Gappname: obclusterroot_password: observerproxyro_password: obproxyobserver1:zone: zone1observer2:zone: zone2observer3:zone: zone3
obproxy-ce:depends:- oceanbase-ceservers:- 192.168.3.171- 192.168.3.172global:home_path: /home/admin/obproxyskip_proxy_sys_private_check: trueenable_strict_kernel_release: falselisten_port: 2883prometheus_listen_port: 2884cluster_name: obclusterobproxy_sys_password: obproxy-sysobserver_sys_password: obproxy

执行下面的命令进行初始化,此时仔细观察打印的日志,描述了整个在线安装的过程:

obd cluster autodeploy obcluster -c obcluster.yml

在线安装的过程大概有如下几步:

  1. 检测当前环境中的配置库信息,如有更新会拉取最新的配置;
  2. 从 OB 仓库中拉取最新版本的 observer 和 obproxy;
  3. 将 observer 和 obproxy 安装包分发到对应集群机器上进行安装;
  4. 服务器配置参数校验 及 集群初始化。

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. 二者如何选择

相信经过上面的过程陈述后,大家心里已经有了答案了,最后我们来一起总结一下两种方式如何选择:

  1. 如果网络条件良好,且公司允许的情况下,还是推荐在线安装方式,更简洁,并且每次能够自动检测最新版本进行部署;
  2. 如果出于安全或其他因素考虑,服务器并不能上网,那推荐采用离线安装方式,也很简单。

最后的最后,OceanBase 为大家的各种需求都提供了详细的解决方案,如果您有任何疑问,不要慌张,请花点时间到社区里问一问(https://ask.oceanbase.com),一定会有您满意的答案。

OceanBase 在线与离线安装方式详解相关推荐

  1. Linux服务器离线安装SVN详解

    Linux服务器离线安装SVN详解 准备工作 开始安装 建立版本库 SVN从一台服务器迁移到另一台服务器 准备工作 安装前需准备以下文件,以下文件在安装过程中基本会用到.这里安装以服务器路径 /hom ...

  2. sdk linux 离线安装方法,Android SDK离线安装方法详解(加速安装)

    AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助 一,首先下载SDK的安装包,android-sdk_r10-wi ...

  3. 关于64位UBUNTU硬盘安装方式详解,和提示找不到vmlinuz的分析

    正在使用WINDOWS操作系统的朋友们,对LINUX也不陌生了,关于硬盘安装LINUX(UBUNTU),相信大家在网上可以找到很多教程,但是后来很多朋友问我说按照网上的教程来,会提示找不到VMLINU ...

  4. c mysql5.7_CentOS7下MySQL5.7的三种安装方式详解

    操作系统环境: CentOS 7.4最小化安装 [root@node3 src]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Cor ...

  5. IDEA安装阿里巴巴编码规范插件的两种方式详解(在线安装和离线安装)

    这篇文章主要介绍了IDEA安装阿里巴巴编码规范插件的两种方式详解(在线安装和离线安装),本文通过截图给大家展示的非常详细,需要的朋友可以参考下 目录 1.在线安装: 2.离线安装: IDEA安装阿里巴 ...

  6. NFS 在线安装和离线安装方式

    NFS 在线安装和离线安装方式: 1. 在线安装: 第一步:在文件主服务器上安装 nfs-kernel-server # 1. 安装 rpcbind, nfs 依赖 rpc 进行相互通信 apt-ge ...

  7. android-studio安装过程详解

    android-studio安装过程详解 转载 2018年01月18日 13:53:32 标签: android-studio / android-studio安装 / Gradle / androi ...

  8. mysql8.0.11 安装顺序_mysql 8.0.11 安装步骤详解

    本文为大家分享了mysql 8.0.11 安装步骤,供大家参考,具体内容如下 第一步:下载安装包 MYSQL官方下载地址:官方下载 这里第一项是在线安装,第二项是离线包安装,我选择的是第二项(不用管你 ...

  9. python如何离线安装第三方库_Python在线和离线安装第三方库的方法

    Python在线和离线安装第三方库的方法 Windows环境: (1)离线安装 首先在线搜索并下载你需要的第三方库:网址https://pypi.org/project/ 安装whl包: pip in ...

最新文章

  1. 阿里云代码超限2040M remote: error: hook declined to update refs/heads
  2. SegmentFault 技术周刊 Vol.17 - 听说你还没用上 AngularJS
  3. 简易记事本实现与分析(三)主界面
  4. 全国自考微型计算机原理及其应用,2010年10月全国自考微型计算机原理及应用试题...
  5. 控制ftp访问时间段
  6. Shell 变量的作用域
  7. rocm平台_痛击NV CUDA!AMD ROCm开放计算平台瓜熟蒂落
  8. DDR3和eMMC区别
  9. FreeSql (二十八)事务
  10. 经纬度坐标系转东北天_大地坐标系(WGS-84)、地心地固坐标系(ECEF)与东北天坐标系(ENU)的相互转换C语言代码分享...
  11. 奥鹏20年12月作业考核(C语言专科),《C语言(专科)》20年12月作业考核【答案100分】...
  12. 作者:胡卫生(1964-),男,博士,上海交通大学教授、博士生导师,主要研究方向为下一代光接入网、光交换、光网络等。...
  13. 历史上的今天:ATT 成立;全球最大分布式计算项目正式停止;家酿俱乐部首次会议...
  14. redis的安装和命令的使用(史上最全命令集合)
  15. 第五和第六单元练习题
  16. WIN7系统开启无线路由共享上网功能
  17. 手机上怎么制作电子版证件照
  18. 819 c语言程序设计,大连海洋大学2021年考研819高级语言程序设计(C语言)考试大纲...
  19. 遇到问题--python--BLOB/TEXT column 'code' used in key specification without a key length
  20. 微信公众号后台添加安全域名 提示:无法访问xxx指向的web服务器(或虚拟主机)的目录,请检查网络设置

热门文章

  1. 中国药用胶塞市场研究与未来预测报告(2022版)
  2. vista下载_在受保护模式下使用IE7在Vista下下载可听内容
  3. 手机浏览器打开QQ聊天和群聊天
  4. Halcon图像处理软件下载
  5. flask-day3:模板引擎jinja2|JsonResponse|页面url_for|
  6. Inside AbstractQueuedSynchronizer 文档集合
  7. tongyuekeji123 实战 SQL Server 2008 数据库误删除数据的恢复
  8. 4年测试经验,几经波折进了阿里,两个月后我选择了离开...
  9. JAVA在线考试管理系统
  10. os.getcwd()用法