当前位置: 首页 > news >正文

OBproxy基础运维

简介

obproxy 属于OceanBase的代理,生产环境中 OceanBase 数据库的数据 会以 多副本的形式 存放在各个 OBServer 节点上,obproxy 接收用户发出的 SQL 请求,并将 SQL 请求转发至最佳目标 OBServer 节点,最后将执行结果返回给用户,该工具一般部署在observer所在的服务器上

查看obproxy信息(查看进程)

可以看出当前只有一台 obproxy, 端口号为2883,目录在 /opt/myoceanbase/obproxy

[root@rac1 ~]# ps -ef | grep obproxy
root      7780     1  0 May16 ?        00:44:14 bash /opt/myoceanbase/obproxy/obproxyd.sh /opt/myoceanbase/obproxy 10.0.0.197 2883 daemon
root      7798     1  4 May16 ?        10:21:01 /opt/myoceanbase/obproxy/bin/obproxy --listen_port 2883
root      9646 23753  0 22:49 pts/5    00:00:00 grep --color=auto obproxy
[root@rac1 ~]#

安装目录

通过查看 obproxy 进程运行状态得出 obproxy 安装目录是 /opt/myoceanbase/obproxy

进入安装目录

可以看到在安装目录下 存在 obproxy 自身的一些文件和目录信息: 日志目录log, 进程id目录run, 配置目录etc, 守护进程 obproxyd.sh

[root@rac1 ~]# cd /opt/myoceanbase/obproxy
[root@rac1 obproxy]# ll
total 8
drwxr-xr-x 2 root root   21 May 16 15:50 bin
drwxr-xr-x 2 root root    6 May 16 15:51 control-config
drwxr-xr-x 2 root root   87 May 16 15:52 etc
drwxr-xr-x 2 root root    6 May 16 15:50 lib
drwxr-xr-x 2 root root 4096 May 24 20:55 log
-rw-r--r-- 1 root root  910 May 16 15:52 obproxyd.sh
drwxr-xr-x 2 root root   77 May 16 15:52 run
drwxr-xr-x 2 root root    6 May 16 15:51 sharding-config
[root@rac1 obproxy]#
[root@rac1 obproxy]#
[root@rac1 obproxy]#
[root@rac1 obproxy]# cd log/
[root@rac1 log]# ll
total 1070184
-rw-r--r-- 1 root root         0 May 16 15:51 obproxy_client.log
-rw-r--r-- 1 root root         0 May 16 15:51 obproxy_config.log
-rw-r--r-- 1 root root    216074 May 25 20:44 obproxy_diagnosis.log
-rw-r--r-- 1 root root  12666499 May 26 22:53 obproxy_digest.log
-rw-r--r-- 1 root root   5788538 May 26 22:49 obproxy_error.log
-rw-r--r-- 1 root root         0 May 16 15:51 obproxy_limit.log
-rw-r--r-- 1 root root 133943000 May 26 22:53 obproxy.log
-rw-r--r-- 1 root root 268435584 May 21 21:00 obproxy.log.20240521210000
-rw-r--r-- 1 root root 268435619 May 24 04:54 obproxy.log.20240524045423
-rw-r--r-- 1 root root 268435458 May 24 20:55 obproxy.log.20240524205514
-rw-r--r-- 1 root root  11980562 May 26 22:53 obproxy.log.wf
-rw-r--r-- 1 root root  24386318 May 21 21:00 obproxy.log.wf.20240521210000
-rw-r--r-- 1 root root  17694250 May 24 04:54 obproxy.log.wf.20240524045423
-rw-r--r-- 1 root root  13785772 May 24 20:55 obproxy.log.wf.20240524205514
-rw-r--r-- 1 root root         0 May 16 15:51 obproxy_pool.log
-rw-r--r-- 1 root root         0 May 16 15:51 obproxy_pool_stat.log
-rw-r--r-- 1 root root   4657094 May 26 22:53 obproxy_slow.log
-rw-r--r-- 1 root root  15866350 May 26 22:52 obproxy_stat.log
-rw-r--r-- 1 root root    455937 May 26 16:44 obproxy_trace.log
-rw-r--r-- 1 root root  32840682 May 26 22:52 obproxy_xflush.log
[root@rac1 log]#
[root@rac1 log]# cd ..
[root@rac1 obproxy]# cd run/
[root@rac1 run]# ll
total 8
-rw-r--r-- 1 root root 5 May 16 15:52 obproxy-10.0.0.197-2883.pid
-rw-r--r-- 1 root root 5 May 16 15:52 obproxyd-10.0.0.197-2883.pid
[root@rac1 run]#

