跳到主要内容
版本:Stable-3.5

部署常见问题

本页列举了部署 StarRocks 时可能会遇到的常见问题及潜在解决方案。

如何在配置文件 fe.confpriority_networks 参数下配置固定 IP?

问题描述

假设当前节点有两个 IP 地址:192.168.108.23192.168.108.43

  • 如果您将 priority_networks 设定为 192.168.108.23/24,StarRocks 会将该地址识别为 192.168.108.43
  • 如果您将 priority_networks 设定为 192.168.108.23/32,启动后 StarRocks 会出错,并将该地址识别为 127.0.0.1

解决方案

以上问题有以下两种解决方案:

  • 删去 CIDR 后缀 32 或者将其改为 28
  • 将 StarRocks 升级至 2.1 或更新版本。

安装 BE 节点后启动失败,并返回错误 "StarRocks BE http service did not start correctly, exiting"。我该如何解决?

如果在安装 BE 后启动报错 StarRocks Be http service did not start correctly,exiting,该问题是 BE 节点 be_http_port 端口被占用导致。您需要修改 BE 配置文件 be.conf 中的 be_http_port 配置项并重启 BE 服务使配置生效。如果多次修改为未被占用的端口,系统仍然重复报错,您需要检查节点是否装有 Yarn 等程序,确认监听端口选择修改监听规则,或者 BE 的端口选取范围绕过。

StarRocks 是否支持动态修改 FE、BE 配置项?

部分 FE 和 BE 节点的配置项支持动态修改。具体操作参考 配置参数

  • 动态修改 FE 节点配置项:

    • 使用 SQL 方式动态修改:

      ADMIN SET FRONTEND CONFIG ("key" = "value");

      示例:

      --示例:
      ADMIN SET FRONTEND CONFIG ("enable_statistic_collect" = "false");
    • 使用命令行方式动态修改:

      curl --location-trusted -u username:password \
      'http://<ip>:<fe_http_port>/api/_set_config?key=value'

      示例:

      curl --location-trusted -u <username>:<password> \
      'http://192.168.110.101:8030/api/_set_config?enable_statistic_collect=true'
  • 动态修改 BE 节点配置项:

    • 使用命令行方式动态修改:

      curl -XPOST -u username:password \
      'http://<ip>:<be_http_port>/api/update_config?key=value'

注意

使用以上方式修改参数时,请确保当前用户拥有远程登录权限。

以下示例创建了用户 test 并赋予其相应权限。

CREATE USER 'test'@'%' IDENTIFIED BY '123456';
GRANT SELECT_PRIV ON . TO 'test'@'%';

重启集群时,FE 启动失败并报错 “Fe type:unknown ,is ready :false”。我该如何解决?

请确认 Leader FE 节点是否已启动。如果未启动,请尝试逐台重启集群中的 FE 节点。

安装集群时报错 “failed to get service info err”。我该如何解决?

请检查当前机器是否开启了 OpenSSH Daemon(SSHD)。

您可以通过以下命令查看 SSHD 状态。

/etc/init.d/sshd status

BE 启动失败并报错 “Fail to get master client from cache. host= port=0 code=THRIFT_RPC_ERROR“。我该如何解决?

请通过以下命令检查 be.conf 中指定的端口是否被占用。

netstat  -anp  |grep  port

如果被占用,请更换其他空闲端口后重启。

通过 StarRocks Manager 升级集群时报错 “Failed to transport upgrade files to agent host. src:…”。我该如何解决?

以上错误由部署路径的磁盘空间不足所导致。在升级集群时,StarRocks Manager 会将新版本的二进制文件分发至各个节点,若部署目录的磁盘空间不足,则文件无法被分发,出现上述报错。

请检查对应的磁盘的存储空间。如存储空间不足,请扩展相应磁盘空间。

新扩容节点的 FE 状态正常,但是在 StarRocks Manager 的 诊断 页面下,该 FE 节点日志展示报错 “Failed to search log“。我该如何解决?

