我正在尝试使用下面的配置设置一个zookeeper实例,但是开始日志表明在尝试绑定端口2181时,zookeeper正在暂停.有人请告诉我这里的问题.谢谢.
启动日志;
2014-07-18 16:00:48,976 [myid:] - INFO [main:QuorumPeerConfig@103] - Reading configuration from: /opt/zookeeper/bin/../conf/zoo.cfg
2014-07-18 16:00:48,980 [myid:] - ERROR [main:QuorumPeerConfig@289] - Invalid configuration, only one server specified (ignoring)
2014-07-18 16:00:48,982 [myid:] - INFO [main:DatadirCleanupManager@78] - autopurge.snapRetainCount set to 3
2014-07-18 16:00:48,982 [myid:] - INFO [main:DatadirCleanupManager@79] - autopurge.purgeInterval set to 0
2014-07-18 16:00:48,983 [myid:] - INFO [main:DatadirCleanupManager@101] - Purge task is not scheduled.
2014-07-18 16:00:48,983 [myid:] - WARN [main:QuorumPeerMain@113] - Either no config or no quorum defined in config, running in standalone …Run Code Online (Sandbox Code Playgroud) 我为Solr编写了一个包含新流表达式的插件.现在,我试图了解编写单元测试的最佳方法是什么:单元测试需要在Solr中创建集合,所以我将能够检查我的新流表达式是否返回了他们假设的正确数据.
我在网上看到有一个名为"SolrTestCaseJ4"的类,但我没有找到如何使用它在Solr中创建新集合并添加数据等等......
你能否请我推荐一下我可以用于哪个课程或以其他方式测试我的新课程?
顺便说一句,我们在云模式和JUnit4中使用Solr 7.1.
提前致谢.
我正在努力将大约3 TB的数据索引到apache solr中.当数据大小达到14 GB时,我在tomcat日志中遇到错误.有可能对其进行故障排除吗?我打算稍后将我的索引移到solr cloud.
> SEVERE: Servlet.service() for servlet [default] in context with path
> [/solr] threw exception java.lang.IllegalStateException: Cannot call
> sendError() after the response has been committed
> at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:451)
> at org.apache.solr.servlet.SolrDispatchFilter.sendError(SolrDispatchFilter.java:757)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:438)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:201)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
> at …Run Code Online (Sandbox Code Playgroud) 我们正面临着Zoo Keeper的一个特殊问题,其中ZK突然失去与solr云的连接,并开始抛出一个异常,上面写着"无法与ZooKeeper对话 - 更新被禁用".
我们的应用程序在2个不同的数据中心分别设置了2个solr集群.这些集群中的每一个都具有相同的配置和数据,并且预计会采用相同的增量负载.应用程序用户需要他们所做的更改才能在搜索中反映几乎立即生效,因此我们每10秒运行一次增量加载.已经说过,在理想情况下,这10秒内的数据更新不会超过10000.
3动物园饲养员设置在法定人数中,每个数据中心都有专用服务器.现在,有了这样的设置,我们最近在其中一个数据中心遇到了前面提到的问题.ZK突然下降并且无法自行恢复.奇怪的是,这只发生在一个数据中心,而两个DC共享相同的负载.
虽然它没有影响搜索索引,但它正在用失败通知轰炸应用程序团队(因为应用程序特定的通知设置).
我们做了什么来处理这个? 答:为了阻止邮件的泛滥,我们已经停止增量工作约5分钟,然后恢复它们.
我们观察到了什么?(也可能是错误的理解.请更正)答:停止作业允许ZK有时恢复自身,这使得增量作业在恢复时能够正常运行.不需要重新启动Solr Cloud的ZK.
我们想知道什么? 问:在此期间,ZK超载方面没有任何异常情况发生.那么什么可能导致ZK自行关闭?
如果有人能帮助我理解这种意外行为的根本原因,那将是非常有帮助的.
提前致谢!
我正在尝试将标准4.x Solr安装升级到Solr云5.xI在两者之间进行了一些性能测试,发现了巨大的差异.在同一台服务器上,在不同的时间,我运行了以下内容:
两者都有相同的数据
在多次执行示例查询时,平均结果是标准Solr比Solr云快5倍.
dataimport处理程序也比标准solr快2倍.
有什么想法为什么这种差异以及如何提高solrcloud性能?
我一直在使用他们使用SolrCloud的系统上工作,这需要一个Zookeeper合奏,该合奏可以帮助“管理整个结构,以便可以正确地路由索引和搜索请求”(直接从Solr文档中获取)。
“管理”到底是什么?运行Zoor的计算机从Zookeeper集成中读取/写入哪些信息,什么数据 /配置/信息,为什么?solr在运行时是否更改过Zookeeper中的数据?还是一次配置“数据”,然后在SolrCloud主机上读取运行时?
从问题的角度来看,这是我与Zookeeper,Solr以及在许多方面与分布式系统的第一次接触。
我正在尝试使用3台服务器的外部zookeeper集合和2台服务器上的复制solr建立solrCloud.
假设外部zookeeper应独立于其他存储,我无法找到如何设置-solrhome参数.zookeeper是否应该从工作节点读取数据?
如何上传配置并将其与目标集合链接?
我们期待从SolrCloud 4.10.3升级到SolrCloud 6.1.Solr 6.1的文档在向后兼容性方面不是很清楚.
我在LucidWorks网站上看过这篇文章.
索引格式在两个连续的主要Solr版本之间向后兼容.所以Solr 3.x索引与Solr 4.x索引兼容.但是,如果您有Solr 1.x索引并希望升级到Solr 4.x,则需要先升级到Solr 3.x.
它是在Solr 6.x出局之前编写的,"两个连续的主要Solr版本之间"的措辞不清楚.该示例跳过我感兴趣的确切场景(正好跳过1个主要版本).
我是否必须首先升级到Solr 5.x然后转到Solr 6.1?
我已经使用 Solr 6.6.0 和 Zookeeper 3.4.10 设置了 SolrCloud。我正在尝试根据 https://cwiki.apache.org/confluence/display/solr/Basic+Authentication+Plugin的最新文档设置基本身份验证
问题是身份验证不起作用。设置后,我无法访问 Solr 管理控制台,因为它不接受设置的用户名/密码。
以下是包含详细信息的步骤:
1)启动Zookeeper监听2181端口
2)启动Solr云模式连接Zookeeper
solr start -c -s C:/solr-6.6.0_VM1/server/solr/cores -p 8983 -z
"localhost:2181";
Run Code Online (Sandbox Code Playgroud)
3)创建 security.json 文件(根据文档):
{
"authentication":{
"blockUnknown": true,
"class":"solr.BasicAuthPlugin",
"credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0=
Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="}
},
"authorization":{
"class":"solr.RuleBasedAuthorizationPlugin",
"permissions":[{"name":"security-edit",
"role":"admin"}],
"user-role":{"solr":"admin"}
}}
Run Code Online (Sandbox Code Playgroud)
4)更新了 solr.in.cmd 以在 SOLR 上启用身份验证:
set SOLR_AUTH_TYPE=basic
set SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
Run Code Online (Sandbox Code Playgroud)
5) **上传 security.json 文件到 Zookeeper:*
server\scripts\cloud-scripts\zkcli -z localhost:2181 -cmd putfile
/security.json security.json
Run Code Online (Sandbox Code Playgroud)
6)重新启动SOLR服务器
7)打开SOLR管理控制台:http://localhost:8983/solr/#/
我被问到用户名/密码。我输入 solr/SolrRocks 管理员不接受密码。当我关闭登录窗口时,它显示“HTTP 错误 401,凭据错误”
知道为什么身份验证在 Solr 上不起作用吗?我已经完全按照记录尝试了这些步骤。感谢你的帮助! …
我正在使用Solr 7.4.0并使用DIH方法索引数据.
在data-config.xml中查询.
<entity name="Test" query="Select Names,Test_Value1,Test_Value2,Test_Value3 from TestTable">
<field column="Names" name="Names" splitBy="," />
<field column="Test_*" name="Test_*" splitBy="," />
</entity>
Run Code Online (Sandbox Code Playgroud)
Schema.xml的
<field name="Names" type="string" multiValued="true" indexed="true" />
<dynamicField name="Test_*" type="string" multiValued="true" indexed="true" />
Run Code Online (Sandbox Code Playgroud)
完成索引后,名称可轻松分离如下,并根据需要将值显示为multiValue.
例如
"Names":["Demo1",
"Demo2"]
Run Code Online (Sandbox Code Playgroud)
但是当使用动态字段作为字符串类型multiValue时.它在索引中显示此结果.
"Test_Value1":["Test 1, Test 2, Test 3"],
Run Code Online (Sandbox Code Playgroud)
但我需要这个结果如下.
"Test_Value1":["Test 1", "Test 2", "Test 3"],
Run Code Online (Sandbox Code Playgroud)
如何分离动态字段值的值,如上所示.