OceanBase—02(入门篇——对于单副本单节点,由1个observer扩容为3个observer集群)——之前的记录,当初有的问题未解决,目前新版未尝试
OceanBase—02(入门篇——对于单副本单节点,由1个observer扩容为3个observer集群)——之前的记录,有的问题未解决,新版未尝试
- 1、前言—安装单副本单节点集群
- 1.1 docker安装OB
- 2、查看现有集群情况
- 2.1 进入容器,使用obd命令查看
- 2.2 连接OB,查看节点信息等
- 2.2.1 __all_server
- 2.2.2 DBA_ob_servers
- 2.3 查看现有资源规格、租户等情况
- 3、扩容,增加observer节点,先增加zone
- 3.1、添加 zone2、zone3,并启动zone2、zone3
- 3.1.1 查看当前zone的情况
- 3.1.1 添加 zone2,并启动zone2
- 3.1.2 添加 zone3,并启动zone3,并查看添加后的zone_list
- 4. 安装新的OBserver
- 4.1 创建目录(备用)
- 4.2 安装rpm包(先安装依赖库)
- 4.3 配置环境变量
- 4.4 启动 observer 进程
- 4.4.1 获取集群ID
- 4.4.2 获取网卡名
- 4.4.3 启动进程
- 4.5
- 5、遇到的问题
- 5.1 deploy 失败
- 5.2 启动 observer 进程报错
- 5.2.1 错误描述
- 5.2.1 解决问题
- 4.2 ERROR 4012 (HY000): Timeout
- 4.2.1 问题描述
- 4.2.2 解决问题
- 4.1 问题1—执行添加observer失败
- 4.1.1 问题详细
- 4.1.2 解决问题
- 4.2 ERROR 4012 (HY000): Timeout
- 4.2.1 解决问题
1、前言—安装单副本单节点集群
1.1 docker安装OB
-
本篇文章是在上篇文章的基础上进行扩容,上篇文章——使用docker安装单副本单节点集群,如下:
OceanBase—01(入门篇——使用docker安装OceanBase以及介绍连接OB的几种方式). -
这里,我是重新安装了一个mini版本的,如下:
docker run -p 2881:2881 --name obce-mini -e MINI_MODE=0 -d oceanbase/oceanbase-ce
2、查看现有集群情况
2.1 进入容器,使用obd命令查看
- 查看状态是否running,如果不是
deploy一下,如下:obd cluster listobd cluster deploy obclusterobd cluster display obcluster
2.2 连接OB,查看节点信息等
2.2.1 __all_server
-
如下:
obclient -h 43.143.190.116 -P2881 -uroot@sys oceanbase -Aselect * from __all_server; select * from __all_zone;
2.2.2 DBA_ob_servers
- 如下:
select * from __all_server\G; select * from DBA_ob_servers\G;

2.3 查看现有资源规格、租户等情况
- sql如下:
select * from __all_unit_config; select * from __all_resource_pool;select * from __all_tenant; select * from __all_tenant\G;

3、扩容,增加observer节点,先增加zone
3.1、添加 zone2、zone3,并启动zone2、zone3
3.1.1 查看当前zone的情况
- 如下:
select * from __all_zone;
3.1.1 添加 zone2,并启动zone2
- 命令如下:
alter system add zone 'zone2' region 'default_region';alter system start zone 'zone2';

3.1.2 添加 zone3,并启动zone3,并查看添加后的zone_list
-
同理了,如下:
alter system add zone 'zone3' region 'default_region'; alter system start zone 'zone3';select * from __all_zone where name in('region','status','zone_type');
4. 安装新的OBserver
4.1 创建目录(备用)
- 如下:
mkdir -p /data/{observer02,observer03,obproxy} mkdir -p /data/observer{02,03}/store/{sort_dir,sstable,clog,ilog,slog}
4.2 安装rpm包(先安装依赖库)

- 安装命令如下:
rpm -ivh ../oceanbase-ce-libs-4.0.0.0-103000022023011215.el7.x86_64.rpm rpm -ivh ../oceanbase-ce-4.0.0.0-103000022023011215.el7.x86_64.rpm

- 默认安装目录(因为这里是docker,随意安装的,就没有创建admin账号,但是安装目录默认创建了admin,如下:)

4.3 配置环境变量
- 如下:
export LD_LIBRARY_PATH=/home/admin/oceanbase/lib:$LD_LIBRARY_PATH LD_PRELOAD=''
4.4 启动 observer 进程
4.4.1 获取集群ID
- 如下:
SHOW PARAMETERS LIKE 'cluster_id'
4.4.2 获取网卡名

4.4.3 启动进程
- 进入安装的 bin 目录,启动进程,如下:
./observer -r "43.143.190.116:3882:3881" -z 'zone2' -n 'obcluster' -p 3881 -P 3882 -c 1 -d /data/observer02/store -i docker0 -l WARN o 'memory_limit=8GB,datafile_disk_percentage=85'
4.5
5、遇到的问题
5.1 deploy 失败
- 如下:
[ERROR] Another app is currently holding the obd lock. - 解决问题,
display一下,如下

