部署ocp报错Get Location Cache Fail

【 使用环境 】测试环境
【 OB or 其他组件 】ocp
【 使用版本 】ocp-4.0.0-ce-x86_64
【问题描述】部署ocp报错Get Location Cache Fail
【复现路径】
free -h
total used free shared buff/cache available
Mem: 35G 11G 3.5G 8.9M 20G 17G
Swap: 7.9G 0B 7.9G
【问题现象及影响】
[root@gaolme-ob1 ocp-4.0.0-ce-x86_64]# ./ocp_installer.sh install -c 4.0ocp.yaml
install start
check docker on host
load installer docker image
Loaded image: reg.docker.alibaba-inc.com/ocp2/ocp-installer:4.0.0-ce-x86_64
make log dir
make obd dir
2023-01-12 16:17:30 - INFO - 1 - [ocp_precheck.py:25] - ocp precheck using command: sudo /tmp/precheck-70aeaa64-7c95-4fda-afd6-a1cfd454902d.sh -m ocp
2023-01-12 16:17:30 - INFO - 1 - [ocp_precheck.py:31] - precheck for ocp on host 10.11.144.10 success
2023-01-12 16:17:30 - INFO - 1 - [ocp_precheck.py:32] - ocp precheck result: Machine Role: ocp
Peer IP List:
Machine Type: PHY
Inspect Mode: FALSE

check CPU count: 8 > 8 … PASS
check total MEM: 35 GB > 32 GB … PASS
check linux version: CentOS Linux release 7.8.2003 (Core) … PASS
check SELinux status: Disabled … PASS
check account [admin] and home dir, exist … PASS
check service [firewalld]: inactive … PASS
check service [firewalld]: disabled … PASS
check docker version: 20.10.17 … PASS
,
2023-01-12 16:17:30 - INFO - 1 - [image_load.py:21] - check image got result: 0 c07588c96bd6

