手动部署 OceanBase 集群
-
- 手动部署一个 OB 单副本集群,包括一个 OBProxy 节点
- 部署环境
- 手动部署一个 OB 单副本集群,包括一个 OBProxy 节点
服务器信息
| IP地址 | 192.168.0.26 |
| 网卡名 | ifcfg-enp1s0 |
| OS | Kylin Linux Advanced Server release V10 |
| CPU | 8C |
| 内存 | 32G |
| 磁盘1 | 本地盘 /data/1 |
| 磁盘2 | 本地盘 /data/log1 |
机器和角色划分
| 角色 | 机器 | 备注 |
| OBPROXY | 192.168.0.26 | OceanBase反向代理访问 |
| OBSERVER | 192.168.0.26 | OceanBase数据库 |
| OBCLIENT | 192.168.0.26 | OceanBase命令行客户端 |
-
-
- 服务器初始化
-
执行OceanBase数据库软件部署前对服务器的相关初始化配置。
-
-
-
- 内核参数修改
-
-
vim /etc/sysctl.conf
kernel.sysrq=0
net.ipv4.ip_forward = 1
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.default.secure_redirects=0
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_responses=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 0
kernel.dmesg_restrict=1
net.ipv6.conf.all.accept_redirects=0
net.ipv6.conf.default.accept_redirects=0
####################################################
# for oceanbase
net.core.somaxconn = 2048
net.core.netdev_max_backlog = 10000
net.core.rmem_default = 16777216
让配置生效
sysctl -p
-
-
-
- 修改会话变量设置
-
-
vi /etc/security/limits.conf
* soft nofile 655360
* hard nofile 655360
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited
* soft stack unlimited
* hard stack unlimited
-
-
-
- 关闭防火墙
-
-
systemctl stop firewalld
systemctl disable firewalld
-
-
-
- 关闭SELinux
-
-
vi /etc/selinux/config
SELINUX=disabled
-
-
-
- 创建安装用户
-
-
# 新增普通用户 admin
useradd admin
# 改用户密码
passwd admin
# 配置用户admin sudo权限
vi /etc/sudoers

-
-
-
- 修改系统时区
-
-
将系统时区设置为中国的+8区
tzselect
分别依次选择 5) Asia、9) China、1) Beijing Time、1) Yes
vi /etc/profile
export TZ='Asia/Shanghai'
#生效修改
source /etc/profile
-
-
-
- 磁盘目录配置
-
-
模拟生产环境中使用LV进行数据存储。
# 创建pv
pvcreate /dev/nvme0n1
pvcreate /dev/nvme1n1
# 创建vg
vgcreate vgdata /dev/nvme0n1
vgcreate vgredo /dev/nvme1n1
# 创建lv
lvcreate -l 100%free vgdata -n lvdata
lvcreate -L 50G vgredo -n lvredo
# 格式化文件系统
mkfs.ext4 /dev/mapper/vgdata-lvdata
mkfs.ext4 /dev/mapper/vgredo-lvredo
# 挂载文件系统
mkdir -p /data /redo
vi /etc/fstab
/dev/mapper/vgdata-lvdata /data/1 ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/mapper/vgredo-lvredo /data/log1 ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
mount -a
-
-
-
- 初始化目录
-
-
# 创建相关目录
mkdir -p /home/admin/{oceanbase,logs}
-
-
- 部署单副本OceanBase集群
-
包括代理服务obproxy和obclient。
-
-
-
- 安装程序包文件
-
-
tar -zxvf obpoc_20220506_arm\ .tar.gz
cd ocp-ob-obp-odc-antman_20220506_arm

yum -y install t-oceanbase-antman-1.4.2-20220430002909.alios7.aarch64.rpm
-
-
-
- 安装oceanbase数据库程序
-
-
rpm –ivh oceanbase-3.2.3.0-20220418212020.el7.aarch64.rpm
-
-
-
- 安装obclient客户端程序
-
-
rpm -ivh obclient-1.2.8-20210918193105.el7.alios7.aarch64.rpm
-
-
-
- 安装obproxy代理程序
-
-
#执行如下命令
rpm -ivh obproxy-3.2.3.2-20220413115557.el7.aarch64.rpm
-
-
-
- 启动节点observer
-
-
#执行如下命令启动单节点单副本observer进程
su - admin
cd /home/admin/oceanbase
bin/observer -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obcluster -r '192.168.0.26:2882:2881' -c 1673835228 -n obcluster -o "datafile_size=50G,__min_full_resource_pool_memory=268435456,config_additional_dir=/data/1/admin/etc3;/data/log1/admin/etc2"
-
-
-
- 初始化集群
-
-
#执行如下命令初始化集群(初始密码为空)
obclient -h 192.168.0.26 -P 2881 -uroot -p -c -A
alter system bootstrap ZONE 'zone1' SERVER '192.168.0.26:2882';
# 退出重新登录(租户sys),执行如下命令:
obclient -h 192.168.0.26 -P 2881 -uroot@sys -p -c -A oceanbase
# 并查看当前server列表
select zone, svr_ip, svr_port, with_rootserver, status from __all_server order by zone, with_rootserver desc;

