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.netty.RiakResponseException: неизвестный код сообщения: 56 на com.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) at com.search.RiakSearch.main(RiakSearch.java:64) Причина: com.basho.riak.client.core.netty.RiakResponseException: неизвестный код сообщения: 56 по адресу com.basho.riak.client.core.netty.RiakResponseHandler.channelRead(RiakResponseHandler.java:52) по адресу io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtilnel.Hanler.chanoCh): (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.odeessooMoToToCodeCode.Code.Co.TeCToCo.Tec.CateCate.CateCate.Core.Core.Core.Core.Core.Core.Core.Core.Core.Core.Core.dll).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.channelyhannioteNio.Nefe 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).util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) в io.netty.util.internal.chmv8.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1412) в io.netty.til.ForkJoinTask.doExec(ForkJoinTask.java:280) в io.netty.util.internal.chmv8.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:877) в io.netty.util.internal.choPool Java:1706) на io.netty.util.internal.chmv8.ForkJoinPool.runWorker(ForkJoinPool.java:1661) на io.netty.util.internal.chmv8.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:12
2 ответа
Убедитесь, что Solr действительно запущен. По умолчанию поиск отключен в Riak 2.x. Чтобы включить его, измените search
недвижимость в /etc/riak/riak.conf для on
, Затем перезапустите Riak.
У меня была похожая проблема RiakError: 'Unknown message code: 56'
Я решил это, изменив параметр поиска в файле 'riak.conf'. Вот местоположение файла, если вы используете Mac и установлены через brew
/usr/local/Cellar/riak/2.2.2/libexec/etc/riak.conf
Вот строки кода, которые я изменил с выключенного на включенный
## To enable Search set this 'on'.
##
## Default: off
##
## Acceptable values:
## - on or off
search = on
Я нашел объяснение документации немного сложным для подражания, но более или менее это ссылка для решения проблемы.