介绍及安装
-
ES版本问题:
- 2015:2.0
- 2016:5.0
- Lucene 6.X
- 2017:6.0
- Lucene 7.X
- 2019:7.0
- Lucene 8.0
-
python客户端对以上各版本都提供了支持:
-
elasticsearch-py
:低层库,只提供了Elasticsearch REST API的简单封装。个人更推荐这种原生一点的方式。
https://github.com/elastic/elasticsearch-py -
elasticsearch-dsl-py
:高层库,基于elasticsearch-py
-
-
Elastic Stack 生态圈
- 可视化:Kibana
- 存储/计算:Elasticsearch
- 数据抓取:
- Logstash 开源的数据处理管道,支持从不同的来源采集数据,转化数据,并将数据发送到不同的存储库中
- Beat 轻量的数据采集器
- X-Pack 商业套件
-
安装:https://www.elastic.co/downloads/elasticsearch
-
7.0之前需要安装Java开发环境并配置环境变量
-
7.0开始内置了Java开发环境,安装更简单
-
-
ES文件目录说明:
directory file desc bin 脚本文件,包含启动es,安装插件,运行统计数据等 confi elasticsearch.yml jvm.options 集群,用户,角色相关配置 JDK Java运行环境 data path.data 数据文件 lib Java类库 logs path.log 日志文件 modules ES模块 plugins 插件 -
JVM配置 — config/jvm.options:
-Xms1g -Xmx1g
- 7.1 默认是1GB
- 建议配置:
- Xms 和 Xmx 配置成一样的
- Xmx 不要超过机器内存的 50%
- 不要操作30GB
-
启动:
bin/elasticsearch # bin/elasticsearch.bat windows平台
访问本机
localhost:9200
即可是否运行成功 -
插件安装:
bin/elasticsearch-plugin list # 查看已安装插件列表 bin/elasticsearch-plugin install analysis-icu # 安装analysis-icu插件(国际化的分词插件)
也可以通过访问本机
localhost:9200/_cat/plugins
查看已安装插件信息 -
本机运行ES多实例
设置节点名称,相同的集群名,数据存放地址bin/elasticsearch -E node.name=node0 -E cluster.name=geektime -E path.data=node0_data -d # 以dammon的方式运行节点node0 bin/elasticsearch -E node.name=node1 -E cluster.name=geektime -E path.data=node1_data -d bin/elasticsearch -E node.name=node2 -E cluster.name=geektime -E path.data=node2_data -d bin/elasticsearch -E node.name=node3 -E cluster.name=geektime -E path.data=node3_data -d
访问本机
localhost:9200/_cat/nodes
即可查看运行的节点 -
kibana 的下载及安装
-
官网下载安装
-
运行(kibana依赖es,需要提前启动es),默认5601端口
-
devTools 工具方便调试ES
-
插件安装
kibana-plugin install xxx kibana-plugin list kibana-plugin remove
访问本机
http://localhost:5601
查看。记坑:我启动kibana时报错,原因是本地开了turnel,kibana没有找到本机的es。 -
-
Docker中运行ES
-
Cerebro:可以方便查看es运行的内部状态
-
Logstash
-
安装,保证和es版本一致。官网下载zip包。
-
中文配置:kibana.yml 加入如下内容
i18n.locale: "zh-CN"
-
启动报错,找不到Java,将ES目录下的java库bin目录添加到windows环境变量即可
JAVA_HOME shouldn't point to the java.exe executable but to the root of the installation directory (the one containing directories like bin and lib)
后续在运行logstash-plugin时再次报错,更改目录为bin的上级目录正常了。。。
-
数据导入无成功,windows下路径要用
/
:input { file { path => "D:/Anwendungen/ml-latest-small/movies.csv" start_position => "beginning" sincedb_path => "D:/Anwendungen/ml-latest-small/abc" } }
-