知识点
相关文章
更多最近更新
更多启动Solr服务报错:Path must not end with / character
2019-03-27 01:09|来源: 网路
今天在第一次对Solr的UI Console进行Add Core操作的时候,用了默认选项,提交后页面无反应,而Solr的日志抛出大量如下日志:
ERROR org.apache.solr.cloud.Overseer: Exception in Overseer main queue loop
java.lang.IllegalArgumentException: Path must not end with / character
重启Solr服务后一样循环抛出大量以上Log,网上查资料,发现这竟然是Cloudera的一个Bug,具体描述如下:
Cloudera Search
— Creating cores using the web UI with default values causes the system to become unresponsive
You can use the Solr Server web UI to create new cores. If you click Create Core without making any changes to the default attributes, the server may become unresponsive. Checking the log for the server shows a repeated error that begins:
ERROR org.apache.solr.cloud.Overseer: Exception in Overseer main queue loop
java.lang.IllegalArgumentException: Path must not end with / character
Bug: Solr-5813
Severity: Medium
Workaround: To avoid this issue, do not create cores without first updating values for the new core in the web UI. For example, you might enter a new name for the core to be created.
If you created a core with default settings and are seeing this error, you can address the problem by finding which node is having problems and removing that node. Find the problematic node by using a tool that can inspect ZooKeeper, such as the Solr Admin UI. Using such a tool, examine items in the ZooKeeper queue, reviewing the properties for the item. The problematic node will have an item in its queue with the property collection="".
Remove the node with the item with the collection="" property using a ZooKeeper management tool. For example, you can remove nodes using the ZooKeeper command line tool or recent versions of HUE.
最后的解决方案如下:
1、删除每一个zookeeper节点的/usr/lib/zookeeper目录下的/version-2的全部内容
2、重启集群
3、初始化Solr
4、启动Solr服务,看日志一切恢复正常
转自:http://www.cnblogs.com/irismyangel/articles/3848709
相关问答
更多-
在C中添加字符到行尾(Add character to end of line in C)[2022-11-05]
在打印角色之前需要检查newline ,如下所示: while (scanf("%c", &c) != EOF) { if (c == '\n') { printf("0"); } printf("%c",c); } 此代码将在newline之前打印您的新字符。 You need to check for newline before printing the character, something like this: while (scanf("%c", &c ... -
不要使用“\ n”或“\ r \ n”, 而是使用PHP_EOL 。 它可以处理任何跨平台问题,适用于编写要保存在服务器或客户端上的文件。 这个问题有一些信息,可以认为与你想要做的事情有关。 你会像这样使用它: $RS_SQL = $DBinterface->dbGetRecordSet($someQuery); foreach($RS_SQL as $row) { $rowdata = ''; foreach($row as $key=>$val) { if((!(int)$key) && ...
-
/(.+)/(\d{4}-\d{2}-\d{2})-(\d+)(/.*)?$ /(.+)/(\d{4}-\d{2}-\d{2})-(\d+)(/.*)?$
-
您可以使用负向lookbehind和正向前瞻进行正则表达式替换: $line -replace '(?更改你的函数getUserByEmailAndPassword如下所示。 将查询更改为以下内容或使其保持原样,并根据SELECT * query检索的列将$stmt->bind_result()方法更改为$stmt->bind_result($col1, $col2, $col3) 。 $stmt = $this->conn->prepare("SELECT salt, encrypted_password FROM users WHERE email = ?"); $stmt->bind_param(" ...
使用python 2.7 - regex在行尾找到所有CR字符(Using python 2.7 - regex to find all CR character at end of lines)[2023-09-16]
这条线错了: for filename in rootDir: # rootDir is 'Z:\Archive\\20160701' 应该: for filename in files: 如果所有文件都在一个文件夹中,正如你所说,使用os.listdir更容易你不需要os.walk所有功能,它可以提供根目录下的整个树,包括子目录和文件。 现在,至于使用regex来检测换行符,问题是当Python以'r'模式打开文件时, read或readline将换行符全部更改为\n 。 选项是以'rb'模式打 ...您可以通过添加额外的4个字节轻松避免消息结束。 前4个字节表示邮件的长度。 然后添加完整的消息。 样本发件人代码: BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(socket.getOutputStream()); String msg = "its a test message"; byte[] byteMsg = msg.getBytes(); int length = byt ...只需要找到您正在寻找的线路: $path = 'C:\path\to\your.txt' $pattern = '^\d{2}:\d{2}:\d{2}\.\d{3} .* \w{3} \d{1,2} \d{4}$' (Get-Content $path) -match $pattern 要删除您不想要的内容而不是选择您想要的内容,您需要将文本转换为单个字符串(默认情况下, Get-Content生成一个字符串数组,多行匹配不适用于那种输入)然后替换该字符串中的横幅,例如: $path = 'C ...你提到的^A字符是“标题的开头”字符。 您可以将特殊的Perl变量$/设置为此字符。 虽然,如果你希望你的代码可以被追随你的人(并使用另一个编辑器)读取和编辑,我会做这样的事情: use English; local $INPUT_RECORD_SEPARATOR = "\cA" # 'start of heading' character while (<>) { chomp; # remove the unwanted 'start of heading' character pri ...您可能在行尾有一些不可打印的字符(例如,来自Windows的CRLF ),运行: cat -A folders.txt 在远程机器上,它会显示脚本中的所有字符。 然后,您可以转换为类似unix的格式运行 dos2unix folders.txt You probably have some non-printable characters on end of lines (eg. CRLF from Windows), run: cat -A folders.txt on remote machine ...