oblader旁路导入错误

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

/data/backup/ob-loader-dumper-4.3.2-RELEASE/bin/obloader -h 10.11.14.11 -P 2883 -u root -t sys -c zhejiang -p -D cms --csv --table ‘*’ -f /tmp/20241125old/data/cms --thread 16 --rpc-port=2882 --direct --parallel=16

2024-11-28 11:08:00 [INFO] Direct load method for Table: ‘cms_hello’ is ‘full’
2024-11-28 11:08:00,598 main WARN No Root logger was configured, creating default ERROR-level Root logger with Console appender
2024-11-28 11:08:00 [ERROR] Cannot establish connection to server. Table: cms_hello. Reason: com.alipay.oceanbase.rpc.exception.ObTableServerConnectException: login failed after max 3 tries server [10.103.14.25:2882]
2024-11-28 11:08:00 [ERROR] Load failed! Error: [-5035][OB_ERR_USER_NOT_EXIST][User not exist][10.103.14.25:2882][Y12AA40A670E19-0000000000000003]

1 个赞

根据您提供的错误信息,错误码为 -5035,对应的错误原因是“用户不存在”。这与文档片段 2 和文档片段 4 中提到的错误信息一致。以下是具体的解决步骤:

解决步骤

  1. 确认用户名是否正确

    • 请检查您使用的用户名 root 是否正确。您可以登录到 OceanBase 数据库,执行以下 SQL 语句来查看现有的用户列表:
      SELECT user_name FROM oceanbase.__all_user;
      
  2. 创建用户(如果用户不存在)

    • 如果您确认用户名 root 不存在,可以创建该用户。例如,创建一个名为 root 的用户,并授予相应的权限:
      CREATE USER 'root'@'%' IDENTIFIED BY 'your_password';
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
      FLUSH PRIVILEGES;
      
  3. 使用其他有效用户进行操作

    • 如果您不想创建新的用户,可以使用其他已存在的用户进行操作。请确保该用户具有足够的权限来执行导入操作。

具体操作示例

假设您决定创建一个名为 root 的用户,并授予其所有权限,具体操作如下:

  1. 登录到 OceanBase 数据库

    obclient -h10.11.14.11 -P2883 -uroot -p
    
  2. 创建用户并授予权限

    CREATE USER 'root'@'%' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
    FLUSH PRIVILEGES;
    
  3. 重新运行 obloader 导入命令

    /data/backup/ob-loader-dumper-4.3.2-RELEASE/bin/obloader -h 10.11.14.11 -P 2883 -u root -t sys -c zhejiang -p -D cms  --csv --table '*' -f /tmp/20241125old/data/cms --thread 16 --rpc-port=2882 --direct --parallel=16
    

注意事项

  • 确保您使用的密码 your_password 是安全的,并且符合您的安全策略。
  • 如果您在创建用户或授予权限时遇到任何问题,请参考 OceanBase 的官方文档或联系技术支持人员。

希望以上步骤能帮助您解决问题。如果问题仍然存在,请提供更多详细的日志信息以便进一步诊断。

检索到的文档如下:

  1. 5000 ~ 5999
  2. 0001 ~ 3999
  3. 9000 ~ 9499
  4. 4500 ~ 4999
  5. 4000 ~ 4499

如果你是走的ODP方式,应该是rpc port不对,参考下

你好,如果是选择-P 2883端口进行旁路导入,需要改为 rpc-port 2885
不走obproxy代理的话,rpc端口需要改为 --rpc-port 2882

1 个赞

这个问题解决了吗