OceanBase 4.2.1社区版 最小资源需求安装方式

OceanBase 4.2.1社区版 最小资源需求安装方式

资源需求

资源需求分析

在这里插入图片描述

observer Memory 控制参数:
memory_limit_percentage 默认80%
memory_limit 直接设定observer Memory 大小

System memory 可设为1G

租户内存:sys租户内存设为1G,OCP需要的租户ocp_mate、ocp_monitor 最小内存需要2G,链接会报错。

SQL查询还要预留部分内存1G

需要总内存1G+1G+2G+2G+1G=7G.
正常使用OCP安装的话最小也需要 7G/80%=9G 内存。
我们使用不正常方式来安装,需求还可以在减小一点。
我们可以把ocp_mate、ocp_monitor租户使用单个note,分别放到两个note上。那需要总内存就为1G+1G+2G+1G=5G.

虚机配置规划

OBD虚机 :1核CPU,1G内存,200G硬盘。
OCP虚机 :4核CPU,5G内存,200G硬盘。
OBServer1虚机 :4核CPU,8G内存,200G硬盘。
OBServer1虚机 :4核CPU,8G内存,200G硬盘。

虚拟机环境

虚拟机安装

我是用的是VMware加centoc7.虚拟机安装比较简单,就不详细写了。

创建虚机

OBD虚机 :1核CPU,1G内存,200G硬盘,hostname:obd。
OCP虚机 :4核CPU,5G内存,200G硬盘,hostname:ocp。
OBServer1虚机 :4核CPU,8G内存,200G硬盘,hostname:obs1。
OBServer1虚机 :4核CPU,8G内存,200G硬盘,hostname:obs2。

环境配置

创建用户
useradd -U admin -d /home/trw -m -s /bin/bash

设置密码
passwd admin

关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

设置ulimit

vi /etc/security/limits.d/20-nproc.conf在文件尾部添加

vi /etc/security/limits.d/20-nproc.conf
*       soft    nproc   655360          #最大线程数
*       hard    nproc   655360          #最大线程数

vi /etc/security/limits.conf在文件尾部添加

vi /etc/security/limits.conf
*       soft    nofile  655350
*       hard    nofile  655350
*       soft    stack   20480
*       hard    stack   20480
*       soft    core    unlimited
*       hard    core    unlimited

vi /etc/sysctl.conf在文件尾部添加

vi /etc/sysctl.conf
vm.max_map_count=655360
vm.min_free_kbytes=2097152
fs.file-max = 6573688

设置免密码sudo

vi /etc/sudoers 在文件尾部添加

vi /etc/sudoers
admin       ALL=(ALL)       NOPASSWD: ALL

创建需要的目录

sudo mkdir /data
sudo chown admin:admin /data

数据库oceanbase-ce、obproxy-ce 安装

下载软件包

OceanBase社区版一键安装包 (OceanBase All in One)

https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/7/x86_64/oceanbase-all-in-one-4.2.1.2-102000042023120514.el7.x86_64.tar.gz

OceanBase 云平台 OCP

https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/ocp/4.2.1_CE_BP1/ocp-all-in-one-4.2.1-20231208144448.el7.x86_64.tar.gz

OBD安装

使用admin用户,上传上面下载的两个软件包。(我上传到:/home/admin/soft/ 下,这个随自己爱好,在哪都行)
分别解压两个软件包。

cd /home/admin/soft/
tar -zxvf ocp-all-in-one-4.2.1-20231127205908.el7.x86_64.tar.gz
tar -zxvf oceanbase-all-in-one-4.2.1.1-100120231117154841.el7.x86_64.tar.gz