-
-
-
- 设置相关密码
-
-
alter user root identified by 'root123';
grant select on oceanbase.* to proxyro identified by 'proxyro';
-
-
-
- 启动obproxy进程
-
-
启动OBPROXY进程也推荐在软件安装目录,进程obproxy会在该目录下生成目录etc保存OBPROXY的运行参数,以及目录log保存运行日志。
# 执行如下命令启动obproxy进程
bin/obproxy -r "192.168.0.26:2881" -p 2883 -o "enable_strict_kernel_release=false,enable_cluster_checkout=false,enable_metadb_used=false" -c obcluster
# 登录obproxy,查看系统管理员密码参数
obclient -h10.64.8.28 -P2883 -uroot@sys#admin -p -A
show proxyconfig like '%sys_password%';

-
- 验证OceanBase集群
- 登录测试OceanBase集群
- 验证OceanBase集群
登录使用命令:obclient -h192.168.0.28 -P2883 -uroot@sys#admin -p -A

-
-
- 创建租户
-
#查看当前资源规格及资源池配置:
Use oceanbase;
select unit_config_id, name from __all_unit_config;
select resource_pool_id, name from __all_resource_pool;

#创建租户所需的资源规格和资源池
create resource unit my_unit1 max_cpu=1, max_memory='1g', max_iops=128, max_disk_size='5g', max_session_num=64, min_cpu=1, min_memory='1g', min_iops=128;
create resource pool my_pool1 unit='my_unit1', unit_num=1, zone_list=('zone1');
#再次查看资源规格及资源池配置

#执行如下命令创建一个租户对象
create tenant my_tenant1 resource_pool_list=('my_pool1');

-
-
- 创建业务数据库
-
重新登录数据库,连接新建业务租户:my_tenant1
执行命令:obclient -h 192.168.0.26 -P 2883 -u root@my_tenant1 -p -c -A oceanbase
注:新建租户下默认管理员密码为空


-
-
- 创建业务数据表
-
create table user1(id int(4) primary key, name varchar(20));

#新增数据表记录
insert into user1(id, name) values(1, '张三');
insert into user1(id, name) values(2, '李四');