obproxyd.sh

该文件位于 obproxy 安装目录下,负责启停 obproxy,并检查obproxy运行状态,当obproxy 挂掉,obproxyd.sh 会负责将其拉起来,属于 obproxy 的守护进程

日志

obproxy 日志 保存 obproxy 的运行信息,根据实际需求查看相关日志,也可以通过obproxy日志查询慢SQL的基础信息

[root@rac1 log]# ll
total 1071660
-rw-r--r-- 1 root root         0 May 16 15:51 obproxy_client.log
-rw-r--r-- 1 root root         0 May 16 15:51 obproxy_config.log
-rw-r--r-- 1 root root    216074 May 25 20:44 obproxy_diagnosis.log
-rw-r--r-- 1 root root  12672412 May 26 23:07 obproxy_digest.log
-rw-r--r-- 1 root root   5788538 May 26 22:49 obproxy_error.log
-rw-r--r-- 1 root root         0 May 16 15:51 obproxy_limit.log
-rw-r--r-- 1 root root 134784335 May 26 23:07 obproxy.log
-rw-r--r-- 1 root root 268435584 May 21 21:00 obproxy.log.20240521210000
-rw-r--r-- 1 root root 268435619 May 24 04:54 obproxy.log.20240524045423
-rw-r--r-- 1 root root 268435458 May 24 20:55 obproxy.log.20240524205514
-rw-r--r-- 1 root root  12032012 May 26 23:07 obproxy.log.wf
-rw-r--r-- 1 root root  24386318 May 21 21:00 obproxy.log.wf.20240521210000
-rw-r--r-- 1 root root  17694250 May 24 04:54 obproxy.log.wf.20240524045423
-rw-r--r-- 1 root root  13785772 May 24 20:55 obproxy.log.wf.20240524205514
-rw-r--r-- 1 root root         0 May 16 15:51 obproxy_pool.log
-rw-r--r-- 1 root root         0 May 16 15:51 obproxy_pool_stat.log
-rw-r--r-- 1 root root   4661234 May 26 23:07 obproxy_slow.log
-rw-r--r-- 1 root root  15894775 May 26 23:06 obproxy_stat.log
-rw-r--r-- 1 root root    455937 May 26 16:44 obproxy_trace.log
-rw-r--r-- 1 root root  32868123 May 26 23:07 obproxy_xflush.log
[root@rac1 log]#
[root@rac1 log]#
[root@rac1 log]#
[root@rac1 log]# pwd
/opt/myoceanbase/obproxy/log
[root@rac1 log]# grep -i 'slow query' obproxy.log.20240521210000 

使用 obproxy 登录 OB

[root@rac1 log]# obclient -h10.0.0.197 -P2883 -uroot@sys#myoceanbase -p'aaAA11__' -Doceanbase -A -c;
Welcome to the OceanBase.  Commands end with ; or \g.
Your OceanBase connection id is 526837
Server version: OceanBase_CE 4.2.1.0 (r100000102023092807-7b0f43693565654bb1d7343f728bc2013dfff959) (Built Sep 28 2023 07:25:28)Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.obclient [oceanbase]>

注意:使用 obproxy 登录OB时,用户名填写方式 必须为 用户名@租户名#集群名,登陆端口使用 obproxy 端口

查看 obproxy 参数

查看全部参数

obclient [oceanbase]> show proxyconfig

查看某个参数(日志清理间隔)

可以看到 当前 日志文件清理任务 的 间隔时间 为1分钟,取值范围为 5秒 至 30天

