hi,我是蛋挞,一个初出茅庐的后端开发,希望可以和大家共同努力、共同进步!
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 2 天,点击查看活动详情
- 起始标记->安装上手(4讲):「05 | Elasticsearch的安装与简单配置」
- 结尾标记->安装上手(4讲):「08 | Logstash安装与导入数据」
Elasticsearch的安装与简单配置
本地部署 & 水平扩展
- 开发环境部署
- 单节点,一个节点承担多种角色
- 单机部署多个节点,便于了解学习分布式集群的工作机制
安装Java
- 运行 Elasticsearch, 需安装并配置JDK
- 设置$JAVA_HOME
- 各个版本对Java的依赖
- Elasticsearch 5 需要Java 8以上的版本
- Elasticsearch 从 6.5 开始支持Java 11
- www.elastic.co/support/mat…
- 7.0 开始, 内置了Java 环境
获取Elasticsearch 安装包
- 下载二进制文件
- 支持 Docker本地运行
- Helm chart for kubernetes
- Puppet Module
安装并运行 Elasticsearch
- 下载并解压Elasticsearch
- 运行
bin/elasticsearch(或bin\elasticsearch.bat在Windows上) - 运行
curl http://localhost:9200/或Invoke- RestMethod http://localhost: 9200使用PowerShell
Elasticsearch 的文件目录结构
JVM 配置
- 修改 JVM - config/ jvm.options
- 7.1下载的默认设置是1 GB
- 配置的建议
- Xmx和 Xms设置成一样
- Xmx 不要超过机器内存的50%
- 不要超过30GB - www.elastic.co/blog/a-heap…
运行 Elasticsearch
windows端:直接进入ES安装目录bin\目录下 双击**elasticsearch.bat**,即可启动
安装与查看插件
- Elasticsearch 提供插件的机制对系统进行扩展
- Discovery Plugin
- Analysis Plugin
- Security Plugin
- Management Plugin
- Ingest Plugin
- Mapper Plugin
- Backup Plugin
具体步骤如下:
进入bin\目录 使用cmd打开命令窗口
使用elasticsearch-plugin list命令查看当前本机为Elasticsearch安装的插件列表
使用
elasticsearch-plugin install analysis-icu命令下载
- analysis-icu:国际化分词插件
再次使用list命令查看列表
通过在浏览器地址栏输入
_cat/plugins查看插件列表
如何在开发机上运行多个 Elasticserch 实例
#start multi-nodes Cluster
elasticsearch -E node.name=node0 -E cluster.name=geektime -E path.data=node0_dataelasticsearch -E node.name=node1 -E cluster.name=geektime -E path.data=node1_dataelasticsearch -E node.name=node2 -E cluster.name=geektime -E path.data=node2_dataelasticsearch -E node.name=node3 -E cluster.name=geektime -E path.data=node3_data
注意:windows下必须分别执行多个CMD 才能模拟多节点集群.
#查看nodes
GET _cat/nodesGET _cluster/health
CodeDemo
#启动单节点
bin/elasticsearch -E node.name=node0 -E cluster.name=geektime -E path.data=node0_data#安装插件
bin/elasticsearch-plugin install analysis-icu#查看插件
bin/elasticsearch-plugin list#查看安装的插件
GET http://localhost:9200/_cat/plugins?v#start multi-nodes Cluster
elasticsearch -E node.name=node0 -E cluster.name=geektime -E path.data=node0_dataelasticsearch -E node.name=node1 -E cluster.name=geektime -E path.data=node1_dataelasticsearch -E node.name=node2 -E cluster.name=geektime -E path.data=node2_dataelasticsearch -E node.name=node3 -E cluster.name=geektime -E path.data=node3_data#查看集群
GET http://localhost:9200#查看nodesGET _cat/nodesGET _cluster/health
相关阅读
- 安装指南 www.elastic.co/guide/en/el…
- Elastic Support Matrix(OS / JDK ) www.elastic.co/cn/support/…
- Elasticsearch 的一些重要配置 www.elastic.co/guide/en/el…
- www.elastic.co/guide/en/el…
- www.elastic.co/guide/en/el…
- Elasticsearch on Kuvernetes www.elastic.co/cn/blog/int…
- CAT Plugins API www.elastic.co/guide/en/el…
Kibana的安装与界面快速浏览
解压安装并运行 Kibana
- 下载并解压 Kibana
- 在编辑器中打开config/kibana.yml
- 设置
elasticsearch.url为指向的Elasticsearch实例
- 运行
bin/kibana
- 将浏览器指向 http://localhost:5601
Kibana Console
- Dev Tool
- Search Profiler
- Help + 一些快捷键
Kibana Plugins
CodeDemo
#启动kibana
bin/kibana
#查看插件bin/kibana-plugin list
相关阅读
在Docker容器中运行Elasticsearch Kibana和Cerebro
在本机Docker 环境中运行ELK Stack
- 下载安装Docker与Docker Compose
- Docker-compose相关命令
- 运行docker-compose up
- docker compose down
- docker compose down -V
- docker stop / rm containerlD
Demo
- 运行Docker-compose,本地构建更高效的开发环境,更直观地了解Elasticsearch 分布式特性
- 集成Cerebro,方便查看集群状态
此处需要用windows安装DockerDesktop以及进行配置,本机出现WSL版本等级不够的问题,需要优先解决
解决方案如下:zhuanlan.zhihu.com/p/583002945
learn.microsoft.com/en-us/windo…
blog.csdn.net/m0_49648190…
进入下载好的项目目录中,在地址栏输入powershell回车进入。
CodeDemo
#启动 docker-compose up
#停止容器 docker-compose down
#停止容器并且移除数据 docker-compose down -v
#一些docker 命令 docker ps docker stop Name/ContainerId docker start Name/ContainerId
#删除单个容器 $docker rm Name/ID -f, –force=false; -l, –link=false Remove the specified link and not the underlying container; -v, –volumes=false Remove the volumes associated to the container
#删除所有容器 docker stop Name/ID docker kill Name/ID $docker restart name/ID
相关阅读
- 安装docker www.docker.com/products/do…
- 安装 docker-compose docs.docker.com/compose/ins…
- 如何创建自己的Docker Image - www.elastic.co/cn/blog/how…
- 如何在为docker image安装 Elasticsearch 插件 - www.elastic.co/cn/blog/ela…
- 如何设置 Docker 网络 - www.elastic.co/cn/blog/doc…
- Cerebro 源码 github.com/lmenezes/ce…
- 一个开源的 ELK(Elasticsearch + Logstash + Kibana) docker-compose 配置 github.com/deviantony/…
- Install Elasticsearch with Docker www.elastic.co/guide/en/el…
Logstash安装与导入数据
注意:请确保Logstash和Kibana与Elasticsearch版本相同
- 下载并解压缩Logstash
- 准备logstash.conf 配置文件
- 打开cmd,进入logstash的bin目录下,运行
bin/logstash -f logstash.conf
CodeDemo
安装Logstash,并且导入Movielens的测试数据集
- Small: 100,000 ratings and 3,600 tag applications applied to 9,000 movies by 600 users. Last updated 9/2018.
- movielens/ml-latest-small/movies.csv movie数据
- movielens/logstash.conf //logstash 7.x 配置文件,
- movielens/logstash6.conf //logstash 6.x 配置文件
#下载与ES相同版本号的logstash,(7.1.0),并解压到相应目录 #修改movielens目录下的logstash.conf文件 #path修改为,你实际的movies.csv路径 input { file { path => "YOUR_FULL_PATH_OF_movies.csv" start_position => "beginning" sincedb_path => "/dev/null" } }
#启动Elasticsearch实例,然后启动 logstash,并制定配置文件导入数据bin/logstash -f /YOUR_PATH_of_logstash.conf
相关阅读
- 下载最MovieLens最小测试数据集:grouplens.org/datasets/mo…
- Logstash下载:www.elastic.co/cn/download…
- Logstash参考文档:www.elastic.co/guide/en/lo…
总结
实现安装并在本地运行一个Elasticsearch的实例,并可以在实例上安装需要的插件以及在开发机器上运行多个实例的集群,有助于在未来的学习中帮助理解Elasticsearch分布式集群的工作方式。实现下载并安装Kinbana,对Kinbana功能熟悉尝试使用Dev Tool。学习了如何在Docker容器中去运行一个Kibana和Elasticsearch以及简单的学习了Cerebro查看集群的健康状态。学习了如何下载并安装Logstash,同时下载测试数据集,并针对测试数据集编写配置文件,通过Logstash将测试数据集写入Elasticsearch,为后面去学习Elasticsearch查询做准备。
此文章为2月Day2学习笔记,内容来源于极客时间《Elasticsearch 核心技术与实战》