Elasticsearch 学习笔记Day 02

115 阅读2分钟

hi,我是蛋挞,一个初出茅庐的后端开发,希望可以和大家共同努力、共同进步!


开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 2 天,点击查看活动详情

  • 起始标记->安装上手(4讲):「05 | Elasticsearch的安装与简单配置」
  • 结尾标记->安装上手(4讲):「08 | Logstash安装与导入数据」

Elasticsearch的安装与简单配置

本地部署 & 水平扩展

  • 开发环境部署
  • 单节点,一个节点承担多种角色
  • 单机部署多个节点,便于了解学习分布式集群的工作机制

image.png

安装Java

  • 运行 Elasticsearch, 需安装并配置JDK
    • 设置$JAVA_HOME
  • 各个版本对Java的依赖
    • Elasticsearch 5 需要Java 8以上的版本
    • Elasticsearch 从 6.5 开始支持Java 11
    • www.elastic.co/support/mat…
    • 7.0 开始, 内置了Java 环境

获取Elasticsearch 安装包

  • 下载二进制文件

www.elastic.co/downloads/e…

  • 支持 Docker本地运行
  • Helm chart for kubernetes
  • Puppet Module

安装并运行 Elasticsearch

  1. 下载并解压Elasticsearch
  2. 运行bin/elasticsearch(或bin\elasticsearch.bat在Windows上)
  3. 运行curl http://localhost:9200/Invoke- RestMethod http://localhost: 9200使用PowerShell

Elasticsearch 的文件目录结构

image.png

JVM 配置

  • 修改 JVM - config/ jvm.options
    • 7.1下载的默认设置是1 GB
  • 配置的建议

运行 Elasticsearch

windows端:直接进入ES安装目录bin\目录下 双击**elasticsearch.bat**,即可启动 image.png image.png image.png

安装与查看插件

  • Elasticsearch 提供插件的机制对系统进行扩展
    • Discovery Plugin
    • Analysis Plugin
    • Security Plugin
    • Management Plugin
    • Ingest Plugin
    • Mapper Plugin
    • Backup Plugin

具体步骤如下: 进入bin\目录 使用cmd打开命令窗口 使用elasticsearch-plugin list命令查看当前本机为Elasticsearch安装的插件列表 image.png 使用elasticsearch-plugin install analysis-icu命令下载

  • analysis-icu:国际化分词插件

image.png 再次使用list命令查看列表 image.png 通过在浏览器地址栏输入_cat/plugins查看插件列表 image.png

如何在开发机上运行多个 Elasticserch 实例

#start multi-nodes Cluster elasticsearch -E node.name=node0 -E cluster.name=geektime -E path.data=node0_data elasticsearch -E node.name=node1 -E cluster.name=geektime -E path.data=node1_data elasticsearch -E node.name=node2 -E cluster.name=geektime -E path.data=node2_data elasticsearch -E node.name=node3 -E cluster.name=geektime -E path.data=node3_data

注意:windows下必须分别执行多个CMD 才能模拟多节点集群. image.png

#查看nodes GET _cat/nodes GET _cluster/health

image.png image.png

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_data elasticsearch -E node.name=node1 -E cluster.name=geektime -E path.data=node1_data elasticsearch -E node.name=node2 -E cluster.name=geektime -E path.data=node2_data elasticsearch -E node.name=node3 -E cluster.name=geektime -E path.data=node3_data

#查看集群 GET http://localhost:9200 #查看nodes GET _cat/nodes GET _cluster/health

相关阅读

Kibana的安装与界面快速浏览

解压安装并运行 Kibana

  1. 下载并解压 Kibana
  • 在编辑器中打开config/kibana.yml
  • 设置elasticsearch.url为指向的Elasticsearch实例
  1. 运行bin/kibana

image.png

  1. 将浏览器指向 http://localhost:5601

image.png

Kibana Console

  • Dev Tool
  • Search Profiler
  • Help + 一些快捷键

Kibana Plugins

image.png

CodeDemo

#启动kibana bin/kibana
#查看插件 bin/kibana-plugin list

相关阅读

在Docker容器中运行Elasticsearch Kibana和Cerebro

在本机Docker 环境中运行ELK Stack

image.png

Demo

  • 运行Docker-compose,本地构建更高效的开发环境,更直观地了解Elasticsearch 分布式特性
  • 集成Cerebro,方便查看集群状态

此处需要用windows安装DockerDesktop以及进行配置,本机出现WSL版本等级不够的问题,需要优先解决 image.png 解决方案如下:zhuanlan.zhihu.com/p/583002945 learn.microsoft.com/en-us/windo… blog.csdn.net/m0_49648190… image.png进入下载好的项目目录中,在地址栏输入powershell回车进入。 image.png image.png image.png

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

#删除所有容器 dockerrmdockerpsaq停止、启动、杀死、重启一个容器docker rm `docker ps -a -q` 停止、启动、杀死、重启一个容器 docker stop Name/ID dockerstartName/IDdocker start Name/ID docker kill Name/ID $docker restart name/ID

相关阅读

Logstash安装与导入数据

注意:请确保Logstash和Kibana与Elasticsearch版本相同

  1. 下载并解压缩Logstash
  2. 准备logstash.conf 配置文件

image.png

  1. 打开cmd,进入logstash的bin目录下,运行 bin/logstash -f logstash.conf

image.png

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

相关阅读

总结


实现安装并在本地运行一个Elasticsearch的实例,并可以在实例上安装需要的插件以及在开发机器上运行多个实例的集群,有助于在未来的学习中帮助理解Elasticsearch分布式集群的工作方式。实现下载并安装Kinbana,对Kinbana功能熟悉尝试使用Dev Tool。学习了如何在Docker容器中去运行一个Kibana和Elasticsearch以及简单的学习了Cerebro查看集群的健康状态。学习了如何下载并安装Logstash,同时下载测试数据集,并针对测试数据集编写配置文件,通过Logstash将测试数据集写入Elasticsearch,为后面去学习Elasticsearch查询做准备。

此文章为2月Day2学习笔记,内容来源于极客时间《Elasticsearch 核心技术与实战》