手动部署 OceanBase 集群

    1. 手动部署一个 OB 单副本集群,包括一个 OBProxy 节点
      1. 部署环境

服务器信息

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命令行客户端

      1. 服务器初始化

执行OceanBase数据库软件部署前对服务器的相关初始化配置。

        1. 内核参数修改

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

        1. 修改会话变量设置

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

        1. 关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

        1. 关闭SELinux

vi /etc/selinux/config

SELINUX=disabled

        1. 创建安装用户

# 新增普通用户 admin

useradd admin

# 改用户密码

passwd admin

# 配置用户admin sudo权限

vi /etc/sudoers

        1. 修改系统时区

将系统时区设置为中国的+8区

tzselect

分别依次选择 5) Asia、9) China、1) Beijing Time、1) Yes

vi /etc/profile

export TZ='Asia/Shanghai'

#生效修改

source /etc/profile

        1. 磁盘目录配置

模拟生产环境中使用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

        1. 初始化目录

# 创建相关目录

mkdir -p /home/admin/{oceanbase,logs} 

      1. 部署单副本OceanBase集群

包括代理服务obproxy和obclient。

        1. 安装程序包文件

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

        1. 安装oceanbase数据库程序

rpm –ivh oceanbase-3.2.3.0-20220418212020.el7.aarch64.rpm

        1. 安装obclient客户端程序

rpm -ivh obclient-1.2.8-20210918193105.el7.alios7.aarch64.rpm

        1. 安装obproxy代理程序

#执行如下命令

rpm -ivh obproxy-3.2.3.2-20220413115557.el7.aarch64.rpm

        1. 启动节点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"

        1. 初始化集群

#执行如下命令初始化集群(初始密码为空)

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;

        1. 设置相关密码

alter user root identified by 'root123';

grant select on oceanbase.* to proxyro identified by 'proxyro';

        1. 启动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%';

    1. 验证OceanBase集群
      1. 登录测试OceanBase集群

登录使用命令:obclient -h192.168.0.28 -P2883 -uroot@sys#admin -p -A

      1. 创建租户

#查看当前资源规格及资源池配置:

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');

      1. 创建业务数据库

重新登录数据库,连接新建业务租户:my_tenant1

执行命令:obclient -h 192.168.0.26 -P 2883 -u root@my_tenant1 -p -c -A oceanbase

注:新建租户下默认管理员密码为空

      1. 创建业务数据表

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, '李四');

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

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

相关文章

软件设计模式

1.UML 1.1类图表示法 uml类图中,类使用包含类名、属性、方法 属性或方法前的加好和减号表示了这个方法的可见性,可见性的符号有三种: 表示public -表示private #表示protected 1.2 类与类之间关系 关联关系 单向关联 双向关系 自关联 聚合关…

WebRTC系列--sdp协商中的answer编解码协商过程

关于createAnswer的流程在前面的文章WebRTC系列-SDP之CreateAnswer这篇文章中有详细的分析。 这篇文章主要对于MediaSessionDescriptionFactory的AddAudioContentForAnswer做详细的分析,也就是说对于音频编码的匹配也是在这个方法里实现: 首先主要的函数调用如下图: 这篇文…

LabVIEW崩溃问题解决方法

LabVIEW崩溃问题解决方法 LabVIEW在运行中出现崩溃的情况,确实让人很崩溃。不过按照下面的方法可以逐步排查解决。 在LabVIEW开发环境中浏览时,LabVIEW崩溃并显示以下错误: 解决方案 LabVIEW内部错误和崩溃的初步故障排除步骤:…

【虚拟化】虚拟机vcpu绑核物理机

文章目录 一、NUMA二、虚拟机xml配置解析 参考文章 第一篇:KVM虚拟化CPU技术总结 第二篇:虚机cpu和mem的配置(cputune和numatune) 第三篇:libvirt 中cpu, numa 的配置 第四篇:如何提高虚拟机性能&#xff1…

数据结构与算法之动态规划算法(DP)

文章目录 前言1.0-1背包问题1.1 基本概念1.2 具体问题1.3 c代码求解1.4 测试 2.最长公共子序列 前言 前边我们讲过分治法,分治法的核心是将一个问题分解为n个小问题,最后合并结果。而动态规划算法的核心是穷举法,以及要寻找到一个状态方程,需…

电脑版剪映怎么倒放?

1.打开一个素材 2.添加到时间轨道 3.右击轨道素材 弹出的选项钟选择,基础编辑》倒放!

计算机网络分类

