【OceanBase诊断调优】—— 直连普通租户时遇到报错:Tenant not in this server

本文介绍了直连 OceanBase 数据库中的普通租户时,出现报错:ERROR 5150 (HY000) : Tenant not in this server 的处理方法。

问题描述

在 n-n 或者 n-n-n (n>1) 的部署架构中,使用 2881 端口 直连 OceanBase 集群的普通租户,可能出现报错:ERROR 5150 (HY000) : Tenant not in this server 。

image0808

问题原因

在或者 (n>1) 的部署架构中,创建的租户可能只在 Zone 下其中一个 OBServer Node 上配置了对应 unit 资源。

例如部署架构如下:Zone1 的第一个 Node 和 Zone2 的第二个 Node 有对应的 unit 资源。那么通过 OBServer 的 2881 端口直连时,必须要求连接的 OBServer上有对应租户的 unit 才可以连接;如果直连 OBServer 2881 端口,连接的 OBServer 上却没有对应租户的 unit,那么就会出现以上截图的问题。

解决方法

  • 方法一:可以给该OceanBase集群关联OBProxy集群,通过2883代理连接对应的租户。

  • 方法二:可以先通过下面的 SQL 查看该租户的 unit 分布的 OBServer Nodes,再通过正确的 Node 进行直连该租户。查看租户资源池配置可通过以下 SQL 查询。

    • 在 OceanBase 数据库 V2.x,V3.x 版本中,查看租户资源池配置的 SQL:

      SELECTt4.tenant_id,t4.tenant_name,t1.name resource_pool_name,t2.name unit_config_name,t2.max_cpu,t2.min_cpu,round(t2.max_memory / 1024 / 1024 / 1024) max_mem_gb,round(t2.min_memory / 1024 / 1024 / 1024) min_mem_gb,t3.unit_id,t3.zone,concat(t3.svr_ip, ':', t3.svr_port) observer
      FROM__all_resource_pool t1JOIN __all_unit_config t2 ON (t1.unit_config_id = t2.unit_config_id)JOIN __all_unit t3 ON (t1.resource_pool_id = t3.resource_pool_id)LEFT JOIN __all_tenant t4 ON (t1.tenant_id = t4.tenant_id)
      -- WHERE t4.tenant_id = 1001
      ORDER BYt1.resource_pool_id,t2.unit_config_id,t3.unit_id;
      
    • 在 OceanBase 数据库 V4.x 版本中,查看租户资源池配置的 SQL:

      SELECTt4.tenant_id,t4.tenant_name,t1.name resource_pool_name,t2.name unit_config_name,t2.max_cpu,t2.min_cpu,round(t2.memory_size / 1024 / 1024 / 1024) mem_gb,t3.unit_id,t3.zone,concat(t3.svr_ip, ':', t3.svr_port) observer
      FROM__all_resource_pool t1JOIN __all_unit_config t2 ON (t1.unit_config_id = t2.unit_config_id)JOIN __all_unit t3 ON (t1.resource_pool_id = t3.resource_pool_id)LEFT JOIN __all_tenant t4 ON (t1.tenant_id = t4.tenant_id)
      -- WHERE t4.tenant_id = 1001
      ORDER BYt1.resource_pool_id,t2.unit_config_id,t3.unit_id;
      

适用版本

OceanBase 数据库 V2.x,V3.x,V4.x 版本。

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

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

相关文章

ChatGPT大语言模型发展历史

技术背景与OpenAI成立 2010年代初:随着深度学习技术的突破,特别是循环神经网络(RNN)和长短时记忆网络(LSTM)的成功应用,自然语言处理(NLP)领域开始经历一场革命。2015年12月:OpenAI作为一个旨在确保人工智能(AI)研究造福全人类的…

Java并行流

