You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 Mac运行AsterixDB加载数据集报HYR0010节点不存在错误问询

M1芯片Mac搭建AsterixDB集群加载CSV文件报错排查

问题现状

在搭载M1芯片的Mac设备上搭建AsterixDB示例集群,集群可正常启动,以下SQL语句可成功执行:

drop dataverse csv if exists;
create dataverse csv;
use csv;

create type csv_type as {
    lat: int32,
    long: int32
};

create dataset csv_set (csv_type)
  primary key lat;

执行CSV加载操作时集群抛出异常,错误信息如下:

Error Code: 1 "HYR0010: Node asterix_nc2 does not exist"

触发报错的加载语句:

use csv;

load dataset csv_set using localfs
    (("path"="127.0.0.1:///Users/nicholassantini/Downloads/test.csv"),
     ("format"="delimited-text"));

目前已尝试切换Java 18最新版、Java 17.0.3运行环境,调整多个查询端口,问题仍未解决。运行日志提示节点连接失败,暂无法判定故障来自端口配置还是节点本身。待加载CSV为简单2列2行文件,所有字段值均为个位数整数。

排查解决思路

  • 先校验集群实际存活节点:集群启动后执行select * from Metadata.Node;查询元数据,确认返回结果中是否存在asterix_nc2节点。如果不存在,说明该NC(Node Controller)进程根本没启动成功,M1架构下如果使用x86架构的AsterixDB二进制包,Rosetta转译兼容问题很容易导致部分NC进程启动失败,优先更换aarch64适配版本的安装包,或者直接修改集群配置为单NC模式,删除多余的asterix_nc2配置项,避免调度不存在的节点。
  • 修正本地文件路径写法:使用localfs加载本地文件时,不需要写127.0.0.1://前缀,错误的URI格式会让AsterixDB的CC(Cluster Controller)误以为要从远端节点拉取文件,触发跨节点调度逻辑去找不存在的NC。可先将路径修改为("path"="localhost:///Users/nicholassantini/Downloads/test.csv")重试,部分版本直接写绝对路径也可正常识别。
  • 检查文件权限:确认启动AsterixDB的用户对目标路径下的test.csv有读权限,权限校验失败时部分版本会抛出节点不存在的误导性报错,可先将CSV文件移动到AsterixDB安装目录下的非权限受限路径再尝试加载。
  • 验证配置一致性:检查conf目录下的集群配置文件,确认配置中声明的NC节点数量、IP、端口和实际启动的NC进程一一对应,默认示例集群如果是多节点配置,本地调试时经常出现端口被占用导致部分NC启动失败、配置和实际运行节点不匹配的问题。

内容的提问来源于stack exchange,提问作者Nick S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 22:51:19