生产环境运行OBProxy - 守护进程
OBProxy无状态,即使宕机重启也不会影响数据一致性,所以OBProxy在部署时都带有一个守护进程,周期性检查OBProxy的健康程度,一旦发现宕机就立即重启OBProxy
OBProxy手动启动和检查过程如下:
登录 OBProxy 所在的宿主机,使用admin用户在命令行工具中运行/opt/taobao/install/<obproxy
目录>/bin/obproxyd.sh -c start -e private -n <obproxy名称>以启动守护进程,守护进程会自动拉起 OBProxy 进程
检查OBProxy进程状态:ps -ef | grep obproxy | grep '^admin'
在 OceanBase 数据库支持的客户端工具中使用 root 用户登录集群的 sys 租户。然后运行obclient -uroot@sys#[集群名称] -P2883 -h127.0.0.1 -p[密码] -Doceanbase -c以验证是否能连到OceanBase 集群
OBProxy配置项
系统租户,通过OBProxy连接OceanBase集群
涉及配置项的内部命令有两种,如下:(2883 obproxy; 2881 observer)
show proxyconfig,展示proxy内部各配置项属性以及config server的配置信息
alter proxyconfig set key=value,更新指定config配置项值
更新命令只对除config server配置信息之外的其他配置项有效,config server配置信息只能通过config server来更新
部分配置需要重启Proxy才生效(参考 need_reboot 这列的值)
配置项可以分为3种类型况来说明:
第一种是proxy写到本地etc文件夹中配置文件的配置项,这些配置项可供用户根据使用场景进行配置和更新
第二种是proxy内部自己使用,对一般用户不可见的配置项,不会注册到内部表中
第三种是proxy从config server中获取到的配置信息(包括版本号、meta table信息、cluster信息、bin url和更新时间),这些信息只用来展示config server的配置,不会注册到内部表或者dump到本地配置文件中,并且它们全部以字符串“json_config”开头,查询时可以使用like进行过滤
常用OBProxy配置项
xflush_log_level:监控用的xflush的日志级别
syslog_level:OBProxy自己的应用日志的日志级别
observer_query_timeout_delta:关系到网络断开连接,到认为Observer不可用的delta时间
log_cleanup_interval:清理OBProxy自身应用日志的间隔时间
log_dir_size_threshold:proxy日志大小阈值,超过阀值即可进行日志清理
internal_cmd_mem_limited:会话较多,导致buffer内存不足时需要调大