部署常见问题
本页列举了部署 StarRocks 时可能会遇到的常见问题及潜在解决方案。
如何在配置文件 fe.conf 中 priority_networks
参数下配置固定 IP?
问题描述
假设当前节点有两个 IP 地址:192.168.108.23
和 192.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 节点 webserver_port
端口被占用导致。您需要修改 BE 配置文件 be.conf 中的 webserver_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'@'%';
为 BE 节点增加磁盘空间后,数据存储无法均衡负载且报错 “Failed to get scan range, no queryable replica found in tablet: xxxxx”。我该如何解决?
问题描述
该错误可能发生在往主键模型表 (Primary Key) 导入数据时,BE 节点磁盘空间不足,导致 BE Crash。扩容磁盘后,由于 PK 表目前还不支持 BE 内部磁盘间的均衡,数据存储无法负载均衡。
解决方案:
该问题(PK 表不支持 BE 内磁盘 间均衡)目前仍在修复当中,您可以通过以下两种方式解决:
- 手动均衡数据存储负载,比如通过把使用率高的磁盘上的数据目录 copy 到一个磁盘空间更大的目录。
- 如果当前磁盘中的数据非重要数据,建议您直接删除掉磁盘并修改相应磁盘路径。如果系统继续报错,您需要通过
TRUNCATE TABLE
命令清除当前表中的数据。
重启集群时,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 节点至集群。