obclient [oceanbase]> show proxyconfig like 'log_cleanup_interval';
+----------------------+-------+--------------------------------------------------------------------------+-------------+---------------+
| name                 | value | info                                                                     | need_reboot | visible_level |
+----------------------+-------+--------------------------------------------------------------------------+-------------+---------------+
| log_cleanup_interval | 1m    | log file clean up task schedule interval, set 1 day or longer, [5s, 30d] | false       | USER          |
+----------------------+-------+--------------------------------------------------------------------------+-------------+---------------+
1 row in set (0.002 sec)

修改某个 obproxy 参数(日志清理间隔)

修改日志文件清理任务 的 间隔时间 为1分钟

obclient [oceanbase]> alter proxyconfig set log_cleanup_interval = '2m';
Query OK, 0 rows affected (0.017 sec)obclient [oceanbase]>
obclient [oceanbase]> show proxyconfig like 'log_cleanup_interval';
+----------------------+-------+--------------------------------------------------------------------------+-------------+---------------+
| name                 | value | info                                                                     | need_reboot | visible_level |
+----------------------+-------+--------------------------------------------------------------------------+-------------+---------------+
| log_cleanup_interval | 2m    | log file clean up task schedule interval, set 1 day or longer, [5s, 30d] | false       | USER          |
+----------------------+-------+--------------------------------------------------------------------------+-------------+---------------+
1 row in set (0.008 sec)obclient [oceanbase]>

obproxy重启

使用obd重启

可以使用 -s 指定 特定节点 的obproxy 重启

[admin@server070 oceanbase-ce]$ obd cluster restart demo -c obproxy-ce -s 127.0.0.1
Get local repositories and plugins ok
Load cluster param plugin ok
Open ssh connection ok
Cluster status check ok
Check before start obproxy ok
Stop obproxy ok
Start obproxy ok
obproxy program health check ok
Connect to obproxy ok
+---------------------------------------------+
|                   obproxy                   |
+-----------+------+-----------------+--------+
| ip        | port | prometheus_port | status |
+-----------+------+-----------------+--------+
| 127.0.0.1 | 2883 | 2884            | active |
+-----------+------+-----------------+--------+
obclient -h127.0.0.1 -P2883 -uroot -Doceanbase -Asucceed
Trace ID: ec2765e0-ece1-11ee-934b-000c2910d46f
If you want to view detailed obd logs, please run: obd display-trace ec2765e0-ece1-11ee-934b-000c2910d46f
[admin@server070 oceanbase-ce]$
[admin@server070 oceanbase-ce]$
[admin@server070 oceanbase-ce]$

手动重启

obporxy-ce进程obproxyd守护进程 杀掉

[admin@server070 ~]$ ps -ef|grep obproxy |grep -v grep
admin    15091     1  0 17:02 pts/0    00:00:01 bash /home/admin/obproxy-ce/obproxyd.sh /home/admin/obproxy-ce 127.0.0.1 2883 daemon
admin    15110     1  1 17:02 ?        00:00:39 /home/admin/obproxy-ce/bin/obproxy --listen_port 2883
[admin@server070 ~]$
[admin@server070 ~]$
[admin@server070 ~]$
[admin@server070 ~]$
[admin@server070 ~]$ kill 15091
[admin@server070 ~]$
[admin@server070 ~]$
[admin@server070 ~]$
[admin@server070 ~]$ kill 15110
[admin@server070 ~]$
[admin@server070 ~]$

启动 obproxy 节点

[admin@server070 ~]$ cd /home/admin/obproxy-ce/
[admin@server070 obproxy-ce]$ ./bin/obproxy
[admin@server070 obproxy-ce]$
[admin@server070 obproxy-ce]$ chmod 733 obproxyd.sh
[admin@server070 obproxy-ce]$
[admin@server070 obproxy-ce]$
[admin@server070 obproxy-ce]$
[admin@server070 obproxy-ce]$ sh obproxyd.sh  /home/admin/obproxy-ce 127.0.0.1 2883
[admin@server070 obproxy-ce]$
[admin@server070 obproxy-ce]$
[admin@server070 obproxy-ce]$ ps -ef | grep obproxy | grep -v grep
admin    27105     1  2 17:37 ?        00:00:01 ./bin/obproxy
[admin@server070 obproxy-ce]$ ps -ef | grep obproxy
admin    27105     1  2 17:37 ?        00:00:02 ./bin/obproxy
admin    27451 15200  0 17:39 pts/0    00:00:00 grep --color=auto obproxy
[admin@server070 obproxy-ce]$
[admin@server070 obproxy-ce]$