2023-01-12 16:17:30 - INFO - 1 - [image_load.py:23] - image reg.docker.alibaba-inc.com/oceanbase/ocp-all-in-one:v4.0.0-ce already loaded
2023-01-12 16:17:30 - INFO - 1 - [metadb_init.py:13] - run with context: {‘precheck_ignore’: False, ‘create_metadb_cluster’: False, ‘clean_metadb_cluster’: False, ‘ob_cluster’: {‘name’: ‘ocp4.0’, ‘home_path’: ‘/home/admin/ocp4.0’, ‘root_password’: 4, ‘data_path’: ‘/home/admin/ocp4.0/data/’, ‘redo_path’: ‘/home/admin/ocp4.0/redo/’, ‘sql_port’: 2881, ‘rpc_port’: 2882, ‘zones’: [{‘name’: ‘zone1’, ‘servers’: [‘10.11.144.10’]}], ‘meta’: {‘tenant’: ‘meta_tenant’, ‘user’: ‘meta_user’, ‘password’: 6, ‘database’: ‘meta_database’, ‘cpu’: 2, ‘memory’: 4}, ‘monitor’: {‘tenant’: ‘monitor_tenant’, ‘user’: ‘monitor_user’, ‘password’: 7, ‘database’: ‘monitor_database’, ‘cpu’: 4, ‘memory’: 8}}, ‘obproxy’: {‘home_path’: ‘/home/admin/ocp4.0/obproxy’, ‘port’: 2883, ‘servers’: [‘10.11.144.10’]}, ‘ssh’: {‘port’: 22, ‘user’: ‘root’, ‘auth_method’: ‘password’, ‘timeout’: 10, ‘password’: ‘P@ssw0rd’, ‘key_file’: ‘/root/keys/id_rsa’}, ‘ocp’: {‘name’: ‘ocp4.0’, ‘process’: {‘port’: 8080, ‘log_dir’: ‘/home/admin/ocp4.0/log’}, ‘servers’: [‘10.11.144.10’], ‘resource’: {‘cpu’: 4, ‘memory’: 8}, ‘auth’: {‘user’: ‘admin’, ‘password’: ‘aaAA11__’}, ‘options’: {‘enable_web_tracking’: True}, ‘metadb’: {‘host’: ‘10.11.144.10’, ‘port’: 2883, ‘meta_user’: ‘meta_user@meta_tenant#ocp4.0’, ‘meta_password’: 6, ‘meta_database’: ‘meta_database’, ‘monitor_user’: ‘monitor_user@monitor_tenant#ocp4.0’, ‘monitor_password’: 7, ‘monitor_database’: ‘monitor_database’}, ‘image’: ‘/root/ocp.tar.gz’, ‘vip’: {‘address’: ‘10.11.144.10’, ‘port’: 8080}, ‘image_tag’: ‘reg.docker.alibaba-inc.com/oceanbase/ocp-all-in-one:v4.0.0-ce’}, ‘operation’: ‘install’}
2023-01-12 16:17:30 - INFO - 1 - [metadb_init.py:39] - init ocp metadb with command: sudo docker run --rm --net=host --workdir=/home/admin/ocp-init/src/ocp-init --entrypoint=python -e PYTHONUNBUFFERED=1 -e TABLEGROUP_NAME=meta_database reg.docker.alibaba-inc.com/oceanbase/ocp-all-in-one:v4.0.0-ce create_metadb.py 10.11.144.10 2883 meta_user@meta_tenant#ocp4.0 6 meta_database monitor_user@monitor_tenant#ocp4.0 7 monitor_database on host: 10.11.144.10
Traceback (most recent call last):
File “pipeline/install_ocp.py”, line 43, in
run(context)
File “pipeline/install_ocp.py”, line 33, in run
install_ocp_pipeline.run()
File “/root/installer/core/pipeline.py”, line 10, in run
task.run()
File “/root/installer/task/metadb_init.py”, line 42, in run
raise Exception(“init metadb failed, {} {} {}”.format(init_metadb_result.code, init_metadb_result.stdout, init_metadb_result.stderr))
Exception: init metadb failed, 1 Generated yml file:

OcpInitParameter:
METADB:
ip: &metadb_ip 10.11.144.10
username: &metadb_username meta_user@meta_tenant#ocp4.0
password: &metadb_password ‘6’
port: &metadb_port 2883
dbname: &metadb_dbname meta_database
MONITORDB:
ip: &monitordb_ip 10.11.144.10
username: &monitordb_username monitor_user@monitor_tenant#ocp4.0
password: &monitordb_password ‘7’
port: &monitordb_port 2883
dbname: &monitordb_dbname monitor_database
CONFIGURATION:
ocp.monitordb.host: *monitordb_ip
ocp.monitordb.port: *monitordb_port
ocp.monitordb.username: *monitordb_username
ocp.monitordb.password: *monitordb_password
ocp.monitordb.database: *monitordb_dbname
ocp.iam.auth: local
backup.dbname.prefix: &backup_dbname_prefix backup

start create database meta_database
create_metadb.py:20: YAMLLoadWarning: calling yaml.load() without Loader=… is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
data = yaml.load(file)
No handlers could be found for logger “root”
Traceback (most recent call last):
File “create_metadb.py”, line 189, in
init_ocp(filename)
File “create_metadb.py”, line 50, in init_ocp
common.create_db_if_not_exists(meta_db_connect_info)
File “/home/admin/ocp-init/src/ocp-init/common.py”, line 86, in create_db_if_not_exists
run_sql_no_result(sql, default_config)
File “/home/admin/ocp-init/src/ocp-init/common.py”, line 77, in run_sql_no_result
run_sql(sql, db_config, True)
File “/home/admin/ocp-init/src/ocp-init/common.py”, line 59, in run_sql
database=db_config[‘database’], autocommit=True, pool_name=pool_name, pool_size=pool_size, pool_reset_session=False)
File “/usr/lib64/python2.7/site-packages/mysql/connector/init.py”, line 162, in connect
return _get_pooled_connection(**kwargs)
File “/usr/lib64/python2.7/site-packages/mysql/connector/init.py”, line 73, in _get_pooled_connection
_CONNECTION_POOLS[pool_name] = MySQLConnectionPool(**kwargs)
File “/usr/lib64/python2.7/site-packages/mysql/connector/pooling.py”, line 165, in init
self.add_connection()
File “/usr/lib64/python2.7/site-packages/mysql/connector/pooling.py”, line 278, in add_connection
cnx = MySQLConnection(**self._cnx_config)
File “/usr/lib64/python2.7/site-packages/mysql/connector/connection.py”, line 104, in init
self.connect(**kwargs)
File “/usr/lib64/python2.7/site-packages/mysql/connector/abstracts.py”, line 781, in connect
self._open_connection()
File “/usr/lib64/python2.7/site-packages/mysql/connector/connection.py”, line 288, in _open_connection
self._ssl, self._conn_attrs)
File “/usr/lib64/python2.7/site-packages/mysql/connector/connection.py”, line 208, in _do_auth
self._auth_switch_request(username, password)
File “/usr/lib64/python2.7/site-packages/mysql/connector/connection.py”, line 252, in _auth_switch_request
raise errors.get_exception(packet)
mysql.connector.errors.DatabaseError: 4012 (HY000): Get Location Cache Fail

【附件】
4.0ocp.yaml.txt (3.7 KB)

用户自建的metadb未创建meta_user用户,导致连接不上数据库导致。

可以问一下 怎么处理的吗 小白都看不懂原因

大神,救救我,我使用的界面安装,在装OCP 的时候也遇到报”Get Location Cache Fail “,产品安装文档也没写自己要创建租户,要怎么处理啊?

如果使用已有的ob当metadb,是需要提前创建好2个ocp所需的租户的。这个是3.x版本创建ocp租户的过程, https://www.oceanbase.com/docs/community-ocp-cn-10000000000012378
4.x文档暂时还没加上,可以参看4.x创建租户的语法对照上面的过程创建上租户即可。https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000033498

如果资源充足,可以使用ocp白屏部署,选择创建个单独ob当metadb,这样比较简单。