我得到了这个代码的不可用的例外情况:
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();发布于 2022-01-07 05:05:59
虽然这是一个暗箱操作,但NoNodesAvailableException似乎暗示您的错误是客户端的,并且由于没有可用的节点,它正在抛出一个异常。
恐怕我在解决Riak的客户端故障方面没有什么经验,但是我可以告诉您在这种情况下我会做什么。
riak ping,看看它是否返回pong以确认它在那里。如果是这样的话,运行riak_kv is upcurl -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点列表的程度,你应该能够找到问题的来源,并把你的精力集中在这个问题上,或者通过在这里发布一个新的问题。
https://stackoverflow.com/questions/66087387
复制相似问题