验证启动成功

通过 obproxy 可以登录集群

[admin@server070 oceanbase-ce]$ obclient -h127.0.0.1 -P2883 -uroot@obmysql    -Doceanbase -c  -A -paaAA11__
Welcome to the OceanBase.  Commands end with ; or \g.
Your OceanBase connection id is 1
Server version: OceanBase_CE 4.2.2.0 (r100000192024011915-fac02c6690de9ff9f9f96c0bdf86ffe39ae0d7e7) (Built Jan 19 2024 15:14:05)Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.obclient [oceanbase]>
obclient [oceanbase]>

相关文章:

OBproxy基础运维

简介 obproxy 属于OceanBase的代理,生产环境中 OceanBase 数据库的数据 会以 多副本的形式 存放在各个 OBServer 节点上,obproxy 接收用户发出的 SQL 请求,并将 SQL 请求转发至最佳目标 OBServer 节点,最后将执行结果返回给用户&…...

【Python】 探索Pytz库中的时区列表

基本原理 在Python中,处理时区是一个常见但复杂的问题。pytz是一个Python库,它提供了对时区的精确和丰富的支持。pytz库是datetime模块的补充,它允许更准确地处理时区信息。pytz库包括了IANA时区数据库,这个数据库包含了全球的时…...

C#操作MySQL从入门到精通(9)——Mysql中的数据类型以及对应的C#中的数据类型

1、本文介绍...

第六讲:AD、DA的工作原理及实现、运放电路

DA 数模转换器 (DAC) 数模转换器(Digital-to-Analog Converter,简称DAC)是一种将数字信号转换为模拟信号的电子装置。DAC在各种电子设备中广泛应用,如音频设备、通信系统、测量设备和控制系统中。以下是DAC的主要概念和应用。…...

计网ppt标黄知识点整理第(4)章节——谢希仁版本、期末复习自用

路由器:查找转发表,转发分组。 IP网的意义:当互联网上的主机进行通信时,就好像在一个网络上通信一样,看不见互连的各具体的网络异构细节。如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就…...

[数据集][目标检测]RSNA肺炎检测数据集VOC+YOLO格式6012张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):6012 标注数量(xml文件个数):6012 标注数量(txt文件个数):6012 标注…...

AndroidStudio中debug.keystore的创建和配置使用

1.如果没有debug.keystore,可以按照下面方法创建 首先在C:\Users\Admin\.android路径下打开cmd窗口 之后输入命令:keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000 输入两次密码(密码不可见,打码处随便填写没关系) 2.在build…...

什么是最好的手机数据恢复软件?6 款手机数据恢复软件 [2024 年更新]

什么是最好的手机数据恢复软件?在这篇文章中,您将了解 6 款最好的免费手机数据恢复软件,并学习如何恢复数据的完整指南。 最好的手机数据恢复软件是什么? 手机数据恢复软件是恢复智能手机中丢失或删除的文件、消息、照片和其他宝…...

力扣2653.滑动子数组的美丽值

力扣2653.滑动子数组的美丽值 计数排序&#xff1a;数值作为下标 记录个数 求第x小的数 &#xff1a; 暴力枚举负数 直到找到第x个负数 class Solution {public:vector<int> getSubarrayBeauty(vector<int>& nums, int k, int x) {const int BIAS 50;int c…...

2024-06-04 架构-不同层次的抽象的处理-分析

摘要: 2024-06-04 架构-不同层次的抽象的处理-分析. 不同层次的抽象: 将事情做不同的情况的解耦&#xff0c;关于在于理解事情本身的性质&#xff0c;如何解耦&#xff0c;如何处理当将事情解耦成不同的情况后&#xff0c;就可以针对不同的事情&#xff0c;最不同的处理。这么…...

