ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 11

【 使用环境 】测试环境
【 OB or 其他组件 】oceanbase、obproxy、ob-deploy、obclient
【 使用版本 】
oceanbase-ce-3.1.4-10000092022071511.el7.x86_64
obproxy-ce-3.2.3-2.el7.x86_64
ob-deploy-1.5.0-12.el7.x86_64
obclient-2.0.2-3.el7.x86_64

【问题描述】通过OBD搭建3节点集群环境,集群启动正常,通过obclient 使用2881端口访问正常,但使用2883端口访问报错

【复现路径】问题出现前后相关操作

//OBD 启动和初始化集群
[admin@jsv77-191 log]$ obd cluster start obce-3zones
Get local repositories ok
Search plugins ok
Open ssh connection ok
Load cluster param plugin ok
Check before start observer ok
[WARN] (10.10.77.242) clog and data use the same disk (/dbdata)
[WARN] (10.10.77.243) clog and data use the same disk (/dbdata)
[WARN] (10.10.77.245) clog and data use the same disk (/dbdata)

Check before start obproxy ok
Start observer ok
observer program health check ok
Connect to observer ok
Initialize cluster
Cluster bootstrap ok
Wait for observer init ok
+------------------------------------------------+
|                    observer                    |
+--------------+---------+------+-------+--------+
| ip           | version | port | zone  | status |
+--------------+---------+------+-------+--------+
| 10.10.77.242 | 3.1.4   | 2881 | zone1 | active |
| 10.10.77.243 | 3.1.4   | 2881 | zone2 | active |
| 10.10.77.245 | 3.1.4   | 2881 | zone3 | active |
+--------------+---------+------+-------+--------+

Start obproxy ok
obproxy program health check ok
Connect to obproxy ok
Initialize cluster
+------------------------------------------------+
|                    obproxy                     |
+--------------+------+-----------------+--------+
| ip           | port | prometheus_port | status |
+--------------+------+-----------------+--------+
| 10.10.77.242 | 2883 | 2884            | active |
| 10.10.77.243 | 2883 | 2884            | active |
| 10.10.77.245 | 2883 | 2884            | active |
+--------------+------+-----------------+--------+
obce-3zones running
[admin@jsv77-191 log]$ 
//通过2881端口访问,正常
[admin@jsv77-191 ~]$ obclient -h 10.10.77.242 -uroot@sys -P2881 -proot -c -A oceanbase
Welcome to the OceanBase.  Commands end with ; or \g.
Your OceanBase connection id is 3221534012
Server version: 5.7.25 OceanBase 3.1.4 (r10000092022071511-b4bfa011ceaef428782dcb65ae89190c40b78c2f) (Built Jul 15 2022 11:45:14)

Copyright (c) 2000, 2022, OceanBase and/or its affiliates. All rights reserved.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

obclient [oceanbase]> 
//通过2883端口访问,异常
[admin@jsv77-191 ~]$ obclient -h 10.10.77.242 -uroot@sys#obce-3zones -P2883 -pproxyro -c -A oceanbase
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 11

[admin@jsv77-191 ~]$ 

【问题现象及影响】
通过2883端口无法访问集群

【附件】obce-3zones.yaml配置文件

[admin@jsv77-191 ~]$ cat obce-3zones.yaml
## Only need to configure when remote login is required
user:
   username: admin
   password: admin
   key_file: /home/admin/.ssh/id_rsa.pub
   port: 22
