Elk使用笔记(坑)(2017-02-17更新)
Elk使用笔记(坑)(2017-02-17更新)
主要记录使用过程终于到的一些坑和需要注意的地方,有些坑想不起来了,以后再完善补上
elk版本
- elasticsearch: 2.4.1
- kibana: 4.6.3
- logstash: 2.4.1
问题
Elasticseasrch报错,Request Timeout after 30000ms,log中无日志
一般重启elasticsearch即可,重启后节点状态状态Elasticsearch is still initializing the kibana index,这时候是elasticsearch在恢复数据(恢复数据时间可以自定义,具体看我另外一篇关于集群配置的介绍传送门),再等待几秒再观察节点状态
service elasticsearch restart
Elasticseasrch查询list大于10000条报错,Result window is too large
貌似是2.x才有的问题,修改max_result_window默认配置,调大默认值
curl -XPUT http://{ip:port}/{mapping}/_settings -d '{ "index" : { "max_result_window" : 500000}}'
Elasticsearch服务service方式启动fail
让人着急的是日志没有信息,这时候大多是与内存有关,毕竟Es是个能吃内存的货。去安装目录bin下执行启动脚本,报Cannot allocate memory`不能分配内存。
解决:修改脚本bin/elasticsearch,注释或调小之前加的内存配置,具体看我之前写的一篇内存优化,就不往这迁移了(主要是懒)
Elasticsearch-PHP报错Elasticsearch\Common\Exceptions\NoNodesAvailableException No alive nodes found in your cluster
首先是觉得集群节点挂了,检查集群,检查节点,包括elk都正常,坑了我一圈,发现是Elasticsearch-PHP包的配置问题,官方文档中标明hosts可以写ip:port,ip,domains:port,domains的格式,结果现实并不是这样,因为我es绑定了内网地址,外网要访问,我用Nginx的domains 80端口将外网请求代理转发到内网的9200端口上,然后在Elasticsearch-PHP中就省去了80,只写了一个hosts上绑定的domains。所以只要在配置中把端口带上就好了domains:80,还没来得及看源码,应该扩展包检测没有配置端口就默认指定了9200端口,所以才连接不上
(2017年02月17日更新) 手动迁移副本,迁移成功后,原有节点的分片又跑了
例索引有两个分片1,2分别在两个节点A,B上,将分片1迁移到节点B的时候,虽然成功了,但是节点B上原有的分片2却自动移到了节点A上,因为没有开启这个配置项
curl -XPUT ip:9200/_cluster/settings -d'{
"transient":{
"cluster.routing.allocation.disable_allocation":true
}
}'
优化
统一大小写
- 操作: 在
logstash中将所有字符串数据转换为小写,查询dsl语句中统一使用小写 - 原因:
kibana中查询貌似是不区分大小写的,然而有些查询聚合语句系统默认是区分了大小写,比如aggs的terms.exclude - 执行: 应该在es的mapping template模板中设置也可以,暂还没找到具体执行办法,有知道的看官跪求告知
# logstash conf
filter{
# 如果有json转换配置需要放置在json前
mutate {
lowercase => "message"
}
}
常用命令
查询
curl -GET {command}
增改curl -PUT {command}
删除curl -DELETE {command}
url末尾加?pretty会自动美化结果的json数据,方便命令行下查看,例如:curl -GET "http://localhost:9200/_nodes/stats?pretty"查看节点状态
- 查询集群状态(强烈推荐使用es的
head插件管理集群)
/_cluster/health?pretty
- 查看es节点状态
/_nodes/stats
- 添加索引别名
/index1/_alias/index_alias
*/_alias/index_alias
- es清理缓存(发现没什么卵用,理论上清理后第二次查询和第一次查询的速度一样慢,结果并不是,怀疑没清掉)
curl -XPOST "localhost:9200/_cache/clear"
- es设置mapping模板
curl -XPUT 'http://{ip}:{port}/_template/eslog?pretty' -d@/tmp/mylog.template.json
扩展资料
标签: Elasticsearch
Elk使用笔记(坑)(2017-02-17更新)的更多相关文章
- lucky的时光助理-2017.02
好久没有更新了, 即便没有听众, 有些故事还是要说给另一个自己听! lucky小姐在这个月开始重新找工作了, 她想找一份自己喜欢的工作, 然后安安稳稳的沉寂下来,她说:她要学些东西,才不会让自己看上去 ...
- React Native之坑总结(持续更新)
React Native之坑总结(持续更新) Genymotion安装与启动 之前我用的是蓝叠(BlueStack)模拟器,跑RN程序也遇到了一些问题,都通过搜索引擎解决了,不过没有记录. 但是Blu ...
- [2017.02.21] 《Haskell趣学指南 —— Learning You a Haskell for Great Good!》
{- 2017.02.21 <Haskell趣学指南 -- Learning You a Haskell for Great Good!> [官网](http://learnyouahas ...
- 关于asp.net执行exe程序时权限不够的解决办法(2015.04.17更新)
一,本文背景 长话短说:asp.net项目中需要用到PDF转换成SWF文件,用户上传后自动调用pdf2swf.exe转换. 但有个问题,执行时权限不够,导致一直报错(滚动条一直在往下滚,刷屏中),见下 ...
- Xamarin 2017.11.9更新
Xamarin 2017.11.9更新 本次更新主要针对Xamarin.iOS,适配了iOS 11.1和Xcode 9.1.Visual Studio 2017升级到15.4.3获得新功能.Visu ...
- Xamarin 2017.11.1更新
Xamarin 2017.11.1更新 本次更新主要解决了一些bug.Visual Studio 2017升级到15.4.2获得新功能.Visual Studio 2015需要工具-选项-Xamar ...
- Xamarin 2017.10.9更新
Xamarin 2017.10.9更新 本次更新主要解决了一些bug.Visual Studio 2017升级到15.4获得新功能.Visual Studio 2015需要工具-选项-Xamarin ...
- Xamarin 2017.9.19更新
Xamarin 2017.9.19更新 本次更新是添加Xamarin.iOS对iOS 11和Xcode 9的支持.Visual Studio 2017升级到15.3.5获得更新功能.Visual ...
- jetbrains idea/webstorm等(注册,激活,破解码,一起支持正版,最新可用)(2017.3.16更新)【转】
选择 License server (2017.3.16更新) http://idea.imsxm.com/ 详细请参考: http://www.cnblogs.com/ys-wuhan/p/584 ...
随机推荐
- [Grunt] Minifying your output with grunt-uglify
For production we want to use minified javascript to reduce the payload that is sent from the server ...
- busybox hexdump 命令使用
http://blog.sina.com.cn/s/blog_a6559d920101gvlk.html hexdump命令是Linux下的打印16进制的利器,它可以按我们指定的格式输出16进制,特别 ...
- Log4j配置文件例子
Log4j配置文件例子: # Define somedefault values that can be overridden by system properties hbase.root.logg ...
- 静态库与动态库的制作以及程序的动态函数库解析ldd;ldconfig与/etc/ld.so.conf
静态库的制作步骤: (1)gcc -c mylib.c -o mylib.o (2)ar rc libmylib.a mylib.o 动态库的制作步骤: gcc -shared mylib.c -o ...
- Python 换行符
raw字符串与多行字符串如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦.为了避免这种情况,我们可以在字符串前面加个前缀 r ,表示这是一个 raw 字符串,里面的字符就不需要转义 ...
- VmProtect v2.12.3 安装注冊
执行vmprotect.exe開始安装: 1.选择语言.默觉得"English": 2.欢迎页,点"Next"到下一步: 3.授权信息,选"I acc ...
- 搭建web项目结合spring+cxf的webservice服务
服务端: 服务端和客户端都需要引入包 antlr-2.7.7.jar aopalliance-1.0.jar asm-3.3.jar commons-collections-3.2.1.jar com ...
- Android Launcher拖拽事件详解【android4.0--Launcher系列二】
AndroidICS4.0版本的launcher拖 拽的流程,基本和2.3的相似.就是比2.3写的封装的接口多了一些,比如删除类的写法就多了个类.等等.4.0的改变有一些,但是不是特别大.这个月一 直 ...
- idea 编辑时cup飙升解决方案,亲测有效
idea(64).exe.vmoptions内容如下: -Xms1024m -Xmx2048m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=256m ...
- Android成长之路-手势库的创建
手势库的创建: 使用SDK自带的例子GestureBuilder建立手势库,这个文件夹存在于android\android-sdk-windows \samples\android-10\Gest ...