OceanBase(3)OBProxy部署与使用
一、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:指定集群名称,要和observer集群名称一致 #-o:指定集群启动参数 #-p:指定obproxy启动端口 #-r:指定observer集群的地址
四、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需要输入密码
· 登录observer,创建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;
版权声明:本文章版权归数据库运维网(www.ywdba.cn)所有。如需引用本站内容,请注明来源及作者。
评论