#   timeout: ssh connection timeout (second), default 30
oceanbase-ce:
  servers:
    - name: obce01
      # Please don't use hostname, only IP can be supported
      ip: 10.10.77.242
    - name: obce02
      ip: 10.10.77.243
    - name: obce03
      ip: 10.10.77.245
  global:
    # Please set devname as the network adaptor's name whose ip is  in the setting of severs.
    # if set severs as "127.0.0.1", please set devname as "lo"
    # if current ip is 192.168.1.10, and the ip's network adaptor's name is "eth0", please use "eth0"
    devname: eth0
    cluster_id: 1
    # please set memory limit to a suitable value which is matching resource. 
    memory_limit: 8G # The maximum running memory for an observer
    system_memory: 3G # The reserved system memory. system_memory is reserved for general tenants. The default value is 30G.
    stack_size: 512K
    cpu_count: 16
    cache_wash_threshold: 1G
    __min_full_resource_pool_memory: 268435456
    workers_per_cpu_quota: 10
    schema_history_expire_time: 1d
    # The value of net_thread_count had better be same as cpu's core number. 
    net_thread_count: 4
    major_freeze_duty_time: Disable
    minor_freeze_times: 10
    enable_separate_sys_clog: 0
    enable_merge_by_turn: FALSE
    datafile_disk_percentage: 20 # The percentage of the data_dir space to the total disk space. This value takes effect only when datafile_size is 0. The default value is 90.
    syslog_level: WARN # System log level. The default value is INFO.
    enable_syslog_wf: false # Print system logs whose levels are higher than WARNING to a separate log file. The default value is true.
    enable_syslog_recycle: true # Enable auto system log recycling or not. The default value is false.
    max_syslog_file_count: 10 # The maximum number of reserved log files before enabling auto recycling. The default value is 0.
    # observer cluster name, consistent with obproxy's cluster_name
    appname: obce-3zones
    root_password: root
    proxyro_password: proxyro
  obce01:
    mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started.
    rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started.
    #  The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
    home_path: /home/admin/oceanbase-ce
    # The directory for data storage. The default value is $home_path/store.
    data_dir: /dbdata/data
    # The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
    redo_dir: /dbdata/redo
    zone: zone1
  obce02:
    mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started.
    rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started.
    #  The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
    home_path: /home/admin/oceanbase-ce
    # The directory for data storage. The default value is $home_path/store.
    data_dir: /dbdata/data
    # The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
    redo_dir: /dbdata/redo
    zone: zone2
  obce03:
    mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started.
    rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started.
    #  The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
    home_path: /home/admin/oceanbase-ce
    # The directory for data storage. The default value is $home_path/store.
    data_dir: /dbdata/data
    # The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
    redo_dir: /dbdata/redo
    zone: zone3
obproxy-ce:
  # Set dependent components for the component.
  # When the associated configurations are not done, OBD will automatically get the these configurations from the dependent components.
  depends:
    - oceanbase-ce
  servers:
    - 10.10.77.242
    - 10.10.77.243
    - 10.10.77.245
  global:
    listen_port: 2883 # External port. The default value is 2883.
    prometheus_listen_port: 2884 # The Prometheus port. The default value is 2884.
    home_path: /home/admin/obproxy
    # oceanbase root server list
    # format: ip:mysql_port;ip:mysql_port. When a depends exists, OBD gets this value from the oceanbase-ce of the depends.
    rs_list: 10.10.77.242:2881;10.10.77.243:2881;10.10.77.245:2881
    enable_cluster_checkout: false
    # observer cluster name, consistent with oceanbase-ce's appname. When a depends exists, OBD gets this value from the oceanbase-ce of the depends.
    cluster_name: obce-3zones
    skip_proxy_sys_private_check: true
    enable_strict_kernel_release: false
    obproxy_sys_password: obproxy
    observer_sys_password: observer
[admin@jsv77-191 ~]$ 

通过2883连不上是通过proxy无法连接,#obce-3zones 这个集群群写的对吗?去掉试试

集群名称是正确的,去掉集群名依旧报错。

[admin@jsv77-191 ~]$ obclient -h 10.10.77.242 -uroot@sys -P2883 -pproxyro -c -A oceanbase
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 11
[admin@jsv77-191 ~]$ 
[admin@jsv77-191 ~]$ obclient -h 10.10.77.242 -uproxyro@sys -P2883 -pproxyro -c -A oceanbase
ERROR 1045 (42000): Access denied for user 'proxyro@sys'@'10.10.77.191' (using password: YES)
[admin@jsv77-191 ~]$ 

proxyro_password: proxyro # 将对应的注视打开,填写的是sys租户下proxyro用户的密码

observer_sys_password: observer # 对应OB集群 proxyro@sys 的密码,目前的依赖已经自动跟 oceanbase-ce → global → proxyro_password 密码保持一致

这两个密码要保持一致

谢谢,是这里的问题