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]>

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

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

相关文章

算法题解记录27+++随机链表的复制(百日筑基)

一、题目描述: 题目难度:中等 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每…

小柴带你学AutoSar系列一、基础知识篇(4)编译

小柴带你学AutoSar总目录https://blog.csdn.net/qianshang52013/article/details/138140235?spm1001.2014.3001.5501 Flechazohttps://www.zhihu.com/people/jiu_sheng 编译真的很重要!了解一下机器是如何工作的吧。当然啦!通过学习这篇文章还可以学习…

unityBIM

Revit模型到Unity勉强能用 1、Revit直接导出FBX,然后拖到unity里面 2、通过Navisworks导出FBX,拖到unity里面。 我什么都还没做,只建立了一个空的URP效果,把FBX拖进去,挂了一个相机控制器,效果勉强看得过…

中医的悠久历史文化

中医,作为中华民族的传统医学,拥有着悠久的历史和深厚的文化底蕴。自古以来,中医便以其独特的理论体系和治疗方法,为中华民族的繁衍昌盛做出了巨大贡献。如今,随着现代医学的不断发展,中医依然以其独特的魅…

【计算机毕设】SpringBoot海滨体育馆管理系统设计与实现 - 源码免费(私信领取)

免费领取源码 | 项目完整可运行 | v:chengn7890 诚招源码校园代理! 1. 引言 体育馆作为重要的体育场馆,承担着举办体育赛事、健身活动和文化演出等多种功能。为了提高体育馆的管理效率和服务质量,本项目旨在…

DASK==python并行计算

文档10 Minutes to Dask — Dask documentation demo代码 import numpy as np import pandas as pd import dask.dataframe as dd import dask# 设置调度器为多线程 dask.config.set(schedulerthreads) # 创建一个示例的Pandas DataFrame index pd.date_range("2021-09…

Java后端代码框架包设计-什么是Domain,BO,VO?我们改如何区分和定义?

我们先来看看一个项目的代码结构,如下图: 1.定义包名用domain这个单词是什么含义 在Java中,domain 这个单词通常用于表示应用程序的“领域模型”(Domain Model)或“领域层”(Domain Layer)。领域模型是描述系统业务逻辑和规则的对象集合,它通常包含实体(Entities)、…

主机加固解决方案分享

在信息化社会的今天,网络安全问题日益凸显,其中主机的安全性更是至关重要。主机加固,作为提升计算机系统安全性的重要手段,其重要性不言而喻。那么,有什么好的方案呢?今天我就给大家介绍个主机加固的解决方…

Git使用规范及命令

文章目录 一、Git工作流二、分支管理三、Git命令操作规范1. 切到develop分支,更新develop最新代码2. 新建feature分支,开发新功能3. 完成feature分支,合并到develop分支4. 当某个版本所有的 feature 分支均合并到 develop 分支,就…

领域建模(系统操作复习)

习题 问题 考察点 领域建模 识别概念类 固定模板 Conceptual Class Category Examples specifications,designs, or descriptions of things roles of people containers of other things things in a container abstract noun concepts organizations events processes (…

vs2022 MSVC2017_64 调试Qt5.14.2源码

pdb调试文件下载路径https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt5_5142/qt.qt5.5142.debug_info.win64_msvc2017_64/ 在vs中添加pdb文件符号路径,使其qt在调试时能查找到相应的符号文件。 在需要调试的解决方案下通过解决方案点击&…

【Linux】日志管理

一、日志进程 1、处理日志的进程 rsyslogd:系统专职日志程序 观察rsyslogd程序: ps aux | grep rsyslogd 2、常见的日志文件 1、系统主日志文件: /var/log/messages 动态查看日志文件尾部: tail -f /var/log/messages 2、安全…

C语言-01_HelloWord

文章目录 1.C程序运行机制2.HelloWorld的剖析① main()② 函数体③ printf()④ 标准库、头文件 3.输出3.1 printf()标准格式3.2 占位符3.3 输出格式 1.C程序运行机制 过程1:编辑 编写C语言源程序代码,并已文件的形式存储到磁盘中。源程序文件以“.c”作…

k8s自定义资源你会创建吗

创建自定义资源定义 CustomResourceDefinition 当你创建新的 CustomResourceDefinition(CRD)时,Kubernetes API 服务器会为你所 指定的每一个版本生成一个 RESTful 的 资源路径。CRD 可以是名字空间作用域的,也可以是集群作用域的…

VHDL/CPLD硬件描述语言:2022年做的万年历实验

之前接触过一些硬件描述语言以及VHDL/CPLD的单片机的设计实验,那时是2022年了 这里补写一篇笔记,以记录一下那十多个小时 万年历实验 研究中的心得体会: 说明解释都是个人理解,与标准描述有较大出入...... 目录 输入输出器件的编写: 分频器…

【Keil 5】Keil 5下载安装激活到2032年(含MDK、C51、STM32单片机)+附带百度网盘链接

这里写目录标题 安装包、激活文件下载1.双击mdk 514开始安装2.一路点next,信息随便写即可3.激活4.安装STM325.激活c51 安装包、激活文件下载 解压密码:lantongxue 链接:https://pan.baidu.com/s/15Aukt0j1HCFyHBE6whuDeg?pwdsjyh 提取码&…

Streamsets-JDBC模式使用更新时间字段数据同步

StreamSets的开源地址:https://github.com/streamsets/datacollector-oss Streamsets官网地址:https://streamsets.com/ Streamsets文档地址:https://docs.streamsets.com/portal/datacollector/3.16.x/help/index.html 我又来写Streamsets了…

LangChain实战技巧之四:当模型(Model)不支持Tool/Function的解决办法

文心大模型两大主力模型已全面免费,可参考我之前发的文章 AI菜鸟向前飞 — 今日三则AI相关新闻 但是,这些模型原生并不支持Tool/Function Call 如下所示: tool def greeting(name: str):向朋友致欢迎语return f"你好啊, {name}"…

基于LabVIEW虚拟示波器设计

随着计算机技术的发展,传统仪器开始向计算机化的方向发展。虚拟仪器是90年代提出的新概念。虚拟仪器技术的提出与发展,标志着二十一世纪自动测试与电子测量仪器领域技术发展的一个重要方向。所谓虚拟仪器,就是在通用的计算机平台上定义和设计…

TDR原理的介绍

目录 简介 简单定义 TDR测试原理 简介 时域和频域就像孪生兄弟一样,经常在测试测量领域同时出现,可谓是工程师们分析问题和解决问题的两大法宝。所以,在某些测试场景中,如果有时域信息的护法,咱们就能从时频域两个维…