1. Elasticsearch 介绍
Elasticsearch 是一个实时的分布式搜索分析引擎, 它能让你以一个之前从未有过的速度和规模,去探索你的数据。 它被用作全文检索、结构化搜索、分析以及这三个功能的组合
Elasticsearch是一个基于Apache Lucene™的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。 但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。 Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
2. 应用场景:
- 提供快速查询
如果网站上游很多的帖子,在众多的帖子中查找"分片" 这个词就非常耗时。如果你不愿意一直等着,用Elasticsearch就可以了。 - 作为后端系统
Elasticsearch 提供了持久化存储,统计和很多其他数据存储的特性、不过Elasticesearch不支持事务。 - 处理日志。 用于存储,搜索和分析海量日志,可以使用Rsyslog ,Logstash或者Apache Flume等日志工具。为了通过可视化界面搜索和分析日志,可以使用Kibana
3. 安装Elasticsearch
- 几种安装方式
官网:官方文档
我们从官方文档中选择RPM安装方式:
操作系统为centos7
1)下载和安装public signing key:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2) 使用yum仓库配置安装
cd /etc/yum.repo.d vim elasticsearch.repo[elasticsearch]name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=0 autorefresh=1 type=rpm-md
yum install --enablerepo=elasticsearch elasticsearch
3) 启动Elasticsearch
/bin/systemctl daemon-reload /bin/systemctl enable elasticsearch.service systemctl start elasticsearch.service
4) 测试是否安装成功
[root@xinsz07 ~]# curl 'http://localhost:9200/?pretty'{ "name" : "xinsz07", "cluster_name" : "elasticsearch", "cluster_uuid" : "Kk3o1d6ZRQi8ZXqeSooTLA", "version" : {"number" : "7.5.1","build_flavor" : "default","build_type" : "rpm","build_hash" : "3ae9ac9a93c95bd0cdc054951cf95d88e1e18d96","build_date" : "2019-12-16T22:57:37.835892Z","build_snapshot" : false,"lucene_version" : "8.3.0","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search"}
4. 查看相关配置目录及配置文件
rpm -ql elasticsearch #查看elasticsearch软件安装了哪些目录/etc/elasticsearch/elasticsearch.yml #配置文件/etc/elasticsearch/jvm.options#jvm虚拟机配置文件/etc/init.d/elasticsearch #init启动文件/etc/sysconfig/elasticsearch #环境变量配置文件/usr/lib/sysctl.d/elasticsearch.conf #sysctl变量文件,修改最大描述符/usr/lib/systemd/system/elasticsearch.service #systemd启动文件/var/lib/elasticsearch # 数据目录/var/log/elasticsearch #日志目录/var/run/elasticsearch #pid目录
日志里的启动日志:[root@xinsz07 elasticsearch]# vim elasticsearch.log [root@xinsz07 elasticsearch]# pwd/var/log/elasticsearch