版本: 6.8-7.15
简而言之,当发送到Elasticsearch的分配命令格式不正确时,就会出现此错误。这可能是由于语法错误、缺少参数或无效值造成的。要解决此问题,您应该首先对照Elasticsearch文档验证命令的语法。确保包含所有必需的参数,并且这些参数具有有效的值。如果命令是脚本的一部分,请检查脚本中任何可能导致命令格式错误的错误。
日志上下文
日志"allocation command is malformed; done parsing a command;“的类名是 AllocationCommands.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用:
String commandName = parser.currentName();
token = parser.nextToken();
commands.add(parser.namedObject(AllocationCommand.class; commandName; null));
// move to the end object one
if (parser.nextToken() != XContentParser.Token.END_OBJECT) {
throw new ElasticsearchParseException("allocation command is malformed; done parsing a command;" +
" but didn't get END_OBJECT; got [{}] instead"; token);
}
} else {
throw new ElasticsearchParseException("allocation command is malformed; got [{}] instead"; token);
}