按照覆盖范围分类 (1)个域网:通常覆盖范围在1~10m。 (2)局域网:通常覆盖范围在10m~1km。 (3)城域网:覆盖范围通常在5~50 km 。 &…

蓝桥杯 题库 简单 每日十题 day5

01 字符计数 字符计数 题目描述 给定一个单词,请计算这个单词中有多少个元音字母,多少个辅音字母。 元音字母包括a,e,i,o,u,共五个,其他均为辅音字母。 输入描述 输入格式: 输入一行&#xff0…

Xcode15+iOS17适配以及遇到的问题

今天更新了 Xcode15,遇到了一些问题,做下记录希望大家少走点坑。 1.iOS17 SDK 安装失败 Xcode更新完成后,打开项目一直显示 no fund iOS17 sdk,根据项目不同提示可能有区别,根据提示下载后提示安装失败,…

针对 SAP 的增强现实技术

增强现实技术是对现实世界的一种交互式模拟。这种功能受到各种企业和制造商的欢迎,因为它可以减少生产停机时间、快速发现问题并维护流程,从而提高运营效率。许多安卓应用都在探索增强现实技术。 使用增强现实技术(AR)的Liquid U…

svn(乌龟svn)和SVN-VS2022插件(visualsvn) 下载

下载地址: https://www.visualsvn.com/visualsvn/download/

备受以太坊基金会青睐的 Hexlink,构建亿级用户涌入 Web3的入口

早在 2021 年 9 月,以太坊创始人 Vitalik Buterin 就曾提出了 EIP-4337(账户抽象)提案,并在去年 10 月对该提案进一步更新,引发行业的进一步关注。在今年 3 月,EIP-4337 提案正式通过审计,并成为…

centos 7.9系统安装向日葵

1.下载地址 向日葵远程控制app官方下载 - 贝锐向日葵官网 2.下载依赖 yum install -y libappindicator-gtk3 安装好依赖之后,然后再安装向日葵软件 3.安装软件 sudo rpm -ivh 文件名.rpm 4.安装成功之后的位置

VR赋能红色教育,让爱国主义精神永放光彩

昨天的918防空警报长鸣,人们默哀,可见爱国主义精神长存。为了贯彻落实“把红色资源利用好、红色传统发扬好、红色基因传承好”的指示精神,许多红色景点开始引入VR全景展示技术,为游客提供全方位720度无死角的景区展示体验。 VR全…

MySQL详解六:备份与恢复

文章目录 1. 数据库备份的分类1.1 从物理和逻辑上分类1.1.1 物理备份1.1.2 逻辑备份 1.2 从数据库的备份策略角度上分类1.2.1 完全备份1.2.2 差异备份1.2.3 增量备份 1.3 常见的备份方法 2. MySQL完全备份2.1 完全备份简介2.2 优点与缺点2.3 实现物理冷备份与恢复2.3.1 实现流程…

海外代理IP是什么?如何使用?

一、海外代理IP是什么? 首先,代理服务器是在用户和互联网之间提供网关的系统或路由器。它是一个服务器,被称为“中介”,因为它位于最终用户和他们在线访问的网页之间。 海外IP代理是就是指从海外地区获取的IP地址,用…

redis实战-实现笔记点赞和点赞排行榜

发布探店笔记 探店笔记类似点评网站的评价,往往是图文结合。对应的表有两个: tb_blog:探店笔记表,包含笔记中的标题、文字、图片等 tb_blog_comments:其他用户对探店笔记的评价 保存笔记service层 Overridepublic Re…

Mybatis学习笔记9 动态SQL

Mybatis学习笔记8 查询返回专题_biubiubiu0706的博客-CSDN博客 动态SQL的业务场景: 例如 批量删除 get请求 uri?id18&id19&id20 或者post id18&id19&id20 String[] idsrequest.getParameterValues("id") 那么这句SQL是需要动态的 还…

AJAX学习

文章目录 创建 XMLHttpRequest 对象向服务器发送请求XMLHttpRequest.open()XMLHttpRequest.send()GET或POST 服务器响应XMLHttpRequest 的属性XMLHttpRequest.readyStateXMLHttpRequest.onreadystatechangeXMLHttpRequest.responseXMLHttpRequest.responseTypeXMLHttpRequest.r…

软件工程之总体设计

总体设计是软件工程中的一个重要阶段,它关注整个系统的结构和组织,旨在将系统需求转化为可执行的软件解决方案。总体设计决定了系统的架构、模块划分、功能组织以及数据流和控制流等关键方面。 可行性研究 具体方面:经济可行性、技术可行性…