1、Es2.2.1升级升级6.4 脚本执行问题

今天在全量索引用户充值信息时,遇到如下问题,从头梳理一下:

原始code:

修改之后:

在第一遍调接口执行全量索引时:

报如下错误:

java.lang.IllegalArgumentException: failed to execute script

因为是升级到了6.4,es的eslaticsrarch.yml配置里面没有加一下参数:

网上搜了一下,也说是没有这几个参数导致的。所以就直接在6.4的配置文件中加了这几个参数。加完之后启动Es时,Es启动失败。后来将先修改了script,最初修改的是这样的:

与最终的相比较就查了四个params.这里先不解释。再去查日志,es日志显示如下错误:

其中,说Too many dynamic script compilations within, max: [75/5m],因为我们索引的数据量比较大,而且索引时使用的是批量索引,考虑有可能是这个原因导致的,随即在yml中配置了这个参数,先配成了script.max_compilations_rate:300/1m,重新启动,同样显示此错误。以为这个值太小,所以将值配成了20000/1m,这次果然没报相同错误,但是出现了新的错误如下:

说是变量没有被定义,但是我确实是定义了,未果,看源码:

这是源码中的一个例子,然后就想可能是参数结构错误:

参数改成这样还不行,又试了一下,将代码改成了上面贴的最终的,重启测试,一切正常。但是因为配置了script.max_compilations_rate,所以还是不确定到底是哪里引起了最原始的错误,然后将script.max_compilations_rate改成了默认的,启动测试,还是正常的。到这里才算搞明白,原来是script的参数结构不对导致的。

中间还出现了这个异常:

所以还一度认为是批量处理的问题,改成单条index依然没有效果。

总结:

(1)Es6.4和先前版本还是有很多区别的,版本不兼容的地方很多,这个script参数结构就是一个。

(2)在向Es的yml配置文件写参数时,:后面要加空格,否则会导致Es启动失败。

Elasticsearch 6.4 索引时执行脚本报错相关推荐

  1. windows下powershell执行脚本报错

    目录 window power shell 禁止运行脚本 vscode命令行 禁止运行脚本 解决方案 vscode使用自定义的虚拟环境 其他知识点 window power shell 禁止运行脚本 ...

  2. linux 执行脚本报错:nginx_check.sh:行10: 语法错误: 未预期的文件结尾

    出现的问题可能是格式有问题: 脚本是windows下写的,然后传到linux下运行的,文件格式需要给dos文件格式转成unix dos转unix 安装: yum install dos2unix 命令 ...

  3. DBeaver执行.sql脚本报错:ERROR 1064 (42000) at line 1

    DBeaver执行.sql脚本报错,报错内容如下: ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check ...

  4. DBeaver执行sql脚本报错:CreateProcess error=193, %1 不是有效的 Win32 应用程序。

    DBeaver执行sql脚本报错:CreateProcess error=193, %1 不是有效的 Win32 应用程序. 如图: 定位发现DBeaver默认安装的mysql.exe大小为0字节! ...

  5. linux 简单脚本fi报错,shell脚本报错:[: =: unary operator expected

    shell脚本报错:"[: =: unary operator expected" 在匹配字符串相等时,我用了类似这样的语句: if [ $STATUS == "OK&q ...

  6. shell脚本报错:[: =: unary operator expected

    shell脚本报错:"[:=:unaryoperatorexpected" 在匹配字符串相等时,我用了类似这样的语句: if [ $STATUS == "OK" ...

  7. 运行shell脚本报错:“syntax error near unexpected token 的解决方法”

    运行shell脚本报错:"syntax error near unexpected token 的解决方法" 今天写了个Cshell脚本,运行报错syntax error near ...

  8. 删除docker registry镜像脚本报错No repositories directory found inside REGISTRY_DATA_DIR

    删除docker registry镜像脚本报错No repositories directory found inside REGISTRY_DATA_DIR registry使用delete_doc ...

  9. Windows下运行python脚本报错“ImportError: No Module named ...”的解决方法

    Windows下运行python脚本报错"ImportError: No Module named ..."的解决方法 参考文章: (1)Windows下运行python脚本报错& ...

最新文章

  1. 第五周项目三-时间类(2)
  2. Linux字符驱动开发学习总结
  3. CSP2020洛谷P7076:动物园(位运算)
  4. C语言的argv小案例
  5. java模块依赖关系_链接模块依赖关系未解决
  6. 手机怎么安装py thon_Python属性装饰器– Py​​thon @property
  7. 软件测试之 app性能测试的指标
  8. 游戏设计的236个技巧++游戏机制、关卡设计和镜头窍门pdf
  9. Git LFS报错“Git LFS is not installed”
  10. 计算机网络层次结构特点,网络层次结构
  11. 构建一个适合stm32mp157系列开发板的嵌入式Linux系统
  12. 小程序源码:独家修复登录接口社区论坛-多玩法安装简单
  13. 【报告分享】2019短视频平台数据报告-抖音快手.pdf(附下载链接)
  14. 可视化设计-设备篇(LED屏幕)
  15. 【车辆计数】基于matlab GUI背景差分法道路行驶多车辆检测【含Matlab源码 1911期】
  16. Ubuntu 16.04 安装显卡驱动(详细!)
  17. SQL中的笛卡尔你真的懂吗?
  18. 通过SQL语句或数据库,生成数据库模型PDM方法详解
  19. 色色的互联网名词解释整理
  20. 2023中央财经大学MTI英语翻译硕士专业考研成功经验分享

热门文章

  1. Codeforces C. Strange Birthday Party(cin读入数据超时)
  2. GARCH-QR非线性回归(GQNR)交易模型(初稿)
  3. 微信新出置顶公众号功能,优质自媒体的春天!
  4. Linux学习笔记RHEL 7(十)--使用Vsftpd服务传输文件和使用Samba或NFS实现文件共享
  5. 一线之间两重天--网络打印VS.共享打印 [转]
  6. 单链表的Java简单实现
  7. 美腻!Visual Studio Code 界面毛玻璃效果!
  8. 电脑上html文件可以删除吗,详细分析电脑c盘哪些文件可以删除
  9. c# 发送outlook邮件,设置html样式
  10. orangepi——香橙派使用初识