2.0 java客户端 metaClient异常

  • nebula 版本:2.0.0-GA
  • 部署方式(分布式 / 单机 / Docker / DBaaS):分布式
  • 是否为线上版本:是
  • 硬件信息
    • 磁盘( 推荐使用 SSD) 阿里云ECS 普通云盘
    • CPU、内存信息 阿里云ECS 三节点验证集群
  • 问题的具体描述
  • 相关的 meta / storage / graph info 日志信息
List<HostAddress> metaHostsList = new ArrayList<>();
            metaHostsList.add( new HostAddress("172.20.216.157",44500));
            metaHostsList.add( new HostAddress("172.20.216.158",44500));
            metaHostsList.add( new HostAddress("172.20.216.159",44500));
            metaClient = new MetaClient(metaHostsList);
            metaClient.connect();

            //check space
            List<IdName> idNameList =  metaClient.getSpaces();
            for (IdName idName : idNameList){
                logger.info(idName.toString());
            }

            //check space
            SpaceItem spaceItem = metaClient.getSpace("my_space_test_v2");
            logger.info(spaceItem.toString());

错误信息

com.facebook.thrift.TApplicationException: Method name listSpaces not found
	at com.facebook.thrift.TApplicationException.read(TApplicationException.java:130)
	at com.vesoft.nebula.meta.MetaService$Client.recv_listSpaces(MetaService.java:562)
	at com.vesoft.nebula.meta.MetaService$Client.listSpaces(MetaService.java:537)
	at com.vesoft.nebula.client.meta.MetaClient.getSpaces(MetaClient.java:118)
	at com.alibaba.datax.plugin.writer.nebulagraph.test.TestMain.main(TestMain.java:42)

你的客户端用的也是2.0ga的release吗?看着是版本不匹配导致的

端口号不对吧,44500是nebula1.0的storaged服务的默认端口号。 2.0版本的nebula metad 默认端口号是9559。
你可以在{NEBULA_HOME}/script目录下执行 nebula.service status metad 查看metad服务的端口号。