MySQL——C语言连接数据库

MySQL Connection ​ 连接数据库的客户端除了命令行式的还有图形化界面版本&#xff0c;网页版本&#xff0c;当然也包括语言级别的库或者是包&#xff0c;能够帮助我们直接连接数据库&#xff1b; 一、语言连接库下载 方式一&#xff1a;不建议使用&#xff0c;需要自己配置…...

新能源汽车推行精益生产:绿色动力下的效率革命

在新能源汽车行业迅猛发展的当下&#xff0c;推行精益生产已成为提升竞争力的关键所在。精益生产&#xff0c;作为一种以客户需求为导向、追求流程最优化和浪费最小化的管理理念&#xff0c;正逐步在新能源汽车领域展现出其独特的魅力。 新能源汽车的兴起&#xff0c;不仅代表了…...

FCA-九数云 试题及答案

第1题【判断题】仪表板中筛选器只能绑定图表或者图表所在分析表的字段&#xff0c;无法绑定父表中的字段。 A. 正确B. 错误 正确答案&#xff1a;B 第2题【单选题】一张绩效奖金看板&#xff0c;分享给公司所有成员查看。希望输入个人的信息前&#xff0c;只可以查看自己的相关…...

qt dragEnterEvent dragLeaveEvent dragMoveEvent dropEvent都不响应的问题解决方案。

环境&#xff1a;vs2019qt5.14.2 坑哦。让我搞了好久。各种不执行&#xff0c;最后发现,不用vs调制&#xff0c;直接运行exe就能接收拖拽了。 记录一下,感觉是qt的bug。上代码。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QText…...

LVS精益价值管理系统 DownLoad.aspx 任意文件读取漏洞复现

0x01 产品简介 LVS精益价值管理系统是杭州吉拉科技有限公司研发的一款专注于企业精益化管理和价值流优化的解决方案。该系统通过集成先进的数据分析工具、可视化的价值流映射技术和灵活的流程改善机制&#xff0c;帮助企业实现高效、低耗、高质量的生产和服务。 0x02 漏洞概述…...

【GIC400】——中断使能

文章目录 中断使能全局中断使能RISC-VCortex-MCortex-A中断控制器使能PLICNVICGIC模块中断使能参考系列文章 【ARMv7-A】——异常与中断 【ARMv7-A】——异常中断处理概述 【ARMv7-A】——进入和退出异常中断的过程</...

容器项目之前后端分离

容器化部署ruoyi项目 #需要的镜像nginx、java、mysql、redis、 #导入maven镜像、Java镜像和node镜像 docker load -i java-8u111-jdk.tar docker load -i maven-3.8.8-sapmachine-11.tar docker load -i node-18.20.3-alpine3.20.tar #拉取MySQL和nginx镜像 docker pull mysql…...

游戏心理学Day04

第二章 心理学的生理基础 第三节 游戏中的感觉应用 认知地图 表象是在没有外在知觉信息来源的情况下&#xff0c;对类似知觉信息的加工。 表征是指信息或知识在心理活动中的表现和记载方式&#xff0c;表征是外部事物在心理活动中的内部再现。 我们对世界的表象&#xff0c…...

文件上传漏洞之upload-labs

前提&#xff1a; 本文中的以xshell命名的均为以密码为admin的一句话木马&#xff0c;而shell命名的则是由冰蝎工具生成的木马。 pass-01&#xff1a;js前端验证 测试性的上传一个一句话木马&#xff0c;发现被拦截了&#xff0c;而且根据推测大概率是前端检测&#xff0c;于…...

解决使用gets(getchar)函数无法输入字符(字符串)和scanf_s函数显示缺少“scanf_s”整型参数的问题

一.函数介绍 gets函数&#xff1a; 该函数就是读取字符串&#xff0c;遇到空格不会停止&#xff0c;直到遇到换行字符&#xff0c;但是也会读取最后的换行字符&#xff08;这也就是我在写代码的时候遇到的一个问题&#xff09; getchar函数&#xff1a; 和gets函数类似&#x…...

