ES-PHP向ES批量添加文档报No alive nodes found in your cluster
ES-PHP向ES批量添加文档报No alive nodes found in your cluster
问题描述
为了提高保存数据到es
消耗的时间,采取积攒到3000
条文档的时候才保存到ES
中,之前一直没有问题,昨天新上了几个log
服务器后,经常会发现保存失败报如下错误:
No alive nodes found in your cluster
- 1
首先我要说这个错误真坑啊,以这个关键字搜索问题,花了两天也没解决,后来无意中翻墙搜google
,网后翻了好几页看到上面的参考文章,才知道,原来真正的错误信息隐藏在ES-PHP
的Connection
类中,代码如下:
添加var_dump($response['error']->getMessage());
一行代码来输出一下错误信息,错误信息如下:
cURL error 55: Send failure: Broken pipe
- 1
首先觉得是curl
的bug
,所以我升级到了最新版本,发现问题还在,然后我调整3000条文档一保存改为500条,发现保存是没问题的,后来我怀疑是curl
的body
体是不是对大小有限制,但是经过询问得到的回复是没有这方面的限制,但是组长给我了一个提示,curl
没有限制,可能是接收方有限制,这个提示给我了新方向,查了一下es
果然有配置,配置项为http.max_content_length
,默认为100M
,然后我尝试了发送不同大小的数据看反应。
- 第一次:141M,报错
- 第二次: 40M,保存成功
然后我跟es维护人员确认一下http.max_content_length
确实是100M,由此问题定位成功,原因也知道了
解决方法
- 1.一次性保存500条数据,确保一次性存储数据量不超过100M
- 2.由原来的VIP(一个host)改为几点IP(多host),这样做的好处是可以重试多次。
ES-PHP向ES批量添加文档报No alive nodes found in your cluster的更多相关文章
- ES-PHP向ES批量添加、查询文档报 No alive nodes found in your cluster
转自: https://blog.csdn.net/itfootball/article/details/53637238 问题描述为了提高保存数据到es消耗的时间,采取积攒到3000条文档的时候才保 ...
- ES添加文档 踩坑之 —— The number of object passed must be even but was [1]
读取文件,获取json格式的数据doc, 然后使用 bulkRequestBuilder.add(client.prepareIndex(index, type, id).setSource(doc) ...
- Eclipse中添加文档注释快捷键
该博客仅记录自己添加文档注释时的操作,由于参考文档地址忘了,因此如果与其他文档重复,请见谅 以下是我的操作过程: 例如: /** * @param * @return */ 快捷键为: ...
- Solr添加文档(XML)
在上一章中,我们学习解释了如何向Solr中添加JSON和.CSV文件格式的数据.在本章中,将演示如何使用XML文档格式在Apache Solr索引中添加数据. 示例数据 假设我们需要使用XML文件格式 ...
- Xcode - 添加文档注释插件
Xcode自动添加文档注释插件: https://github.com/onevcat/VVDocumenter-Xcode 功能演示: 感谢onevcat的分享!
- es的rest风格的api文档
rest风格的api put http://127.0.0.1:9200/索引名称/类型名称/文档id (创建文档,指定文档id) post http://127.0.0.1:9200/索引名称/类型 ...
- 迁移TFS,批量将文档导入SharePoint 2013 文档库
一.需求分析 公司需要将存在于旧系统(TFS)所有的文档迁移至新系统(SharePoint 2013).现已经将50G以上的文档拷贝到SharePoint 2013 Server上.这些文档是一些不规 ...
- dedecms批量删除文档关键词可以吗
这几天在重新整服务器,几个站点都是用dedecms搭建的,版本相对比较早,虽然都已经打了补丁,但客户还是在纠结,所以就下载了新的系统进行搭建(注意编码要和原来的一样),导入数据,一切安好,可发现后台有 ...
- mongodb命令----批量更改文档字段名
因为mongodb基于javascript的特性,为了体验cursor的威力我们不妨利用js的for循环创建记录 先创建文档 db.createCollection("columnsampl ...
随机推荐
- C#基础视频教程3.1 常见控件类型和使用方法
可以从左侧的工具箱中找到常见的控件(你要在Form1这种窗体上) 为了方便你也可以把工具箱整个拖过去,这样从上到下控件都给你排好了 对于按钮来说,最常见的就是他的背景颜色,文字,字体,还有是否 ...
- Linux Samba安装与使用
一 安装环境: 虚拟机:RedHat 5.4 192.168.75.128 主机环境:WIN7 32bit 192.168.75.1 网络连接方式:NAT 二 安装步骤: 说明: Ø samb ...
- 查找文件工具find
与locate.whereis命令相比,find具有本质的区别: 首先,find是从指定的位置进行遍历查找(可以理解为对文件和目录进行逐一查找). 其次,find可以查找具有某一类特征的文件(例如查找 ...
- CommonClassLoader或SharedClassLoader加载的Spring如何访问并不在其加载范围内的用户程序呢
Question 引自<深入理解Java虚拟机—JVM高级特性与最佳实践>9.2.1,p235 如果有10个WEB应用程序都是用spring来进行组织管理的话,可以把Spring放到Com ...
- pdf+iphone+wechat
可能很多人要问,为啥标题取这个名字. 因为今天在这个上面踩了太多坑.. 我们的需求其实很简单.做一个页面,把pdf文档嵌进去,在线显示. 如此需求,放在PC上chrome浏览器,一个embed标签就搞 ...
- 解决ssh登录Host key verification failed
使用SSH登录某台机器,有时因为server端的一些变动,会出现以下信息: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: R ...
- linux静态链接库与动态链接库详解
一顺便说说了哦 通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(e ...
- Android应用开发揭秘之优化技术
2013-06-28 第15章 优化技术 不管用什么语言进行开发,所有的优秀代码都会展示出共有的经典品质: 简练,可读性强,模块化,层次性,设计良好,高效,优雅,清晰等. Java程序员能够依 ...
- 日期常用操作类DateUtil
一.给定yyyy-MM-dd hh:mm:ss格式的字符串,返回Date. public Date convertStr2Date(String dateString) { try { SimpleD ...
- ajax处理select下拉表单
$('#gameid').change(function() { var gameid = $(this).val(); if (this.value != '') { $.ajax({ url: ' ...