①解压文件 tar -zxvf elasticsearch-6.2.1.tar.gz
②重命名 mv elasticsearch-6.2.1 /usr/local/elasticsearch
③创建数据存放路径 mkdir /usr/local/elk/elasticsearch/data
④建立用户并授权(es不能用root运行)
#添加用户 useradd es #设定密码 passwd es
#赋予文件夹权限 chown -R es:es /usr/local/elasticsearch
⑤修改elasticsearch配置文件 vim /usr/local/elasticsearch/config/elasticsearch.yml
⑥调整jvm内存 vim /usr/local/elasticsearch/config/jvm.options
#默认是1g官方建议对jvm进行一些修改,不然很容易出现OOM,参考官网改参数配置最好不要超过内存的50%
-Xms200m
-Xmx200m
⑦使用非root用户启动Elasticsearch
#切换至es账户 su es
#启动 /usr/local/elasticsearch/bin/./elasticsearch
如果启动报如下错则:切回root用户 exit ,修改相应配置
ERROR: [3] bootstrap checks failed
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[2]: max number of threads [3895] for user [elastic] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
【1】修改/etc/security/limits.conf,修改到提示值
[root@centos7.4-64 ~]# vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft memlock unlimited
* hard memlock unlimited
【2】修改/etc/security/limits.d/90-nproc.conf 文件
[root@centos7.4-64 ~]# vim /etc/security/limits.d/90-nproc.conf
将内容改为: * soft nproc 4096
【3】修改/etc/sysctl.conf
[root@centos7.4-64 ~]# vim /etc/sysctl.conf
添加配置:vm.max_map_count=262144,然后执行命令
[root@centos7.4-64 ~]# sysctl -p
1.es6安装:
https://blog.csdn.net/cowbin2012/article/details/80717534
https://blog.csdn.net/qq_34021712/article/details/79333090
https://blog.csdn.net/fgf00/article/details/79571940
2.集群搭建
https://www.cnblogs.com/liuchuanfeng/articles/7059268.html
3.logstash使用rpm包安装的时候没有配置init的启动脚本(可无此步骤)
生成启动脚本,centos6使用sysv参数,centos7使用systemd
# /usr/share/logstash/bin/system-install /etc/logstash/startup.options sysv
4.es插件安装:(node, grunt, elasticsearch-head)
https://blog.csdn.net/python36/article/details/80816707(不用单独下载node)
https://www.cnblogs.com/hts-technology/p/8556279.html
5.启动es: /usr/local/elasticsearch-1/bin/elasticsearch
启动es-head插件: /usr/local/elasticsearch-head/./node_modules/grunt/bin/grunt server &
访问es-head插件:ip+9100
ES学习流程
(1)掌握 Elasticsearch 的基本概念,主要包括:
索引(index)
类型(type)
映射(mapping)
文档(document)
倒排索引原理
文档打分机制
集群(cluster)——单节点、集群安装与部署
健康状态(red/yellow/green)
数据存储
数据类型(long/date/text、keyword/nested等)
数据展示(结合Head插件的基础可视化)
……
(2)掌握 Elasitcsearch 的基本操作,主要包括:
新增(insert)
删除(delete/deletebyquery)
修改(update/updatebyquery)
查找(search)
精确匹配检索(term、terms、range、exists)
模糊匹配检索(wildcard、prefix、negix正则)
分词全文检索(match/match_phrase等)
多条件 bool 检索(must/must_not/should多重组合)
分词(英文分词、拼音分词、中文分词)
高亮
分页查询
指定关键词返回
批量操作 bulk
scroll 查询
reindex 操作
(3)掌握 Elasticsearch 高级操作,主要包括:
聚合统计(数量聚合、最大值、最小值、平均值、求和等聚合操作)
图像化展示(hisgram 按照日期等聚合)
聚合后分页
父子文档
数组类型
nested 嵌套类型
ES 插件错误排查(集群问题、检索问题、性能问题)
ES 性能调优(配置调优、集群调优等)
……
(4)掌握 Elasticsearch Java/Python 等API,主要包括:
Elasticsearch 原生自带 API、JEST、Springboot 等 API 选型
Elasticsearch 多条件 bool 复杂检索 API
Elasticsearch 分页 API
Elasticsearch 高亮 API
Elasticsearch 聚合 API
Elasticsearch 相关 JSON 数据解析
……
(5)Elasticsearch 结合场景开发实战,主要包括:
数据可视化(Kibana、Grafana 等 其中 Grafana 比较适合监控类场景)
通过 logstash/beats 等导入数据
Elasticsearch 和 Kafka 结合的应用场景
Elasticsearch 和 Mongo 结合的应用场景
Elasticsearch 和 Hadoop 结合的应用场景
结合业务需求的定制化应用场景(日志分析、文档检索、全文检索、金融等各行业检索)
……
建议的第二学习优先级为 Kibana。需要掌握的内容如下。
Kibana 安装与部署
ES 节点数据同步到 Kibana
Kibana Dev Tools 开发工具熟练使用
Kibana 图像化组合展示
将 Kibana 图像化展示效果图应用到自己的开发环境中
……
第三学习优先级为 Logstash。需要掌握的内容如下。
Logstash 的安装与部署
Logstash 将本地文件导入 ES
logstashinputjdbc 插件(5.X后无需安装)将 MySQL/Oracle 等关系型数据库数据导入 ES,全量导入和增量导入实现。
logstashinputmongo插件将 Mongo 数据导入 ES
logstashinputkafaka 插件将 Kafak 数据导入 ES
logstashoutput* 插件将 ES 数据导入不同的数据库和实时数据流中
……
第四学习优先级为 Beats。需要掌握的内容如下。
不同类型的 Beats 安装与部署
将业务数据通过 Beats 导入 ES
……