Riak Yokuzuna模式上传,创建索引和搜索查询总是导致错误60,56,27


public class RiakSearch {
public static final String RIAK_SERVER = "10.11.172.17";
private static RiakCluster setUpCluster() throws UnknownHostException {
    // This example will use only one node listening on localhost:10017
    RiakNode node = new RiakNode.Builder()
            .withRemoteAddress("10.11.172.17")
            .withAuth("administrator", "password@123", null).build();
    // This cluster object takes our one node as an argument
    RiakCluster cluster = new RiakCluster.Builder(node).build();
    // The cluster must be started to work, otherwise you will see errors
    cluster.start();
    return cluster;
}
public void uploadSchema() {
    try {
        RiakCluster cluster = setUpCluster();
        RiakClient client = new RiakClient(cluster);
        System.out.println("Client object successfully created");
        File xml = new File("blog_post_schema.xml");
        String xmlString = FileUtils.readFileToString(xml);
        YokozunaSchema schema = new YokozunaSchema("blog_post_schema",
                xmlString);
        StoreSchema storeSchemaOp = new StoreSchema.Builder(schema).build();
        client.execute(storeSchemaOp);
    } catch (UnknownHostException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ExecutionException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
public static void main(String[] args) {
    // TODO Auto-generated method stub
    RiakSearch obj = new RiakSearch();
    obj.uploadSchema();
}
}

java . util . concurrent。ExecutionException: com. basho.riak.client.core.nety.riakresponseexception:未知消息码:56com.basho.riak.client.core.FutureOperation.get (FutureOperation.java: 260)com.basho.riak.client.api.commands.CoreFutureAdapter.get (CoreFutureAdapter.java: 52)com.basho.riak.client.api.RiakCommand.execute (RiakCommand.java: 89)com.basho.riak.client.api.RiakClient.execute (RiakClient.java: 293)com.search.RiakSearch.main (RiakSearch.java: 64)产生原因:com. basho.riak.client.core.nety.riakresponseexception: Unknown message code: 56com.basho.riak.client.core.netty.RiakResponseHandler.channelRead (RiakResponseHandler.java: 52)io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow (ChannelHandlerInvokerUtil.java: 84)io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead (DefaultChannelHandlerInvoker.java: 153)io.netty.channel.PausableChannelEventExecutor.invokeChannelRead (PausableChannelEventExecutor.java: 86)io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext.java: 389)io.netty.handler.codec.ByteToMessageDecoder.channelRead (ByteToMessageDecoder.java: 243)io.netty.handler.codec.ByteToMessageCodec.channelRead (ByteToMessageCodec.java: 103)io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow (ChannelHandlerInvokerUtil.java: 84)io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead (DefaultChannelHandlerInvoker.java: 153)io.netty.channel.PausableChannelEventExecutor.invokeChannelRead (PausableChannelEventExecutor.java: 86)io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext.java: 389)io.netty.channel.DefaultChannelPipeline.fireChannelRead (DefaultChannelPipeline.java: 956)io.netty.channel.nio.AbstractNioByteChannel NioByteUnsafe.read美元(AbstractNioByteChannel.java: 127)io.netty.channel.nio.NioEventLoop.processSelectedKey (NioEventLoop.java: 514)io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized (NioEventLoop.java: 471)io.netty.channel.nio.NioEventLoop.processSelectedKeys (NioEventLoop.java: 385)io.netty.channel.nio.NioEventLoop.run (NioEventLoop.java: 351)在io.netty.util.concurrent.SingleThreadEventExecutor 2.美元运行(SingleThreadEventExecutor.java: 116)io.netty.util.internal.chmv8.ForkJoinTask RunnableExecuteAction.exec美元(ForkJoinTask.java: 1412)io.netty.util.internal.chmv8.ForkJoinTask.doExec (ForkJoinTask.java: 280)io.netty.util.internal.chmv8.ForkJoinPool WorkQueue.runTask美元(ForkJoinPool.java: 877)io.netty.util.internal.chmv8.ForkJoinPool.scan (ForkJoinPool.java: 1706)io.netty.util.internal.chmv8.ForkJoinPool.runWorker (ForkJoinPool.java: 1661)io.netty.util.internal.chmv8.ForkJoinWorkerThread.run (ForkJoinWorkerThread.java: 126)

确保Solr实际上已经启动。默认情况下,Riak 2.x中禁用了搜索功能。需要将/etc/riak/riak.conf文件中的search属性修改为on。然后重新启动Riak

我也有类似的问题RiakError: 'Unknown message code: 56'

我通过改变'riak.conf'文件中的搜索参数来解决它这里是文件的位置,如果你使用mac并通过brew

安装

/usr/local/Cellar/riak/2.2.2/libexec/etc/riak.conf

下面是我从off改为on的代码行

## To enable Search set this 'on'.
## 
## Default: off
## 
## Acceptable values:
##   - on or off
search = on

我发现文档解释有点棘手,但或多或少它是解决问题的参考

最新更新