首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Riak kv SearchOperation NoNodesAvailableException

Riak kv SearchOperation NoNodesAvailableException
EN

Stack Overflow用户
提问于 2021-02-07 11:29:45
回答 1查看 54关注 0票数 1

我得到了这个代码的不可用的例外情况:

代码语言:javascript
复制
String query = "{\"phone\":\"111\"}";
User user = new User("222",null,null);

SearchOperation searchOp = new SearchOperation.Builder(BinaryValue.create(INDEX),jsonUtils.covertFromObjectToJson(user)).build();

RiakCluster cluster = RiakClient.newClient(8087, "127.0.0.1").getRiakCluster();

RiakFuture<com.basho.riak.client.core.operations.SearchOperation.Response,BinaryValue> riakFuture = cluster.execute(searchOp);

com.basho.riak.client.core.operations.SearchOperation.Response response = searchOp.get(); //Getting error in this line.

String queryString = searchOp.getQueryInfo().toString();
EN

回答 1

Stack Overflow用户

发布于 2022-01-07 05:05:59

虽然这是一个暗箱操作,但NoNodesAvailableException似乎暗示您的错误是客户端的,并且由于没有可用的节点,它正在抛出一个异常。

恐怕我在解决Riak的客户端故障方面没有什么经验,但是我可以告诉您在这种情况下我会做什么。

  1. Check Riak实际上已经存在并正在运行。转到您的Riak框并执行riak ping,看看它是否返回pong以确认它在那里。如果是这样的话,运行riak_kv is up
  2. Check并等待它确认您可以从客户端计算机到达Riak。基于上面的查询,您应该能够运行install.
  3. Troubleshoot并让它返回关于您的Riak curl -v http://127.0.0.1:8098/stats -H "Accept: text/plain"查询的状态列表。请记住,您可以从客户端进行的几乎每一个查询都可以使用curl进行。有关一组与搜索相关的示例,请参见https://www.tiot.jp/riak-docs/riak/kv/2.9.0p5/developing/usage/search/,以便开始。一旦您确认您的查询在curl中有效,那么您就可以仔细查看您在这里发布的查询,看看它是否与您的curl查询匹配,如果不匹配,则进行相应的调整。

根据你在出问题前完成上述3点列表的程度,你应该能够找到问题的来源,并把你的精力集中在这个问题上,或者通过在这里发布一个新的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66087387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档