暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

0065.O OCP创建OceanBase集群报错Do IO Bench处理记录

rundba 2021-07-06
1630

使用OCP创建OceanBase集群时,可能会出现各种异常,可参考文中步骤2方式进行排查,解决。

0.Env

  • CentOS7.8;

  • oceanbase-2.2.75-20210108170301;

  • ocp-all-in-one25-20210105。

1. 问题描述

1) 通过OCP创建cluster过程“Do IO Bench”报错

2) 报错截图

3) 日志摘要

    2021-07-04 15:33:06.358  INFO 52 --- [         task-3,c678268d009d4966,4937e6e63375] c.a.o.c.metadb.task.TaskInstanceEntity   : task 21361 run with context Context(parallelIdx=0, stringMap={cluster_version=2.2.75, cluster_name=OB_cluster1, startup_option_string=memory_limit=15G,system_memory=15G,cpu_count=32,__min_full_resource_pool_memory=2147483648,cache_wash_threshold=2GB,net_thread_count=8,workers_per_cpu_quota=4,stack_size=512K, service_name=OB_cluster1:2, target_operate_status=NORMAL, ob_connect_address=192.168.80.105, zone3.idc=YT, cluster_type=PRIMARY, ob_cluster_id=2, link_obproxy=false, zone1.idc=WY, primary_zone=zone1, sql_port=2881, service_type=OB_CLUSTER, cluster_id=3, rpm_name=oceanbase-2.2.75-20210108170301.el7.x86_64.rpm, target_cluster_status=RUNNING, zone2.idc=YT}, listMap={root_servers=[5, 6, 7], root_server_ips=[192.168.80.105, 192.168.80.106, 192.168.80.107], zone2.servers=[6], zone3.servers=[7], host_ids=[5, 6, 7], zone1.servers=[5], zone_names=[zone1, zone2, zone3]})
    2021-07-04 15:33:06.362  INFO 52 --- [         task-3,c678268d009d4966,4937e6e63375] c.a.o.c.metadb.task.TaskInstanceEntity   : executor node ip:192.168.80.104
    2021-07-04 15:33:06.378  INFO 52 --- [         task-3,c678268d009d4966,4937e6e63375] c.a.ocp.core.task.util.OcpAgentUtils     : [OcpAgentUtils.runCmd] svrIp=192.168.80.105, port=62888, user=admin, cmd=/home/admin/oceanbase/bin/ob_admin io_bench -c /home/admin/oceanbase/etc -d /data/1/OB_cluster1
    2021-07-04 16:03:01.482 ERROR 52 --- [         task-3,c678268d009d4966,4937e6e63375] c.a.ocp.core.task.util.OcpAgentUtils     : got IO exception while do rpc call, message=rpc call failed, recv response is null, may read timeout
    2021-07-04 16:03:01.498 ERROR 52 --- [         task-3,c678268d009d4966,4937e6e63375] c.a.o.core.task.manager.TaskManagerImpl  : got exception while execute task:

    com.alipay.ocp.core.exception.UnexpectedException: [OCP UnexpectedException]: status=500 INTERNAL_SERVER_ERROR, errorCode=COMMON_RPC_IO_FAILED, args=192.168.80.105,62888
    at com.alipay.ocp.core.task.util.OcpAgentUtils.callPosMethod(OcpAgentUtils.java:131) ~[ocp-core-2.5.0-20210105.jar!/:2.5.0-20210105]
    at com.alipay.ocp.core.task.util.OcpAgentUtils.runCmd(OcpAgentUtils.java:50) ~[ocp-core-2.5.0-20210105.jar!/:2.5.0-20210105]
    at com.alipay.ocp.service.compute.host.HostManager.executeRpcCommand(HostManager.java:82) ~[ocp-service-2.5.0-20210105.jar!/:2.5.0-20210105]
    at com.alipay.ocp.service.task.business.cluster.IoBenchTask.run(IoBenchTask.java:44) ~[ocp-service-2.5.0-20210105.jar!/:2.5.0-20210105]
    at com.alipay.ocp.core.metadb.task.TaskInstanceEntity.run(TaskInstanceEntity.java:192) ~[ocp-core-2.5.0-20210105.jar!/:2.5.0-20210105]
    at com.alipay.ocp.core.task.manager.TaskManagerImpl.lambda$null$1(TaskManagerImpl.java:177) ~[ocp-core-2.5.0-20210105.jar!/:2.5.0-20210105]
    at com.alipay.ocp.core.task.manager.TaskManagerImpl.redirectOutputIfNotSysSchedule(TaskManagerImpl.java:221) ~[ocp-core-2.5.0-20210105.jar!/:2.5.0-20210105]
    at com.alipay.ocp.core.task.manager.TaskManagerImpl.lambda$executeTask$2(TaskManagerImpl.java:149) ~[ocp-core-2.5.0-20210105.jar!/:2.5.0-20210105]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_152]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_152]
    at com.alipay.ocp.core.thread.TraceDecorator.lambda$decorate$0(TraceDecorator.java:28) ~[ocp-core-2.5.0-20210105.jar!/:2.5.0-20210105]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) ~[na:1.8.0_152]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627) ~[na:1.8.0_152]
    at java.lang.Thread.run(Thread.java:882) ~[na:1.8.0_152]
    Caused by: java.io.IOException:
    rpc call failed, recv response is null, may read timeout
    at com.alipay.ocp.common.rpc.ZeroRpcClient.receiveResponse(ZeroRpcClient.java:135) ~[ocp-common-2.5.0-20210105.jar!/:2.5.0-20210105]
    at com.alipay.ocp.common.rpc.ZeroRpcClient.invoke(ZeroRpcClient.java:148) ~[ocp-common-2.5.0-20210105.jar!/:2.5.0-20210105]
    at com.alipay.ocp.core.task.util.OcpAgentUtils.executePosMethod(OcpAgentUtils.java:250) ~[ocp-core-2.5.0-20210105.jar!/:2.5.0-20210105]
    at com.alipay.ocp.core.task.util.OcpAgentUtils.callPosMethod(OcpAgentUtils.java:128) ~[ocp-core-2.5.0-20210105.jar!/:2.5.0-20210105]
    ... 13 common frames omitted
    2021-07-04 16:03:01.506  INFO 52 --- [         task-3,c678268d009d4966,4937e6e63375] c.a.o.c.metadb.task.TaskInstanceEntity   : set state failed for task: 21361

    注:对日志未进行详细分析

    2. 问题解决过程

    如果 OB 部署出现一些基础问题, 可以采用以下的步骤:

    • OCP上放弃创建集群的任务

    • OCP上删除主机

    • 黑屏登录OB服务器,调整基础的配置, 然后删除/data/1, data/log1, home/admin下面残存的安装遗留文件(rm -rf )

    • 重启一下OB服务器。(切莫忘记 NTP 时钟同步,重启完成后记得 service ntpd start, 以及 ntpstat, ntpq - np 等命令检查时钟)

    • 从新在 OCP 白屏上添加主机、创建集群等

    步骤成功:

    集群创建成功:

    3. Do IO Bench其它解决方法参考

    这一步是调用的命令是:

      /home/admin/oceanbase/bin/ob_admin io_bench -c /home/admin/oceanbase/etc -d /data/1/obdemo user:root

            主要是测试 数据盘io 性能,在/home/admin/oceanbase/etc 下生成一个 io性能报告文件io_resource.conf。

            命令请求应该发出去了,在ob节点上 ps -ef|grep ob_admin 就能看到。如果有这个进程或者这个文件,OCP里这一步失败了可以跳过。

      如果没有,也可以跳过或者重跑。 

      事后自己再跑这个命令也可以,不影响集群安装。

        [admin@a126 etc]$ cat io_resource.conf
        version 1
        io_type io_size_byte io_ps io_rt_us0 4096 266559.00 108.500 8192 208342.75 117.440 16384 193846.50 133.150 32768 107410.25 181.810 65536 54033.75 269.450 131072 27165.00 370.930 262144 13583.25 505.110 524288 6797.50 645.431 2097152 1469.75 1123.87
        submit_thread_cnt 32
        getevent_thread_cnt 32



        4. 小结


              本文介绍OCP创建OceanBase集群时,“Do IO Bench”步骤失败,通过处理过程进行概述,一般来说,通过检验前期预检查、磁盘挂载,采用步骤2的方式进行重建,即可解决,也可以参考步骤3进行尝试。




        文章转载自rundba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论