默认设置下,StarRocks Manager 会在 30 秒内去获取新部署 FE 节点路径配置。如果当前 FE 节点启动较慢或由于其他原因导致 30 秒内未响应就会出现上述问题。请通过 /starrocks-manager-xxx/center/log/webcenter/log/web/drms.INFO 路径检查 StarRocks Manager Web 日志,检索日志中是否含有 “Failed to update fe configurations” 报错。若有,请重启对应的 FE 服务,StarRocks Manager 会重新获取路径配置。

启动 FE 失败并报错 “exceeds max permissable delta:5000ms”。我该如何解决?

以上错误由于集群内不同机器的时差超过 5 秒导致。您需要通过校准机器时间解决该问题。

如果 BE 节点有多块磁盘做存储,如何设置 storage_root_path 配置项?

该配置项位于 BE 配置文件 be.conf 中。您可以使用 ; 分隔多个磁盘路径。

添加新的 FE 节点至集群后报错 “invalid cluster id: xxxxxxxx”。我该如何解决?

以上错误是由于第一次启动集群时未使用 --helper 选项添加该 FE 节点,从而导致不同节点的元数据不一致。您需要将相应目录下的所有元数据清空,并通过 --helper 选项重新添加该 FE 节点至集群。

当前 FE 节点已经启动,且状态为 transfer:follower,但是调用 show frontends 命令返回 isAlive 状态为 false。我该如何解决?

以上问题是由于超过半数的 Java Virtual Machine(JVM)内存被使用且未标记 checkpoint。通常情况下,每积累 50,000 条日志,系统便会标记一个 checkpoint。建议您在业务低峰期修改各 FE 节点的 JVM 参数并重启 FE 使修改生效。

查询报错 “could not initialize class com.starrocks.rpc.BackendServiceProxy”。我该如何解决?

  • 请确认环境变量 $JAVA_HOME 是否为正确的 JDK 路径。
  • 请确认所有节点的 JDK 是否是同一个版本,所有节点需要使用相同版本的 JDK。

安装 StarRocks 对 MySQL 版本有什么要求?

建议使用 MySQL 5.7 或更高版本连接到 StarRocks。

如果 FE 和 BE 部署在同一台机器上,我如何将它们分开?

建议先扩展一个 BE 节点。集群完成平衡后,您可以缩减原始 BE 节点。

当 FE 启动失败并出现错误 “Replica exceeds max permissible delta:5000ms” 时,我该怎么办?

FE 节点之间的时钟不同步。FE 节点之间的时间差必须小于 5 秒。

如果我在生产环境中有五台物理机器,推荐的 StarRocks 部署是什么?

推荐的部署是 3 个 FE 节点和 5 个 BE 节点。

我应该使用 root 用户安装 StarRocks 吗?

不建议使用 root 用户,因为它具有过多的权限。请创建一个专用用户来安装 StarRocks。

我可以在任何机器上安装 MySQL 客户端吗?

可以。它只是一个客户端工具,不需要在与 StarRocks 相同的机器上运行。确保 MySQL 客户端可以访问集群。

BE 节点上的 tablet 数量有限制吗?例如,对于一台具有 64 GB RAM 和 16 核的服务器,合理的 tablet 数量范围是多少?

tablet 数量没有严格限制。然而,对于 tablet 大小,建议保持每个 tablet 大约 1 GB。适当的分区和分桶策略将有助于提高查询性能。tablet 大小规划很重要。

启动 BE 时,我看到错误 “error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory”。在手动创建目录 lib/starrocks_be 后,我收到权限被拒绝的错误。我该怎么办?

JDK 安装存在问题。请重新安装并正确配置您的 JDK 环境。

StarRocks 支持在 AMD AVX2 上运行吗?混合使用 Intel 和 AMD 服务器会导致问题吗?

StarRocks 可以在 AMD 上运行。不建议混合使用 Intel 和 AMD 服务器,因为硬件异构性可能会导致问题。建议在迁移之前充分测试 StarRocks 在 AMD 上的运行情况。

Rocky the happy otterStarRocks Assistant

AI generated answers are based on docs and other sources. Please test answers in non-production environments.