solr - 无法使用 sysprop 启动 solr 节点以形成节点集
问题描述
我正在尝试应用一些集群级别的自动缩放策略,为此我正在尝试创建一个节点集。根据文档,有一些方法可以创建节点集(根据一些规则选择一组节点):https://lucene.apache.org/solr/guide/8_3/solrcloud-autoscaling-policy-preferences。 html#node-selection-attributes
文档声明我们可以使用 sysprop.{PROPERTY_NAME}: 来指定一组节点。而 sysprop.key 表示在节点启动期间作为 -Dkey=keyValue 传递给节点的值。
所以这是我用来启动节点的命令
bin/solr start -cloud -s example/cloud/node/solr -p 8987 -Dkey=noderef -z localhost:9983
但是在上面的命令之后我得到了以下错误
javax.servlet.UnavailableException: Error processing the request. CoreContainer is either not initialized or shutting down.
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:370)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:505)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917)
at java.lang.Thread.run(Thread.java:748)
谁能指出我在这里做什么。基本上我想将一组节点标记为“pullnodes”,将其他一组标记为“tlognodes”,以便我可以将不同的alutoscaling集群策略应用于相同的
解决方案
存在语法问题,需要像这样在引号中传递键值
bin/solr start -cloud -s example/cloud/node/solr -p 8987 "-Dkey=noderef" -z localhost:9983
它似乎在本地云模式下也不起作用,在单独的机器上使用节点尝试了上述命令并且它起作用了
推荐阅读
- .net - 将 .NET Framework VB 项目转换为 .NET Core
- cmake - 为什么下面的CMakeLists.txt不能生成*.proto(protobuf)系列的输出文件
- c - 无法计算阶乘,在 C 中输出为 0
- php - Symfony Controller(delete) function-> Expected Doctrine\Common\Annotations\DocLexer::T_CLOSE_PARENTHESIS
- android - 如何在我的服务器上构建 android 应用程序?
- c - 为什么这两个字符串的交换没有发生并提供相同的输出?
- apache-kafka - Kafka Zookeeper 随机重启
- c# - C# 属性和 C# 静态字段有什么区别?
- xamarin.forms - Xamarin Plugin.BLE // 我无法提取数据
- node.js - 在 Sequelize 中更新具有多个关联的实例