Java并行流 什么是并行流?并行流的优缺点优点缺点 如何使用?1.创建流2.转换为并行流3.流操作4.收集结果5.关闭流 并行流的本质1.任务划分和调度2.并发处理数据3.任务结果合并4.性能优化 参考文献官方文档 什么是并行流? 并行流(p…

【C++风云录】揭秘医疗机器人:技术解析与应用探索

打造智能医疗:医疗机器人技术与手术辅助 前言 本文将在深度和广度上探讨六种尖端医疗机器人系统,并重点介绍其应用、C控制接口及其功能。这些机器人系统分别是ROSA Robot、Da Vinci Surgical SystemSDK、Intuitive Surgical’s da Vinci Xi、Medroboti…

黑龙江等保测评新要求下的政府信息化安全实践案例分析

在数字化转型的浪潮中,政府机构作为社会管理和公共服务的核心,其信息安全的重要性日益凸显。近期,黑龙江省积极响应国家网络安全战略,依据最新的等级保护测评(简称“等保测评”)要求,对政府信息…

SpringBoot运维篇(打包,多环境,日志)

文章目录 一、SpringBoot程序的打包与运行二、配置高级三、多环境开发四、日志 一、SpringBoot程序的打包与运行 刚开始做开发学习的小伙伴可能在有一个知识上面有错误的认知,我们天天写程序是在Idea下写的,运行也是在Idea下运行的。 ​但是实际开发完成…

CDH6.3.2集成Flink1.17

直接运行脚本即可,一键输出相关依赖包 运行步骤已给到文档 下载地址

Html基础笔记

Html超文本标记语言 (HyperText Markup Language) 超文本 指的是网页中可以显示的内容(图片,超链接,视频,) 标记语言 标记–>标签(标注) 例如:买东西的时候—>商品具有标签,看到标签就知道商品的属性(价格,材质,型号等,) 标记语言就是提供了很多的标签,不同的标签…

若依框架对于后端返回异常后怎么处理?

1、后端返回自定义异常serviceException 2、触发该异常后返回json数据 因为若依对请求和响应都封装了,所以根据返回值response获取不到Code值但若依提供了一个catch方法用来捕获返回异常的数据 3、处理的方法

antd design 自定义表头

<template><a-card :bordered"false"><div class"contentWrap"><!-- 查询区域 --><div class"table-page-search-wrapper"><a-form layout"inline" keyup.enter.native"searchQuery">&…

云端智享——记移动云手写docker-demo

目录 前言什么是移动云&#xff1f;为何我会使用移动云&#xff1f;移动云“好”在哪里&#xff1f;资源大屏显示继续项目部署其他细节 移动云产品的评价未来展望 前言 在如今这个万物都上云的时代&#xff0c;我们需要选择合适的云产品&#xff0c;而移动云有着独特的优势和广…

TypeScript-联合类型和别名类型

联合类型 作用&#xff1a;将多个类型合并为一个类型对变量进行注解 // 数组里面既有字符串类型 也有数字类型 let arr:(string | number)[] [20,lily] 别名类型 通过type关键词给写起来较复杂的类型起一个其它的名字 好处&#xff1a;用来简化和复用类型 说明&#xff…

golang中chan的高级用法

在阅读k8s的源代码中&#xff0c;发现了一些比较有意思的用法。 在Go语言中&#xff0c;chan&#xff08;通道&#xff09;是一种用于在不同的goroutine之间进行通信的机制。WaitForCacheSync(stopCh <-chan struct{}) error方法中的参数stopCh <-chan struct{}表示一个…

1.存储部分

1.Flash Memory--闪速存储器&#xff08;注&#xff1a;U盘&#xff0c;SD卡就是闪存&#xff09;在EEPROM基础上发展而来的&#xff0c;断电后也能保存信息&#xff0c;且可进行多次 快速擦除重写。注意&#xff1a;由于闪存需要先擦除再写入&#xff0c;因此闪存写的速度要比…

达梦数据库学习笔记

架构、特点和基本概念 达梦数据库&#xff08;DM Database&#xff09;是中国达梦数据库有限公司自主研发的关系型数据库管理系统。它广泛应用于政府、金融、电信、能源等行业&#xff0c;具备高性能、高可靠性和高安全性的特点。 架构 达梦数据库的架构设计注重高性能和高可…

python-绘制五星红旗(非标准)

完整代码如下&#xff1a; #五星红旗&#xff08;非标准版&#xff09; from turtle import* import math from random import* tracer(0) penup() goto(-640,220) pendown() color(gold,gold) begin_fill() for i in range(5): fd(150) right(144) # 大五角星 penup(…

基于UDP的网络多人聊天室

UDP服务器 #include <myheader.h>//宏定义打印错误信息 #define PRINT_ERR(msg) \do \{ \printf("%S,%D,%S\n",__FI…

java单元测试:编写可测试性好的代码

写出可测试性好的代码是编写高质量软件的关键。以下是一些有助于提高代码可测试性的最佳实践&#xff1a; 1. 单一职责原则 (Single Responsibility Principle) 每个类或方法应只负责一个功能。这样可以让测试更容易集中于单一功能。 2. 依赖注入 (Dependency Injection) 通…

【一个糟糕的词:省流】

今日思考&#xff0c;博主分享&#x1f4dd;&#xff0c;原文如下&#xff0c; 我最近听到了一个特别糟糕的词叫省流。我甚至认为这个词可以用来衡量一个人的智商啊&#xff0c;我们可以把一个知识简单的分成三部分问题&#xff0c;答案思维方式就是这个答案是怎么推导出来的啊…

Python数据可视化(二)

Patches绘制几何图形 模块 patches 主要用来完成多边形的绘制工作。这些多边形都是以类&#xff08;Class&#xff09;的形式出现的&#xff0c; 主要包括圆&#xff08;Circle&#xff09;、椭圆&#xff08;Ellipse&#xff09;、矩形&#xff08;Rectangle&#xff09;、圆…

SFTP命令用法(上传和下载 )

sftp&#xff08;Secure File Transfer Protocol&#xff09;是SSH协议的一部分&#xff0c;用于在加密的SSH传输上访问、管理和传输文件。与传统的FTP协议相比&#xff0c;sftp提供了FTP的所有功能&#xff0c;但它更安全&#xff0c;更容易配置。不像SCP&#xff0c;它只支持…