拷贝 oceanbase-all-in-one/rpms/ 下的所有rpm包到 ocp-all-in-one/rpms/ 下

 cp  /home/admin/soft/oceanbase-all-in-one/rpms/*.rpm /home/admin/soft/ocp-all-in-one/rpms/

执行install.sh安装obd

[admin@obd rpms]$ cd /home/admin/soft/ocp-all-in-one/bin/
[admin@obd bin]$ ls
env.sh  install.sh  uninstall.sh
[admin@obd bin]$ ./install.sh
[admin@obd ~]$ source ~/.oceanbase-all-in-one/bin/env.sh

创建配置文件

可使用OBD web创建配置文件,也可以使用我的配置文件。两种方法使用其中一种

配置文件会保存在/home/admin/.obd/cluster下,如下图ob、ocp文件夹为OBD管理的集群名各自的配置保存在自己的文件夹下。

在这里插入图片描述

使用我的observer配置文件config.yaml

直接创建目录/home/admin/.obd/cluster/ob

mkdir -p /home/admin/.obd/cluster/ob

创建config.yaml把下方配置内容粘贴到config.yaml文件中

vi /home/admin/.obd/cluster/ob/config.yaml
user:username: adminpassword: adminport: 22
oceanbase-ce:version: 4.2.1.1release: 101010012023111012.el7package_hash: e98c6ef860b5644c36f806e6fa2265255572b40a192.168.7.31:zone: zone1192.168.7.32:zone: zone2servers:- 192.168.7.31- 192.168.7.32global:appname: obroot_password: ABcd@#11223344mysql_port: 2881rpc_port: 2882home_path: /home/admin/ob/oceanbasedatafile_maxsize: 10GBsystem_memory: 1GBcluster_id: 1702558665enable_syslog_recycle: trueenable_syslog_wf: falsemax_syslog_file_count: 2memory_limit: 6Gdatafile_size: 2Glog_disk_size: 20Gcpu_count: 16production_mode: false__min_full_resource_pool_memory: 1073741824datafile_next: 2Gproxyro_password: XztSLx00hB
obproxy-ce:version: 4.2.1.0package_hash: 0aed4b782120e4248b749f67be3d2cc82cdcb70drelease: 11.el7servers:- 192.168.7.31- 192.168.7.32global:prometheus_listen_port: 2884listen_port: 2883home_path: /home/admin/ob/obproxyobproxy_sys_password: ABcd@#11223344skip_proxy_sys_private_check: trueenable_strict_kernel_release: falseenable_cluster_checkout: falseproxy_mem_limited: 500Mdepends:- oceanbase-ce
使用obd_web创建配置文件

使用obd web命令启动web服务

[admin@obd cluster]$ obd web 
start OBD WEB in 0.0.0.0:8680
please open http://192.168.7.10:8680

登录网页 http://192.168.7.10:8680 根据自己的提示登录

点击 开启体验之旅 开始部署

在这里插入图片描述

如下图点击

在这里插入图片描述

如下图点击,取消工具前的复选框

在这里插入图片描述

保留两个节点

在这里插入图片描述

红框标注处注意修改

在这里插入图片描述

点击预检测后配置文件即可生成/home/admin/.obd/cluster/ob/config.yaml。

在这里插入图片描述

此时可以继续点部署进行部署,也可使用命令部署。建议点击退出使用命令部署。这样可以 vi config.yaml 进行更多参数修改优化

安装oceanbase-ce、obproxy-ce

使用 obd cluster deploy ob 进行部署 ob为前面输入的集群名

[admin@obd ob]$ obd cluster deploy ob

运行完成之后按提示执行obd cluster start ob 继续部署,命令执行完成之后oceanbase-ce、obproxy-ce 部署成功

obd cluster start ob

数据库ocp-server-ce 安装

链接数据库

根据自己喜欢的工具链接数据库,我使用的是navicat

最好链接obproxy的2883端口

在这里插入图片描述

数据库优化设置

# 按照物理机器总内存的百分比计算observer内存上限
SHOW parameters LIKE 'memory_limit_percentage'
alter system set memory_limit_percentage=90# OceanBase 数据库的内存大小
SHOW parameters LIKE 'memory_limit'
alter system set memory_limit='7G'# 表示租户的MemStore 部分占租户总内存的百分比
SHOW parameters LIKE 'memory_limit_percentage'
alter system set memstore_limit_percentage=90# 通过参数设定“系统内部内存”上限
SHOW parameters LIKE 'system_memory'
alter system set system_memory='1G'

创建ocp需要的租户

创建资源单元uint,资源池pool,租户tenant ocp_meta、ocp_monitor

#创建资源单元uint
create resource unit trw_unit max_cpu=2, min_cpu=2, memory_size='2G';
#创建资源池pool
create resource pool trw_pool1 unit=trw_unit, unit_num=1, ZONE_LIST=('zone1');
create resource pool trw_pool2 unit=trw_unit, unit_num=1, ZONE_LIST=('zone2');
#创建租户tenant
CREATE TENANT ocp_meta RESOURCE_POOL_LIST=('trw_pool1') SET VARIABLES ob_tcp_invited_nodes='%';
CREATE TENANT ocp_monitor RESOURCE_POOL_LIST=('trw_pool2') SET VARIABLES ob_tcp_invited_nodes='%';

修改租户密码

使用空密码链接租户ocp_meta、ocp_monitor修改root用户密码

ALTER USER root IDENTIFIED BY password;

创建数据库

租户ocp_meta下创建数据库

# cp_meta 下创建数据库
CREATE DATABASE meta_database
CREATE DATABASE backup1472
CREATE DATABASE backup147x
CREATE DATABASE backup21
CREATE DATABASE backup2230

租户 ocp_monitor 下创建数据库

# 租户 ocp_monitor 下创建数据库
CREATE DATABASE monitor_database

创建配置文件

可使用OBD web创建配置文件,也可以使用我的配置文件。两种方法使用其中一种

使用我的ocp配置文件config.yaml

直接创建目录/home/admin/.obd/cluster/ocp

mkdir -p /home/admin/.obd/cluster/ocp

创建config.yaml把下方配置内容粘贴到config.yaml文件中

vi /home/admin/.obd/cluster/ocp/config.yaml
user:username: adminpassword: adminport: 22
ocp-server-ce:version: 4.2.1package_hash: 92177252c57cf643656c1c1d2073dc256c87e12arelease: 20231127205908.el7servers:- 192.168.7.20global:home_path: /home/admin/ocpsoft_dir: /home/admin/softwarelog_dir: /home/admin/logsport: 8080admin_password: ABcd@#11223344memory_size: 2Gmanage_info:machine: 3jdbc_url: jdbc:oceanbase://192.168.7.31:2883/oceanbasejdbc_username: root@sysjdbc_password: ABcd@#11223344ocp_meta_tenant:tenant_name: ocp_metamax_cpu: 2.0memory_size: 2Gocp_meta_username: rootocp_meta_password: ABcd@#11223344ocp_meta_db: meta_databaseocp_monitor_tenant:tenant_name: ocp_monitormax_cpu: 2.0memory_size: 2Gocp_monitor_username: rootocp_monitor_password: ABcd@#11223344ocp_monitor_db: monitor_database
使用obd_web创建配置文件

使用obd web命令启动web服务

[admin@obd cluster]$ obd web 
start OBD WEB in 0.0.0.0:8680
please open http://192.168.7.10:8680

登录网页 http://192.168.7.10:8680 根据自己的提示登录

点击 开启体验之旅 开始部署

在这里插入图片描述

如下图点击

在这里插入图片描述

如下图点击

在这里插入图片描述

输入ocp的集群名

在这里插入图片描述

输入obproxy的IP:192.168.7.31、端口:2883 、sys租户root用户的密码

在这里插入图片描述

输入要安装ocp的服务器的应户名、密码、IP

在这里插入图片描述

设置ocp网页的管理员密码,端口

在这里插入图片描述

如下修改资源规格参数,输入ocp_meta、ocp_monitor租户root用户密码

在这里插入图片描述

点击预检查可生成配置文件/home/admin/.obd/cluster/ocp/config.yaml(预检查会卡住或报错无法通过,直接点退出)

在这里插入图片描述

跳过租户检测

修改 /home/admin/.obd/plugins/ocp-server-ce/4.2.1/start_check.py文件设置skip_create_tenant=‘True’ 注意缩进保持一致

在这里插入图片描述

                # tenant check#skip_create_tenant = 'False'#skip_create_tenant = getattr(options, "skip_create_tenant", "False")skip_create_tenant = 'True'if skip_create_tenant == 'False':sql = "select * from oceanbase.DBA_OB_TENANTS where TENANT_NAME = %s"meta_tenant = server_config.get('ocp_meta_tenant')['tenant_name']meta_max_cpu = server_config['ocp_meta_tenant'].get('max_cpu', 2)meta_memory_size = server_config['ocp_meta_tenant'].get('memory_size', '2G')if server_config.get('ocp_monitor_tenant'):monitor_user = server_config.get('ocp_monitor_username', 'monitor_user')monitor_tenant = server_config['ocp_monitor_tenant']['tenant_name']monitor_max_cpu = server_config['ocp_monitor_tenant'].get('max_cpu', 2)monitor_memory_size = server_config['ocp_monitor_tenant'].get('memory_size', '4G')res = cursor.fetchone(sql, [monitor_tenant])if res:error('tenant', err.EC_OCP_SERVER_TENANT_ALREADY_EXISTS.format({"tenant_name":monitor_tenant}))res = cursor.fetchone(sql, [meta_tenant])if res:error('tenant', err.EC_OCP_SERVER_TENANT_ALREADY_EXISTS.format({"tenant_name":meta_tenant}))break

安装ocp-server-ce

执行命令 obd cluster deploy ocp 部署ocp

 obd cluster deploy ocp

待执行结束,根据提示执行 obd cluster start ocp

obd cluster start ocp

执行完成,就可以登录ocp 网页了,通过网页接管ob集群,就不再介绍自行添加。

如果再在想添加一个节点组成三节点,网页ocp可直接操作。

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

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

相关文章

在Windows上通过cmake-gui及VS2019来 编译OpenCV-4.5.3源码

文章目录 下载OpenCV-4.5.3源码下载opencv_contrib-4.5.3源码打开cmake-gui选择生成器 通过 Visual Studio 2019 打开构建好的.sln工程文件执行编译操作执行安装操作 下载OpenCV-4.5.3源码 可通过github上下载,网上很多,找到tag标签,选择 Op…

OSG中几何体的绘制(二)

5. 几何体操作 在本章的前言中就讲到,场景都是由基本的绘图基元构成的,基本的绘图基元构成简单的几何体,简单的几何体构成复杂的几何体,复杂的几何体最终构造成复杂的场景。当多个几何体组合时,可能存在多种降低场景渲染效率的原因…

AlexNet(pytorch)

AlexNet是2012年ISLVRC 2012(ImageNet Large Scale Visual Recognition Challenge)竞赛的冠军网络,分类准确率由传统的 70%提升到 80% 该网络的亮点在于: (1)首次利用 GPU 进行网络加速训练。 &#xff…

Idea中操作Git使用cherry pick

Idea中操作Git使用cherry pick 使用场景使用功能步骤 使用场景 代码开发中,新功能还未开发完,但是master分支需要使用带新功能中的一次提交的代码,就可以使用cherry pack(优选). 使用功能步骤 切换到master分支选中dev分支双击选择需要使用的提交右键,如果有冲突就会弹窗解…

Netty—NIO万字详解

文章目录 NIO基本介绍同步、异步、阻塞、非阻塞IO的分类NIO 和 BIO 的比较NIO 三大核心原理示意图NIO的多路复用说明 核心一:缓存区 (Buffer)Buffer类及其子类Buffer缓冲区的分类MappedByteBuffer类说明: 核心二:通道 (Channel)Channel类及其…

防止反编译,保护你的SpringBoot项目

ClassFinal-maven-plugin插件是一个用于加密Java字节码的工具,它能够保护你的Spring Boot项目中的源代码和配置文件不被非法获取或篡改。下面是如何使用这个插件来加密test.jar包的详细步骤: 安装并设置Maven: 首先确保你已经在你的开发环境中…

windows 10 安装和配置nginx

1 下载nginx 1.1 下载地址:http://nginx.org/en/download.html 1.2 使用解压到安装目录 1.3 更改配置 conf目录下nginx.conf 修改为未被占用的端口,地址改成你的地址 server {listen 9999;server_name localhost;#charset koi8-r;#access_lo…

2 使用postman进行接口测试

上一篇:1 接口测试介绍-CSDN博客 拿到开发提供的接口文档后,结合需求文档开始做接口测试用例设计,下面用最常见也最简单的注册功能介绍整个流程。 说明:以演示接口测试流程为主,不对演示功能做详细的测试,…

K8S(六)—kubectl

这里写目录标题 Kubectldeletegetexplainapply Kubectl kubectl 是 Kubernetes 命令行工具,用于与 Kubernetes 集群进行交互、管理资源、执行操作以及获取有关集群和应用程序的信息。以下是一些常用的 kubectl 命令及其详细介绍: 基本信息和状态查询命令…

小程序 如何做性能优化?

小程序的性能优化可以分为两个方面:前端性能优化和后端性能优化。 前端性能优化: 减少HTTP请求:减少小程序页面中的HTTP请求,可以大大提高页面加载速度。您可以通过使用图片精灵、合并脚本和样式表等技术来减少HTTP请求。 图片优…

《Kotlin核心编程》笔记:特设多态、运算符重载和扩展函数

多态的不同形式 Kotlin 的扩展函数其实只是多态的表现形式之一。 子类型多态 继承父类后,用子类实例使用父类的方法,例如: 然后我们就可以使用父类DatabaseHelper的所有方法。这种用子类型替换超类型实例的行为,就是我们通常说…

【数据结构】双链表的定义和操作

目录 1.双链表的定义 2.双链表的创建和初始化 3.双链表的插入节点操作 4.双链表的删除节点操作 5.双链表的查找节点操作 6.双链表的更新节点操作 7.完整代码 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助…

WPF-UI HandyControl 控件简单实战

文章目录 前言UserControl简单使用新建项目直接新建项目初始化UserControlGeometry:矢量图形额外Icon导入最优解决方案 按钮Button切换按钮ToggleButton默认按钮图片可切换按钮加载按钮切换按钮 单选按钮和复选按钮没有太大特点,就不展开写了总结 DataGrid数据表格G…

网络安全-等保测评相关知识

什么是等保测评? 信息安全等级保护,是对信息和信息载体按照重要性等级分级别进行保护的一种工作,其目的就是对信息系统安全防护体系能力的分析与确认,发现存在的安全隐患,帮助运营使用单位认识不足, 及时改进&#xff…

详细了解stm32---按键

提示:永远支持知识文档免费开源,喜欢的朋友们,点个关注吧!蟹蟹! 目录 一、了解按键 二、stm32f103按键分析 三、按键应用 一、了解按键 同学们,又见面了o(* ̄▽ ̄*)ブ,最…

vue制作简易日历

你可以使用Vue.js来制作一个简易日历。&#xff1a; <!DOCTYPE html> <html> <head><title>Vue简易日历</title><script src"https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><style>table {border-colla…

C++ Qt开发:Tab与Tree组件实现分页菜单

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍tabWidget选择夹组件与TreeWidget树形选择组件…

43 贪心算法 -第K个排列

题 目 描 述 n 个 字 共 有 n &#xff01; 种 排 列 。 给 定 参 数 n &#xff0c; 从 1 到 n 会 有 n 个 整 数 &#xff1a; 123 按 大 小 顺 升 序 列 出 所 有 排 列 的 情 况 &#xff0c; 并 己 当 n 3 时 &#xff0c; 所 有 排 列 如 下 &#xff1a; “ 123 …

升华 RabbitMQ:解锁一致性哈希交换机的奥秘【RabbitMQ 十】

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 升华 RabbitMQ&#xff1a;解锁一致性哈希交换机的奥秘【RabbitMQ 十】 前言第一&#xff1a;该插件需求为什么需要一种更智能的消息路由方式&#xff1f;一致性哈希的基本概念&#xff1a; 第二&…

【Linux】MySQL 数据库安装配置教程(Ubuntu 22.04)

前言 MySQL是一个流行的开源关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;广泛用于Web应用程序的后端数据存储&#xff0c;如许多动态网站、电子商务系统和在线出版物等。 MySQL具有高性能、可靠性和易用性的特点&#xff0c;它支持大型数据库&#xff0c;…