be 节点宕机后不能启动

【详述】问题详细描述
【背景】做过哪些操作?
【业务影响】
【StarRocks版本】2.5
【集群规模】单机
【机器信息】8c/32/万兆
【联系方式】gongweibiao1986815@126.com
【附件】

  • fe.log/beINFO/相应截图
  • 慢查询:
    • Profile信息
    • 并行度:show variables like ‘%parallel_fragment_exec_instance_num%’;
    • pipeline是否开启:show variables like ‘%pipeline%’;
    • be节点cpu和内存使用率截图
  • 查询报错:
  • be crash
    query_id:00000000-0000-0000-0000-000000000000, fragment_instance:00000000-0000-0000-0000-000000000000
    *** Aborted at 1673246592 (unix time) try “date -d @1673246592” if you are using GNU date ***
    PC: @ 0x4ab69a4 bitset_container_from_array
    *** SIGILL (@0x4ab69a4) received by PID 9331 (TID 0x7f72ef254700) from PID 78342564; stack trace: ***
    @ 0x4659ee2 google::(anonymous namespace)::FailureSignalHandler()
    @ 0x7f7309f71630 (unknown)
    @ 0x4ab69a4 bitset_container_from_array
    @ 0x4a9cc9d roaring_bitmap_add_many
    @ 0x2fdd52e starrocks::DelVector::_add_dels()
    @ 0x2fddcdc starrocks::DelVector::add_dels_as_new_version()
    @ 0x2e5544c starrocks::TabletUpdates::_apply_rowset_commit()
    @ 0x2e57482 starrocks::TabletUpdates::do_apply()
    @ 0x362cab5 starrocks::ThreadPool::dispatch_thread()
    @ 0x3627efa starrocks::thread::supervise_thread()
    @ 0x7f7309f69ea5 start_thread
    @ 0x7f7309584b0d __clone
    @ 0x0 (unknown)

怀疑你是集群时间不同步问题,定时同步所有节点的时间

至少保留三个正常be节点,让be集群可以正常工作,满足这个条件的话同步好时间后就可以删掉有问题的be节点,重新加入集群。 如果只有三个节点的话可能就麻烦了

不是集群,一个测试环境,在同一台机器上部署的fe和be,都是单节点的

报出以上错误后,重启be节点失败,清楚所有元数据后重启成功

机器支持AVX2指令集吗?

机器不支持AVX2指令集导致的,换机器,或是自己关闭AVX2,自己手动编译一个

cat /proc/cpuinfo |grep avx2

请问如何关闭AVX2呢? 我已经修改build.sh文件把USE_AVX2的值修改为OFF了,在编译时打出的信息也能看到AVX2显示的是OFF


但是在向StarRocks中插入数据并查询时过段时间BE仍然会挂掉,具体报错如下:

是我修改的配置不对吗?

这个编译thirdpart也要重新编译,这个是用docker编译的吧

大佬,有没有详细教程,cpu不支持AVX2,准备重新编译。官方文档的docker镜像还删掉了 starrocks/dev-env:main

发一下 cat /proc/cpuinfo, 看看是不是还有指令不支持

用starrocks/dev-env-centos7:latest, 参考文档https://docs.starrocks.io/en-us/main/developers/build-starrocks/Build_in_docker