5.2 启动 observer 进程报错
5.2.1 错误描述
- 详细错误如下:
5.2.1 解决问题
- 解决错误,如下:
- 配置环境变量,然后再启动observer进程
export LD_LIBRARY_PATH=/home/admin/oceanbase/lib:$LD_LIBRARY_PATH LD_PRELOAD=''
- 配置环境变量,然后再启动observer进程
4.2 ERROR 4012 (HY000): Timeout
4.2.1 问题描述
- 添加observer超时,如下:

4.2.2 解决问题
4.1 问题1—执行添加observer失败
4.1.1 问题详细
- 具体问题如下图:
You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near 'sysyem add server
4.1.2 解决问题
- 解决问题
- 尝试一:
进入容器使用ob命令,停掉集群,但发现怎么都停不了,如下:

- 尝试二:
杀掉容器内以及容器外的关于ob的所有进程,重新启动ob容器,如下:

- 尝试一:
- 重新进入容器后,出现了新问题,超时,如下:

也好,至少错误原因变了,那就解决此问题吧……
4.2 ERROR 4012 (HY000): Timeout
- 问题描述,如上
4.2.1 解决问题
- 解决问题:修改配置文件
config.yaml- 查看默认配置的文件,如下:

- 修改后的配置文件,如下:
- 查看默认配置的文件,如下:
相关文章:
OceanBase—02(入门篇——对于单副本单节点,由1个observer扩容为3个observer集群)——之前的记录,当初有的问题未解决,目前新版未尝试
OceanBase—02(入门篇——对于单副本单节点,由1个observer扩容为3个observer集群)——之前的记录,有的问题未解决,新版未尝试 1、前言—安装单副本单节点集群1.1 docker安装OB 2、查看现有集群情况2.1 进入容器&#x…...
前沿论文创新点集合
系列文章目录 文章目录 系列文章目录一、《LAMM: Label Alignment for Multi-Modal Prompt Learning》二、《MaPLe: Multi-modal Prompt Learning》三、《Learning to Prompt for Vision-Language Models》CoOp四、《MobileCLIP: Fast Image-Text Models through Multi-Modal R…...
刷题记录(好题)
Problem - D - Codeforces 思路: 滑动窗口思想,一个数组记录起始点(记录出现过的次数),另一个数组记录截至点(记录出现过的次数),从0开始遍历,设定一个长度为d的滑动窗口…...
【大数据入门 | Hive】函数{单行函数,集合函数,炸裂函数,窗口函数}
1. 函数简介: Hive会将常用的逻辑封装成函数给用户进行使用,类似于Java中的函数。 好处:避免用户反复写逻辑,可以直接拿来使用。 重点:用户需要知道函数叫什么,能做什么。 Hive提供了大量的内置函数&am…...
python sqlite3 工具函数
起因, 目的: sqlite3 最常用的函数。 比如,某人给了一个 database.db 文件。 但是你登录的时候,不知道账号密码。 此文件就是,查看这个数据库的详细内容。 有哪些表某个表的全部内容。添加数据 代码, 见注释 impor…...
顺丰Android面试题集锦及参考答案
TCP 三次握手和四次挥手是什么,挥手过程中主动方的状态是什么? TCP 三次握手是建立连接的过程: 第一次握手:客户端向服务器发送一个 SYN 报文,该报文包含客户端的初始序列号(seq=x)。此时客户端进入 SYN_SENT 状态。第二次握手:服务器收到客户端的 SYN 报文后,向客户端…...
uniapp中检测应用更新的两种方式-升级中心之uni-upgrade-center-app
uniapp一个很是用的功能,就是在我们发布新版本的app后,需要提示用户进行app更新,并告知用户我们新版的app更新信息,以使得用户能及时使用上我们新开发的功能,提升用户的实用度和粘性。注意:这个功能只能在app端使用 效…...
Python爬虫通过 Cookie 和会话管理来维持其在网站上的会话状态
Python 爬虫虽然是一个热门且非常实用的技术领域,但在实际开发中,确实存在一些困难的地方。以下是 Python 爬虫开发中常见的难点和挑战: 1. 处理反爬虫机制 许多网站为防止爬虫的恶意访问,采取了各种反爬虫措施。常见的反爬虫技…...
使用STM32单片机实现无人机控制系统
无人机控制系统是无人机的大脑,负责处理无人机的姿态控制、导航和通信等功能。本文将详细介绍如何使用STM32单片机实现无人机控制系统,包括硬件设计、软件设计、系统调试与测试等内容。 一、系统概述 无人机控制系统通常包括飞行控制器、传感器、执行器…...
【包教包会】2D图片实现3D透视效果(支持3.x、支持原生、可合批)
将去年写的SpriteFlipper从2.x升级到3.x。 如果需要2.x版本或需要了解算法思路,请移步:https://blog.csdn.net/weixin_42714632/article/details/136745051 优化功能:可同时绕X轴和Y轴旋转,两者效果会叠加。 完美适配Web、原生…...
解决nginx+tomcat宕机完美解决方案
问题描述:公司项目太老了,还是tomcat项目,部署两台tomcat,做了nginx负载。最近发现每到上午10,下午3点,tomcat就宕机了,死活找不到原因,客户影响超期差,实在让人头疼。 解决思路&am…...
第十一章 缓存之更新/穿透/雪崩/击穿
目录 一、什么是缓存 二、缓存更新策略 2.1. 缓存主动更新策略 2.1.1. Cache Aside模式(主流) 2.1.2. Read/Write Through模式 2.1.3. Write Behind模式 2.1.4. 总结 三、缓存穿透 四、缓存雪崩 五、缓存击穿 5.1. 互斥锁实现 5.1.1…...
一款完全开源并免费的监测与分析系统,支持监测,预警,分析,报告,支持本地化部署(附源码)
前言 在当今这个信息爆炸的时代,企业和个人都需要时刻了解网络上的动态,以便及时了解自身品牌形象和社会舆论的变化。然而,现有的舆情监测工具往往价格昂贵,且cao作复杂,难以满足普通用户的需求。 在这种背景下&…...
python中时间函数及其应用
近段时间,因在改写以前写的学校自动铃声控制系统,又学到了一些新的知识,特记录如下: 一、时间函数基础 1、time模块中的函数及其用法 time.time(): 返回当前时间的时间戳,即自1970年1月1日以来的秒数。 time.localt…...
MoveIt2-humble】入门教程----第一个 C++ MoveIt 程序
四节教程会手把手带你写一个完整的 Moveit 控制程序,包括轨迹规划、RViz可视化、添加碰撞物体、抓取和放置。 1 创建依赖包 进入到教程所在工作空间下的src目录,创建一个新的依赖包。 ros2 pkg create \--build-type ament_cmake \--dependencies mov…...
watch命令:周期执行指定命令
一、命令简介 watch 命令用于周期性地执行指定的命令,并显示其输出结果。 二、命令参数 2.1 命令格式 watch [选项] 命令2.2 选项 -n, --interval: 指定更新间隔时间(以秒为单位)。默认间隔时间为 2 秒。-d, --difference…...
【ADC】噪声(1)噪声分类
概述 本文学习于TI 高精度实验室课程,总结 ADC 的噪声分类,并简要介绍量化噪声和热噪声。 文章目录 概述一、ADC 中的噪声类型二、量化噪声三、热噪声四、量化噪声与热噪声对比 一、ADC 中的噪声类型 ADC 固有噪声由两部分组成:第一部分是量…...
网络安全概述:从认知到实践
一、定义 网络安全,即致力于保护网络系统所涵盖的硬件、软件以及各类数据,切实保障其免遭破坏、泄露或者篡改等不良情形的发生。 二、重要性 个人层面:着重于守护个人隐私以及财产安全,为个人在网络世界中的各项活动提供坚实的保…...
Vue.js组件开发研究
摘要 随着前端技术的快速发展,Vue.js以其轻量级、高性能和组件化开发的优势,在前端开发领域占据了重要地位。本研究深入探讨了Vue.js组件开发的理论基础、开发方法以及实际应用。通过系统梳理Vue.js框架的核心特性、组件化思想及Vue.js组件的基本概念&am…...
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植案例(一)
往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 轻量带屏解决方案之恒玄芯片移植案例 本文章基于恒玄科技BES2600W…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
【Ftrace 专栏】Ftrace 参考博文
ftrace、perf、bcc、bpftrace、ply、simple_perf的使用Ftrace 基本用法Linux 利用 ftrace 分析内核调用如何利用ftrace精确跟踪特定进程调度信息使用 ftrace 进行追踪延迟Linux-培训笔记-ftracehttps://www.kernel.org/doc/html/v4.18/trace/events.htmlhttps://blog.csdn.net/…...
精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑
精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑 在电子商务领域,转化率与网站性能是决定商业成败的核心指标。今天,我们将深入解析不同类型电商平台的转化率基准,探讨页面加载速度对用户行为的…...
用 FFmpeg 实现 RTMP 推流直播
RTMP(Real-Time Messaging Protocol) 是直播行业中常用的传输协议。 一般来说,直播服务商会给你: ✅ 一个 RTMP 推流地址(你推视频上去) ✅ 一个 HLS 或 FLV 拉流地址(观众观看用)…...
【Qt】控件 QWidget
控件 QWidget 一. 控件概述二. QWidget 的核心属性可用状态:enabled几何:geometrywindows frame 窗口框架的影响 窗口标题:windowTitle窗口图标:windowIconqrc 机制 窗口不透明度:windowOpacity光标:cursor…...
