前言
Elasticsearch是一个搜索引擎,但又不仅仅是简单的搜索引擎。它支持大数据量的模糊搜索,TB甚至PB也不在话下。而其技术支持的商业公司Elastic更推出了很多的开源或闭源的产品,结合这些产品,我们可以将Elasticsearch应用于非常多的场景。如日志分析、数据分析、报表渲染、模糊匹配等等。Elasticsearch底层基于Lucene,在其之上增加了水平扩展、集群的支持,这样更能应对大数据量和线上的高吞吐和低延迟场景。国内国外的很多知名的公司,也都在使用Elasticsearch来支撑其业务功能。生态非常丰富,相关的技术文档和学习书籍也很多。
因此,楼主认为Elasticsearch是非常值得学习的一门技术。为了更全面和系统地学习并理解Elasticsearch,楼主特意在极客时间上购买了阮一鸣老师的视频课程 - 《Elasticsearch核心技术与实战》。希望将学习过程中的心得和笔记进行总结,使自己得以提升,也希望能帮助到更多有志于了解Elasticsearch的同学。
下载和安装
在Elasticsearch官网,有各种系统的安装文档,包括Linux、Windows和Mac OS。因为楼主是Windows系统,所以通过以下链接来下载。
https://www.elastic.co/guide/en/elasticsearch/reference/current/zip-windows.html
在Windows下,安装包其实是一个zip包,我们解压缩之后,看到很多的目录,从字面意思上,我们很容易读懂其意思。
目录名 | 说明 |
---|---|
bin | 脚本文件,包括启动脚本、安装插件脚本等 |
config | 配置文件,如elasticsearch.yml、jvm.options |
jdk | java运行环境 |
data | 数据文件 |
lib | java类库 |
logs | 日志文件 |
modules | es的模块 |
plugins | 下载并安装的插件 |
config目录下比较重要的配置包括:
- jvm.options,JVM配置,可设置jvm参数
- elasticsearch.yml,可用于elasticsearch框架的配置
- log4j2.properties,可用于设置日志文件的信息
在Windows下Elasticsearch的启动命令为:bin/elasticsearch.bat
。启动之后,如果要检查是否已启动,可访问 http://localhost:9200/ 来查看返回信息。正常情况下返回类似如下的信息:
{
"name" : "PC-201811072055",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "0IzcUNlZRCqEVhw6MuVZ6w",
"version" : {
"number" : "7.2.0",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "508c38a",
"build_date" : "2019-06-20T15:54:18.811730Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
安装插件
一般使用elasticsearch-plugin.bat
来安装插件。
- bin/elasticsearch-plugin.bat list -- 查看已安装的插件
- bin/elasticsearch-plugin.bat install $xxxPluginName -- 安装插件
通过查看官网的文章,我们可以看到一些插件,cat-plugins.html。以analysis-icu插件为例,安装的命令为:bin/elasticsearch-plugin.bat install analysis-icu
。安装完成之后,我们重启Elasticsearch,在浏览器通过访问以下url来查看插件的安装情况。
http://localhost:9200/_cat/plugins
单机运行多实例
默认的Elasticsearch是以单实例的方式运行的,集群名称为elasticsearch
。如果想单机运行多实例,可在启动脚本后跟上更多的配置参数来实现。
bin/elasticsearch.bat -E node.name=node0 -E cluster.name=clusterName -E path.data=node0_data -d
bin/elasticsearch.bat -E node.name=node1 -E cluster.name=clusterName -E path.data=node1_data -d
bin/elasticsearch.bat -E node.name=node2 -E cluster.name=clusterName -E path.data=node2_data -d
bin/elasticsearch.bat -E node.name=node3 -E cluster.name=clusterName -E path.data=node3_data -d
在这个例子中,我们启动了4个实例,他们同属一个名叫clusterName
的集群,节点名为node0到node4,数据路径位于node0_data到node1_data。
我们可通过访问 http://localhost:9200/_cat/nodes,来查看集群下的所有实例列表。
总结
我们简单地了解了Elasticsearch的下载和安装,以及插件的安装,最后我们也了解了如何在单机部署多实例。
网友评论