相关文章:
手动部署 OceanBase 集群
手动部署一个 OB 单副本集群,包括一个 OBProxy 节点 部署环境 服务器信息 IP地址 192.168.0.26 网卡名 ifcfg-enp1s0 OS Kylin Linux Advanced Server release V10 CPU 8C 内存 32G 磁盘1 本地盘 /data/1 磁盘2 本地盘 /data/log1 机器和角色划分 …...
【操作系统笔记十二】Linux常用基础命令
Linux 常用快捷键 Tab 命令或路径等的补全键,特别常用的快捷键Ctrl insert 复制命令行内容(常用可提高效率)Shift insert 粘贴命令行内容(常用可提高效率)Ctrl C 中断当前任务(退出)Ctrl Z…...
Compose LazyColumn 对比 RecyclerView ,谁的性能更好?
LazyColumn 是 compose 中用来实现类似 RecyclerView 效果的控件 ,但是大家都说LazyColumn性能比RecyclerView差太多,毕竟 RecyclerView google优化了十多年了,比RecyclerView差一点也正常,今天我们就用实际数据来对比LazyColumn和…...
[python 刷题] 49 Group Anagrams
[python 刷题] 49 Group Anagrams 题目: Given an array of strings strs, group the anagrams together. You can return the answer in any order. An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically…...
vue+element plus 使用table组件,清空用户的选择项
<el-table ref"tableRef"> .... </el-table> <script lang"ts" setup> import { onMounted, reactive, ref, nextTick } from vue const clearBtn () > {console.log(清空用户的选择项)tableRef.value.clearSelection() } </scr…...
改写软件-怎么选择改写软件
什么是改写软件?改写软件是基于自然语言处理技术的工具,它们可以分析一段文字,并将其重新表达,以保持原始意义,但使用不同的词汇和结构。这种技术可用于减少内容的重复,增加多样性,或者简化复杂…...
gateway之跨域处理
文章目录 什么是跨域跨域带来的问题 gateway解决跨域解决跨域的其他方式比较代码示例 总结提升 什么是跨域 跨域(Cross-Origin)是指在浏览器中,当一个Web应用程序试图访问与其所属页面不同的源(origin)的资源时&#…...
uniapp 实现不同用户展示不同的tabbar(底部导航栏)
一、背景 最近在做一个uniapp开发的小程序遇到一个需求,希望不同用户登录后展示不同的tabbar页面,但是uniapp项目中的pages.json是只有一个list数组的,并且是不能写成动态效果,为了实现这个需求,便自定义了tabbar组件 …...
线性归一化是什么,用python实现数据的线性归一化
线性归一化(Linear Normalization)是一种常见的数据预处理方法,也被称为 Min-Max 归一化。它通过对原始数据进行线性变换,将其缩放到特定的范围内,常用的是将数据缩放到 [0, 1] 或 [-1, 1] 范围内。 具体来说ÿ…...
超级好用绘图工具(Draw.io+Github)
超级好用绘图工具(Draw.ioGithub) 方案简介 绘图工具:Draw.io 存储方式: Github 1 Draw.io 1.2 简介 是一款免费开源的在线流程图绘制软件,可以用于创建流程图、组织结构图、网络图、UML图等各种类型的图表。…...
全国职业技能大赛云计算--高职组赛题卷③(私有云)
全国职业技能大赛云计算--高职组赛题卷③(私有云) 第一场次题目:OpenStack平台部署与运维任务1 基础运维任务(5分)任务2 OpenStack搭建任务(15分)任务3 OpenStack云平台运维(15分&am…...
Redis SCAN命令操作实战(详细)
目录 SCAN 介绍 SCAN 命令基本用法 MATCH 选项用法 COUNT 选项用法 TYPE 选项用法 补充 并发执行多个迭代 中途停止迭代 使用错误的游标进行增量式迭代 迭代终结的保证 SCAN 介绍 SCAN cursor [MATCH pattern] [COUNT count][TYPE type]:SCAN 命令及其相…...
计网第五章(运输层)(六)(TCP可靠传输的实现)
目录 一、基本概述 二、具体实现 1.前后沿: 2.利用指针描述发送窗口的状态 3.有差错情况 之前在数据链路层时已经讨论过可靠传输(计网第三章(数据链路层)(二)(可靠传输)&#x…...
酒店外卖小程序商城的作用是什么
随着线上餐品销售属性增强,传统酒店除了承接到店客户,外送也成为生意的一部分,但传统打电话、微信发送的方式无法实现餐品全面呈现和客户随时订购需求,在配送方面也无法规范化。 除此之外,还需要完善营销、会员管理、…...
居家养老一键通的功能
居家养老一键通的功能 居家养老一键通是指为老年人提供全方位的居家养老服务的平台或系统。它通过整合各种资源和服务,为老年人提供便捷、安全、舒适的居家养老环境,帮助他们解决生活中的各种难题。 居家养老一键通的功能通常包括以下几个方面ÿ…...
海外代理IP是什么?如何使用?
一、海外代理IP是什么? 首先,代理服务器是在用户和互联网之间提供网关的系统或路由器。它是一个服务器,被称为“中介”,因为它位于最终用户和他们在线访问的网页之间。 海外IP代理是就是指从海外地区获取的IP地址,用…...
mmdetection v3避坑
命令: python tools/test.py projects/DiffusionDet/configs/diffusiondet_r50_fpn_500-proposals_1-step_crop-ms-480-800-450k_coco.py /data/zhangrui/mmdetection-master/checkpoints/diffusiondet_r50_fpn_500-proposals_1-step_crop-ms-480-800-450k_coco_202…...
备份服务器数据库并保存到Git仓库
备份项目及数据库脚本 #!/bin/bash # MySQL数据库信息 DB_HOST"localhost" DB_USER"root" DB_PASS"************" DB_NAME"my-space" # 导出文件目录 EXPORT_PATH"/home/MySpace/mysql" # 获取当前时间并格式…...
尚硅谷wepack课程学习笔记
为什么需要使用打包工具? 开发时使用的框架、es6 语法 、less 等浏览器无法识别。 需要经过编译成浏览器能识别的css、js才可以运行。 打包工具可以帮我们编译,号可以做代码压缩、兼容处理、性能优化。 常见的打包工具有什么? vite、webpac…...
c++模版元编程-可变参数模版
在 C 中,我们可以使用模板参数包(Template Parameter Pack)和展开表达式(Expanding Expression)来定义可变参数模板。 模板参数包 模板参数包是一种特殊的语法,用于表示接受多个模板类型参数或非类型参数…...
Wan2.2-I2V-A14B镜像免配置实战:开箱即用,省去PyTorch/CUDA环境冲突烦恼
Wan2.2-I2V-A14B镜像免配置实战:开箱即用,省去PyTorch/CUDA环境冲突烦恼 1. 镜像概述与核心优势 Wan2.2-I2V-A14B是一款专为文生视频任务优化的私有部署镜像,基于RTX 4090D 24GB显存显卡和CUDA 12.4环境深度定制。这个镜像的最大特点是开箱…...
零基础快速上手:免费开源H5编辑器h5maker完全指南
零基础快速上手:免费开源H5编辑器h5maker完全指南 【免费下载链接】h5maker h5编辑器类似maka、易企秀 账号/密码:admin 项目地址: https://gitcode.com/gh_mirrors/h5/h5maker 想要轻松制作专业级H5页面却苦于技术门槛?h5maker作为一…...
驾驭AI引用:Geo优化中的内容评分机制与实战策略深度解析
在生成式人工智能(Generative AI)日益主导信息获取与分发路径的时代,传统搜索引擎优化(SEO)的范式正被生成式引擎优化(Geo)所颠覆。Geo不再仅仅关注关键词排名,而是深入探究内容如何…...
效率飙升:用快马平台一键生成项目模板,告别重复的vscode环境配置
作为一个经常需要在新设备上配置开发环境的前端开发者,我深刻体会到重复搭建项目的痛苦。每次换电脑或者开新项目,都要从头安装VSCode插件、配置构建工具、集成UI库……这些琐碎工作至少会浪费半小时。最近发现InsCode(快马)平台能完美解决这个问题&…...
3MF格式与Blender从入门到精通:重塑3D打印工作流
3MF格式与Blender从入门到精通:重塑3D打印工作流 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 概念解析:为什么3MF正在取代STL成为行业新标准 …...
使用PyTorch Lightning优化PETRV2-BEV模型训练流程
使用PyTorch Lightning优化PETRV2-BEV模型训练流程 如果你正在训练像PETRV2这样的BEV感知模型,可能已经体会过那种“一步一坑”的感觉。数据加载复杂、多GPU训练配置繁琐、日志记录混乱、实验难以复现……这些工程上的琐事,常常比模型本身更让人头疼。 …...
AR.js实战指南:如何在Web浏览器中构建高效增强现实应用
AR.js实战指南:如何在Web浏览器中构建高效增强现实应用 【免费下载链接】AR.js Image tracking, Location Based AR, Marker tracking. All on the Web. 项目地址: https://gitcode.com/gh_mirrors/arj/AR.js 在移动设备普及的今天,增强现实&…...
RPA-Python与pytest-google-app-engine集成:Google App Engine测试自动化完整指南
RPA-Python与pytest-google-app-engine集成:Google App Engine测试自动化完整指南 【免费下载链接】RPA-Python Python package for doing RPA 项目地址: https://gitcode.com/gh_mirrors/rp/RPA-Python RPA-Python是一个功能强大的Python机器人流程自动化工…...
资源捕获高效解决方案:猫抓浏览器扩展让媒体提取更简单
资源捕获高效解决方案:猫抓浏览器扩展让媒体提取更简单 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在当今数字时代,我们每天都在网页上浏览大量的媒体内容,从精…...
3步解决Windows驱动臃肿难题:DriverStore Explorer让系统空间释放效率提升80%
3步解决Windows驱动臃肿难题:DriverStore Explorer让系统空间释放效率提升80% 【免费下载链接】DriverStoreExplorer Driver Store Explorer [RAPR] 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 诊断系统存储异常 "为什么我的C盘…...
