OceanBase(3)OBProxy部署与使用

tanglu 400 2022-05-23

一、OBProxy介绍

OB Proxy是访问 OceanBase 的反向代理工具,虽然 OBServer 可以直连访问,但是如果直连的节点发生故障后会导致服务不可用,而通过OBPRoxy可以对SQL做基本解析,确定对应Leader所在节点,然后进行反向代理将请求路由到对应Leader,如果无法确定时随机选择OB Server。虽然OB Proxy是一个无状态的服务,不对数据做持久化,对部署位置无要求,但是在生产环境中建议为OB Proxy部署在独立的节点上并形成高可用


、OBProxy安装

如果是手动搭建的OBServer集群需要单独安装OBProxy。下载RPM安装包后直接安装,OBProxy默认安装路径为/home/admin/obproxy-{version},还会生成一个etc目录和log目录分别用于存放配置信息和日志

rpm -ivh obproxy-ce-3.2.3-2.el7.x86_64.rpm


三、启动OBProxy

OBProxy启动后默认监听2883、2884端口,会生成etc目录保存运行参数以及log目录保存运行日志

bin/obproxy -r "172.20.1.212:2881;172.20.1.213:2881;172.20.1.214:2881" -p 2883 -o "enable_strict_kernel_release=false,enable_cluster_checkout=false,enable_metadb_used=false" -c obdemo
#-c:指定集群名称
#-o:指定集群启动参数
#-p:指定obproxy启动端口
#-r:指定observer集群的地址


四、OBProxy账号创建

obproxy在启动后需要修改obproxy的管理密码以及obproxy与observer通信所需的密码

mysql -h 172.20.1.212 -u root@proxysys -P 2883 -p      #obproxy的默认登录用户名root@proxysys,密码为空
alter proxyconfig set observer_sys_password = '123456';   #修改obproxy root密码
alter proxyconfig set obproxy_sys_password = '123456';          
mysql -h 172.20.1.212 -u root@proxysys -P 2883 -p123456         #再次登录obproxy需要输入密码

obproxy1.png


· 创建obproxy和observer通信用户

mysql -h 172.20.1.212 -u root@sys -P 2881 -p123456 -c -A         #这里使用root账号直连observer
create user proxyro;                               #OBProxy 连接 OceanBase 集群时默认用户为proxyro
grant select on oceanbase.* to proxyro identified by '123456' ;


· 通过 OBProxy 连接 OceanBase 集群时用户名需要为"用户名@集群名#实例名"这样的格式。登录后如果能查看所有会话,则说明 OBProxy 部署成功。OBproxy所提供的命令和MySQL并非完全一样,对于OBProxy不支持的命令执行后返回的都是系统变量信息,这些不被OBProxy支持的命令可以通过直连OBServer进行查看

mysql -h172.20.1.212 -uroot@sys#obdemo -P2883 -p123456 -c -A oceanbase 
show full processlist;


版权声明
本站所有文章均为原创,转载请注明出处!小站维护不易,如果对您有所帮助,希望能点击一下站内广告,谢谢!
上一篇:OceanBase(2)OceanBase租户创建和管理
下一篇:OceanBase(4)OceanBase日常运维
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

微信二维码