德州哪里做网站,学电子商务有用吗,二级域名做网站有哪些缺点,厦门做网站哪家好目录
【认识Elasticsearch】
Elasticsearch主要应用场景
Elasticsearch的版本与升级
【Elastic Stack全家桶】
Logstash
Kibana
Beats
Elasticsearch在日志场景的应用
Elasticsearch与数据库的集成
【安装Elasticsearch】
安装插件
安装Kibana
安装Logstash 【认…目录
【认识Elasticsearch】
Elasticsearch主要应用场景
Elasticsearch的版本与升级
【Elastic Stack全家桶】
Logstash
Kibana
Beats
Elasticsearch在日志场景的应用
Elasticsearch与数据库的集成
【安装Elasticsearch】
安装插件
安装Kibana
安装Logstash 【认识Elasticsearch】
Elasticsearch是一个分布式搜索引擎系统可以实现大数据近实时分析。官网https://www.elastic.co/cn/ Elasticsearch起源于LuceneLucene是基于Java语言开发的搜索引擎库类创建于1999 年2005年成为Apache顶级开源项目。Lucene 具有高性能、 易扩展的优点但也有一些局限性只能基于 Java语言开发原生并不支持水平扩展。 2004 年Shay Banon基于Lucene 开发了Compass2010年Shay Banon重写了Compass 取名Elasticsearch。相比于原生的LuceneElasticsearch支持分布式可水平扩展降低全文检索的学习曲线可以被任何编程语言调用。 Elasticsearch支持多种方式集成接入官网提供了多种编程语言的类库包括 Java、JavaScript、Ruby、Go、.NET、PHP、Perl、Python、Eland、Rust 等可以查看https://www.elastic.co/guide/en/elasticsearch/client/index.html Elasticsearch主要应用场景
海量数据的分户式存储以及集群管理服务与数据的高可用水平扩展近实时搜索性能卓越结构化/全文/地理位置/自动完成海量数据的近实时分析聚合功能
Elasticsearch的版本与升级
0.4版本: 2010年2月第一次发布 1.0版本: 2014年1月发布 2.0版本: 2015年10月发布 5.0版本: 2016年10月发布 新特性5.x ● Lucene 6.x 性能提升默认打分机制从TF-IDF改为BM 25 ● 支持Ingest节点/ Painless Scripting / Completion suggested支持/原生的Java REST客户端 ● Type标记成deprecated, 支持了Keyword的类型 ● 性能优化内部引擎移除 了避免同一文档并发更新的竞争锁带来15% - 20%的性能提升Instant aggregation,支持分片上聚合的缓存新增了Profile API。 6.0版本: 2017年10月发布 新特性6.x ● Lucene 7.x ● 新功能跨集群复制(CCR)索引生命周期管理SQL的支持 ● 更友好的的升级及数据迁移在主要版本之间的迁移更为简化全新的基于操作的数据复制框架可加快恢复数据 ● 性能优化有效存储稀疏字段的新方法降低了存储成本在索引时进行排序可加快排序的查询性能 7.0版本: 2019年4月发布 新特性7.x ● Lucene 8.0 ● 重大改进-正式废除单个索引下多Type的支持 ● 7.1 开始Security 功能免费使用 ● ECK - Elasticseach Operator on Kubernetes ● 新功能New Cluster coordinationFeature-Complete High Level REST ClientScript Score Query ● 性能优化默认的 Primary Shard数从5改为1避免Over Sharding性能优化更快的Top K 更多信息查看https://www.elastic.co/cn/support/eol
【Elastic Stack全家桶】
Elasticsearch公司的核心产品包括 Elasticsearch、Kibana、Beats 和 Logstash也称为 ELK Stack如下图所示 Logstash
Logstash诞生于2009年最初用来做日志的采集与处理于2013年被Elasticsearch公司收购。现在已经成为了一个开源的服务器端数据处理管道支持从不同来源采集数据和转换数据并将数据发送到不同的存储库中。https://www.elastic.co/cn/logstash
Logstash有如下特性
实时解析和转换数据从IP地址破译出地理坐标将PII数据匿名化完全排除敏感字段可扩展支持200多个插件(日志/数据库/Arcsigh/Netflow)可靠性安全性Logstash会通过持久化队列来保证至少将运行中的事件送达一次数据传输加密数据监控 Kibana
Kibana是一个数据可视化工具 能够方便的查看和分析数据。https://www.elastic.co/cn/kibana Kibana 名字的含义Kiwifruit Banana是一个基于 Logstash的工具2013 年加入Elastic公司。 Beats
Beats是一个轻量型数据采集器免费且开放的平台集合了多种单一用途数据采集器。它们从成百上千或成千上万台机器和系统向 Logstash 或 Elasticsearch 发送数据。https://www.elastic.co/cn/beats Elasticsearch在日志场景的应用
一个项目的日志部分的重要性不言而喻通过日志可以排查到各类问题如果日志分散在不同的机器上那么就可以使用Elasticsearch来收集各个机器的日志然后合并处理方便查询。 主要实现如下功能日志收集、格式化分析、全文检索、风险告警。
Elasticsearch与数据库的集成
虽然可以直接使用Elasticsearch作为数据库存储数据但是很多时候会需要和传统的数据库(比如MySQL、Oracle、MongoDB等)结合使用可以通过消息队列(比如RabbitMQ、Kafka等)将数据库的数据同步到Elasticsearch中再进行分析处理。 【安装Elasticsearch】
前往官网 https://www.elastic.co/cn/downloads/elasticsearch 下载适合自己操作系统的安装包然后解压。
目录结构 目录配置文件描述bin可执行的脚本文件包括启动elasticsearch安装插件。运行统计数据等configelasticsearch.yml集群配置文件user role based相关配置jdkJava运行坏境datapath.data数据文件保存 ES 运行过程中需要保存的数据。libJava类库logspath.log日志文件modules包含所有ES功能模块的存放目录如aggs、reindex、geoip、xpack、evalplugins包含所有已安装插件
启动./bin/elasticsearch直接启动 或 ./bin/elasticsearch -d后台启动 浏览器输入http://localhost:9200/ 使用下面的命令启动集群
#启动单节点
bin/elasticsearch -E node.namenode0 -E cluster.namegeektime -E path.datanode0_data -d#启动集群启动几个实例就运行几次
bin/elasticsearch -E node.namenode0 -E cluster.namegeektime -E path.datanode0_data -d
bin/elasticsearch -E node.namenode1 -E cluster.namegeektime -E path.datanode1_data -d
bin/elasticsearch -E node.namenode2 -E cluster.namegeektime -E path.datanode2_data -d
bin/elasticsearch -E node.namenode3 -E cluster.namegeektime -E path.datanode3_data -d#查看集群
GET http://localhost:9200
#查看nodes
GET _cat/nodes
GET _cluster/health#退出
ps -ef | grep elasticsearch然后kill 对应的pid
安装插件
#查看已安装的插件
./bin/elasticsearch-plugin list#安装国际化分析插件 analysis-icu
./bin/elasticsearch-plugin install analysis-icu#重新启动
./bin/elasticsearch
在浏览器打开http://localhost:9200/_cat/plugins?v 进入 https://www.elastic.co/guide/en/elasticsearch/plugins/7.10/intro.html 可以查看指定版本的插件列表 安装Kibana
进入 https://www.elastic.co/cn/downloads/kibana 下载对应版本的Kibana安装包需要个ES版本一致然后解压执行 ./bin/kibana需要先启动Elasticsearch
访问 http://localhost:5601/app/kibana 打开Kibana控制台 可以添加一些测试数据点上面的“Add sample data”然后选择“Sample data” 然后从Dashboard中可以看到刚才添加的数据
安装Kibana的插件和ES类似
#查看已安装的Kibana插件
./bin/kibana-plugin list#安装Kibana插件
./bin/kibana-plugin install plugin_location#移除Kibana插件
./bin/kibana-plugin remove
安装Logstash
进入 https://www.elastic.co/cn/downloads/past-releases#logstash 下载和ES相同版本的Logstash安装包这里我下载7.1版本的。
下载MovieLens最小测试数据集https://grouplens.org/datasets/movielens/ 解压Logstash安装包并且导入Movielens的测试数据集。
也可以从这里下载https://gitee.com/rxbook/elasticsearch-demo/tree/master
#下载与ES相同版本号的logstash7.1.0并解压到相应目录
#修改movielens目录下的logstash.conf文件
#path修改为,你实际的movies.csv路径
input {file {path YOUR_FULL_PATH_OF_movies.csvstart_position beginningsincedb_path /dev/null}
}#启动Elasticsearch实例然后启动 logstash并指定配置文件导入数据(操作比较耗时耐心等待)
sudo bin/logstash -f /YOUR_PATH_of_logstash.conf
数据导入中...