OpenClaw个性化设置:Qwen3.5-9B模型参数调优实战

OpenClaw个性化设置&#xff1a;Qwen3.5-9B模型参数调优实战 1. 为什么需要调整模型参数&#xff1f; 上周我在用OpenClaw自动处理一批技术文档时&#xff0c;遇到了一个奇怪的现象&#xff1a;同样的任务指令&#xff0c;有时候AI能完美执行&#xff0c;有时候却会输出一堆无…...

轻舟体重管理大模型:赋能减重全病程管理,构建智能体重健康生态

在“健康中国2030”战略深入推进的背景下&#xff0c;慢性病防控与全民体重管理已成为公共卫生体系的重要议题。随着肥胖及相关代谢性疾病发病率持续上升&#xff0c;传统的体重干预模式已难以满足全人群、全生命周期的健康管理需求。在此趋势下&#xff0c;基于人工智能技术的…...

IT行业的项目经理考不考PMP证书?我劝你看完这篇在决定!

作为在 IT 圈摸爬滚打 8 年&#xff0c;从后端开发一路转型项目经理、带过 10 大小项目的老学长&#xff0c;最近总被身边技术小伙伴追问&#xff1a;想转 PM&#xff0c;必须考 PMP 吗&#xff1f;没证书就做不好项目管理吗&#xff1f;今天就用过来人的经验&#xff0c;跟大…...

2026届学术党必备的十大AI写作助手推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 知网AIGC检测服务的目的是辅助识别学术文本里由人工智能生成的内容&#xff0c;该技术凭借对…...

Visual C++组件维护完全指南:从问题诊断到系统优化

Visual C组件维护完全指南&#xff1a;从问题诊断到系统优化 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist Visual C组件维护是Windows系统稳定运行的关键环节&…...

Windows 11下Keil5 MDK与C51共存安装全攻略(附ST-Link驱动避坑指南)

Windows 11下Keil5 MDK与C51共存安装全攻略&#xff08;附ST-Link驱动避坑指南&#xff09; 在嵌入式开发领域&#xff0c;Keil作为经典开发工具链&#xff0c;其MDK&#xff08;Microcontroller Development Kit&#xff09;和C51版本分别服务于ARM架构和8051架构单片机开发。…...

量子计算入门捷径:在快马平台用qorder实现第一个纠缠态实验

量子计算听起来很高深&#xff0c;但有了合适的工具和平台&#xff0c;入门其实比想象中简单。最近我在InsCode(快马)平台上尝试用qorder框架做了第一个量子纠缠实验&#xff0c;发现整个过程就像搭积木一样直观。下面分享我的学习笔记&#xff0c;希望能帮到同样想入门的朋友。…...

WSL+VSCode+Jupyter+R配置总结(2026年)

题记&#xff1a;网上相关的资料很多了&#xff0c;现阶段跟随AI也能少走很多弯路&#xff0c;但体验下来依旧有些细节没有被很好的提及&#xff0c;故写本文一方面作为自己的备忘录&#xff0c;一方面希望帮助更多像我一样的新手。 用了上述的配置跑了scanpy一年多了&#xf…...

汽车动力性能计算工具插件:一键测算电机需求与整车性能,工程师专属轻量级辅助软件

温馨提示&#xff1a;文末有联系方式插件核心功能亮点 本款汽车动力性系统专用计算小工具&#xff0c;可精准推演电机功率与扭矩需求&#xff0c;同步输出整车加速性能、最大爬坡度、最高稳定车速等关键动力参数&#xff0c;覆盖常规工况与典型驱动场景&#xff0c;满足前期方案…...

ABB机器人Profinet通信实战:如何正确传输Real类型数据(附完整代码示例)

ABB机器人Profinet通信实战&#xff1a;Real类型数据的高效传输与解析 在工业自动化领域&#xff0c;ABB机器人与PLC之间的实时数据交互是产线高效运行的关键。Profinet作为工业以太网标准协议&#xff0c;其通信性能直接影响着生产节拍和系统稳定性。而Real类型数据的传输&…...