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: admin
  password: admin
  port: 22
oceanbase-ce:
  version: 4.2.1.1
  release: 101010012023111012.el7
  package_hash: e98c6ef860b5644c36f806e6fa2265255572b40a
  192.168.7.31:
    zone: zone1
  192.168.7.32:
    zone: zone2
  servers:
  - 192.168.7.31
  - 192.168.7.32
  global:
    appname: ob
    root_password: ABcd@#11223344
    mysql_port: 2881
    rpc_port: 2882
    home_path: /home/admin/ob/oceanbase
    datafile_maxsize: 10GB
    system_memory: 1GB
    cluster_id: 1702558665
    enable_syslog_recycle: true
    enable_syslog_wf: false
    max_syslog_file_count: 2
    memory_limit: 6G
    datafile_size: 2G
    log_disk_size: 20G
    cpu_count: 16
    production_mode: false
    __min_full_resource_pool_memory: 1073741824
    datafile_next: 2G
    proxyro_password: XztSLx00hB
obproxy-ce:
  version: 4.2.1.0
  package_hash: 0aed4b782120e4248b749f67be3d2cc82cdcb70d
  release: 11.el7
  servers:
  - 192.168.7.31
  - 192.168.7.32
  global:
    prometheus_listen_port: 2884
    listen_port: 2883
    home_path: /home/admin/ob/obproxy
    obproxy_sys_password: ABcd@#11223344
    skip_proxy_sys_private_check: true
    enable_strict_kernel_release: false
    enable_cluster_checkout: false
    proxy_mem_limited: 500M
  depends:
  - 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: admin
  password: admin
  port: 22
ocp-server-ce:
  version: 4.2.1
  package_hash: 92177252c57cf643656c1c1d2073dc256c87e12a
  release: 20231127205908.el7
  servers:
  - 192.168.7.20
  global:
    home_path: /home/admin/ocp
    soft_dir: /home/admin/software
    log_dir: /home/admin/logs
    port: 8080
    admin_password: ABcd@#11223344
    memory_size: 2G
    manage_info:
      machine: 3
    jdbc_url: jdbc:oceanbase://192.168.7.31:2883/oceanbase
    jdbc_username: root@sys
    jdbc_password: ABcd@#11223344
    ocp_meta_tenant:
      tenant_name: ocp_meta
      max_cpu: 2.0
      memory_size: 2G
    ocp_meta_username: root
    ocp_meta_password: ABcd@#11223344
    ocp_meta_db: meta_database
    ocp_monitor_tenant:
      tenant_name: ocp_monitor
      max_cpu: 2.0
      memory_size: 2G
    ocp_monitor_username: root
    ocp_monitor_password: ABcd@#11223344
    ocp_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可直接操作。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mac brew install youtube-dl 【 youtube 下载工具:youtube-dl 安装】

文章目录 1. 简介2. 预备3. 安装4. 命令5. 测试 1. 简介 youtube-dl - 从youtube.com或其他视频平台下载视频 https://github.com/ytdl-org/youtube-dl 2. 预备 安装并配置 git安装 brew 3. 安装 MacBook-Pro ~ % brew install youtube-dl Warning: youtube-dl has been …

【Java系列】详解多线程(三)—— 线程安全(上篇)

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习Java的一点学习心得,欢迎大家在评论区交流讨论💌 目录 一…

基于EasyExcel的数据导入导出

前言: 代码复制粘贴即可用,主要包含的功能有Excel模板下载、基于Excel数据导入、Excel数据导出。 根据实际情况修改一些细节即可,最后有结果展示,可以先看下结果,是否是您想要的。 台上一分钟,台下60秒&a…

OSG中几何体的绘制(二)

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

SQL进阶理论篇(七):B+树的查询及存储机制

文章目录 简介数据库中的存储结构数据库中的页结构从数据页来看B树的查询过程总结参考文献 简介 我们之前已经了解过数据库的B树索引和Hash索引,这些索引信息以及数据记录都是保存在文件里的,确切的说是存储在页结构中。 本节,从我们将了解…

【LeetCode刷题】-- 161.相隔为1的编辑距离

161.相隔为1的编辑距离 方法:一次遍历 首先,我们要确认字符串的长度不会相差太远。如果长度差了2个或更多字符,那么 s 和 t 就不可能是一次编辑之差的字符串。 接下来,我们假设 s 的长度总是短于或等于 t 的长度。如果不是这样&…

cesium 自定义贴图,shadertoy移植教程。

1.前言 cesium中提供了一些高级的api,可以自己写一些shader来制作炫酷的效果。 ShaderToy 是一个可以在线编写、测试和分享图形渲染着色器的网站。它提供了一个图形化的编辑器,可以让用户编写基于 WebGL 的 GLSL 着色器代码,并实时预览渲染结…

大数据存储技术(3)—— HBase分布式数据库

目录 一、HBase简介 (一)概念 (二)特点 (三)HBase架构 二、HBase原理 (一)读流程 (二)写流程 (三)数据 flush 过程 &#xf…

配置802.1x认证

实验目的: 某公司拥有两个部门,市场部和人事部门,市场部和人事部的IP地址分别为10.1.11.0/24、10.1.21.0/24两个IP网段。市场部属于vlan11,人事部属于vlan21。现在需要在SW2上配置802.1x认证,实现终端用于只有认证成功…

BKP 备份寄存器 RTC 实时时钟-stm32入门

这一章节我们要讲的主要内容是 RTC 实时时钟,对应手册,是第 16 章的位置。 实时时钟这个东西,本质上是一个定时器,但是这个定时器,是专门用来产生年月日时分秒,这种日期和时间信息的。所以学会了 STM32 的…

Flink系列之:SQL提示

Flink系列之:SQL提示 一、动态表选项二、语法三、例子四、查询提示五、句法六、加入提示七、播送八、随机散列九、随机合并十、嵌套循环十一、LOOKUP十二、进一步说明十三、故障排除十四、连接提示中的冲突案例十五、什么是查询块 SQL 提示可以与 SQL 语句一起使用来…

【卡塔尔世界杯数据可视化与新闻展示】

卡塔尔世界杯数据可视化与新闻展示 前言数据获取与处理可视化页面搭建功能实现新闻信息显示详情查看登录注册评论信息管理 创新点结语 前言 随着卡塔尔世界杯的临近,对于足球爱好者来说,对比赛的数据分析和新闻报道将成为关注的焦点。本文将介绍如何使用…

腾讯云优惠全站搜——云服务器配置大全精准

腾讯云推出优惠全站搜页面 https://curl.qcloud.com/PPrF9NFe 在这个页面可以一键查询所需云服务器、轻量应用服务器、数据库、存储、CDN、网络、安全、大数据等云产品优惠活动大全,活动打开如下图: 腾讯云优惠全站搜——优惠合集 如上图,在这…

uniGUI学习之UniTreeview

UniTreeview中能改变一级目录的字体和颜色 function beforeInit(sender, config) { ID"#"config.id; Ext.util.CSS.createStyleSheet( ${ID} .x-tree-node-text{color:green;font-weight:800;} ${ID} .x-tree-elbow-line ~ span{color:black;font-weight:400;} ); }

macbookpro 2024怎么恢复出厂设置

可能你的MacBook曾经是高性能的代表,但是现在它正慢慢地逝去了自己的光芒?随着逐年的使用以及文件的添加和程序的安装,你的MacBook可能会开始变得迟缓卡顿,或者失却了以往的光彩。如果你发现你的Mac开始出现这些严重问题&#xff…

Windows设备管理

1、前言 熟悉Windows系统的都应该使用过设备管理器。设备管理器将操作系统中所有已安装的设备分类展现出来。同时提供了安装、卸载、启用和禁用的功能。 那么,我们应该如何通过C编程的方式实现这种功能呢?答案很简单,那就是使用SetupDi函数族…

GZ015 机器人系统集成应用技术样题4-学生赛

2023年全国职业院校技能大赛 高职组“机器人系统集成应用技术”赛项 竞赛任务书(学生赛) 样题4 选手须知: 本任务书共 25页,如出现任务书缺页、字迹不清等问题,请及时向裁判示意,并进行任务书的更换。参赛队…

2020 ICPC·小米邀请赛 决赛 J. Rikka with Book(状压dp)

题目 登录—专业IT笔试面试备考平台_牛客网 n(n<20)本书&#xff0c;放在桌子上&#xff0c; 第i本书的可以看成是li(li<1e3)*1*1的物体&#xff0c;其中长为li&#xff0c;宽为1&#xff0c;高为1&#xff0c; 质量均匀分布&#xff0c;且为wi(wi<1e3) 求n本书摞…

前端桌面通知(Desktop Notifications)API

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

msvcrtd.dll下载安装方法,解决msvcrtd.dll找不到的问题

在这篇文章中&#xff0c;我们将详细讨论msvcrtd.dll文件的下载安装方法&#xff0c;并分析出现找不到msvcrtd.dll的情况及解决方法。如果你遇到了与msvcrtd.dll相关的问题&#xff0c;本文将为你提供全面且详细的解决方案。 一.什么是msvcrtd.dll文件 首先&#xff0c;让我们…