@

1、什么Elasticsearch?

Elasticsearch是一款开源的分布式搜索引擎,基于 JSON 开发而来,具有 RESTful 风格,基于 Apache Lucene 的基础上开发而成的

引用官网的说法:

官方文档已经做了比较详细的介绍,所以本博客不做详细介绍,只介绍,基于docker的Elasticsearch安装部署

2、安装elasticsearch

环境准备:

  • elasticsearch7.2.0
  • docker环境

相关工具软件:

  • VM VisualBox
  • xShell,Xftp

docker入门博客可以参考我的docker系统博客专栏:链接

docker镜像搜索:

docker search elasticsearch

需要加上版本,不加版本默认是laster(最新)版本,貌似没提供laster版本

docker pull elasticsearch:7.2.0

查看所有镜像:

docker images



运行docker镜像:

  • -p 隐射端口
  • -e 设置参数,discovery.type=single-node,设置单节点,ES_JAVA_OPTS="-Xms256m -Xmx256m",设置JVM参数
  • -d 后台运行
  • --name 节点名称
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d --name ES01 elasticsearch:7.2.0

linux内用curl访问:

curl http://localhost:9200



浏览器直接访问也是可以的:http://your_ip_addr:9200

3、目录结构



| 目录 | 配置文件 | 描述 |

|--|--|--|--|

|bin | |脚本文件,包括启动 Elasticsearch、安装插件,运行统计数据等。

|config | elasticsearch.yml |集群配置文件 |

|JDK | |Java 运行环境|

|data| path.data |数据文件|

|lib | |Java 类库 |

|logs |path.logs | 日志文件|

|modules| |包含所有 ES 模块|

|plugins| |包含所有已安装插件|

4、常用命令

  • _cat 参数

    _cat 参数可以查看支持的命令
[root@localhost ~]#  curl localhost:9200/_cat
=^.^=
/_cat/allocation
/_cat/shards
/_cat/shards/{index}
/_cat/master
/_cat/nodes
/_cat/tasks
/_cat/indices
/_cat/indices/{index}
/_cat/segments
/_cat/segments/{index}
/_cat/count
/_cat/count/{index}
/_cat/recovery
/_cat/recovery/{index}
/_cat/health
/_cat/pending_tasks
/_cat/aliases
/_cat/aliases/{alias}
/_cat/thread_pool
/_cat/thread_pool/{thread_pools}
/_cat/plugins
/_cat/fielddata
/_cat/fielddata/{fields}
/_cat/nodeattrs
/_cat/repositories
/_cat/snapshots/{repository}
/_cat/templates
  • ?v 参数

    ?v 参数,来显示详细的信息
[root@localhost ~]# curl localhost:9200/_cat/master?v
id host ip node
8x63m-D8Q2CP4xRbq7rEFA 172.17.0.2 172.17.0.2 7610b4e6e11b
  • 其它常用命令:

    • 查看所有插件:http://your_ip_addr:9200/_cat/plugins?v
    • 查看所有索引:http://your_ip_addr:9200/_cat/indices?v
    • 对ES进行健康检查:http://your_ip_addr:9200/_cat/health?v
    • 查看当前的磁盘占用率:http://your_ip_addr:9200/_cat/allocation?v
  • help参数

    help 参数,来输出可以显示的列

[root@localhost ~]# curl localhost:9200/_cat/master?help
id | | node id
host | h | host name
ip | | ip address
node | n | node name
  • h参数

    h 参数,可以指定输出的字段
[root@localhost ~]# curl localhost:9200/_cat/master?h=host,ip,node
172.17.0.2 172.17.0.2 7610b4e6e11b

5、插件安装

插件安装可以用elasticsearch-plugin install url命令

比如安装:elasticsearch-analysis-ik

docker进入容器命令,id为9689b3dc982e

docker exec -it 9689b3dc982e /bin/bash

plugins安装步骤:

# cd plugins
cd /usr/share/elasticsearch/plugins/
# 安装插件
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip
# 退出容器
exit
# 重启docker容器
docker restart 9689b3dc982e

6、elasticsearch-head

elasticsearch-head是用于Elasticsearch监控的插件

镜像 pull

docker pull mobz/elasticsearch-head:5



启动容器

docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5





可能遇到问题:

  • 点连接后台报错,可能是不支持跨域访问,需要设置跨域
cd /usr/share/elasticsearch/config/
vi elasticsearch.yml

在elasticsearch.yml的文件末尾加上:

http.cors.enabled : true
http.cors.allow-origin : "*"
  • 遇到 max virtual memory areas vm.maxmapcount [65530] is too low 报错,可以执行下述命令
sysctl -w vm.max_map_count=262144

附录:参考资料

https://www.elastic.co/guide/en/elasticsearch/reference/7.2/docker.html

https://www.lixueduan.com/post/elasticsearch/01-install-by-docker/

https://www.elastic.co/guide/cn/elasticsearch/guide/current/_indexing_employee_documents.html

https://segmentfault.com/a/1190000020140461

Docker系列之Elasticsearch安装教程的更多相关文章

  1. Docker系列之MySQL安装教程

    Docker系列之MySQL安装教程 有了前面的基础教程Docker系列之常用命令操作手册之后,本博客记录一篇mysql的安装教程 mysql镜像查询命令 docker search mysql 几个 ...

  2. elasticsearch安装教程

    目录 1 java8 环境 2 安装elasticsearch 3 安装kibana 4. 单服务器部署多个节点 参考: 1 java8 环境 elasticsearch需要安装java 8 环境,配 ...

  3. 《⑨也懂系列:MinGW-w64安装教程》著名C/C++编译器GCC的Windows版本(MinGW-w64在安装的时候可以选择版本,有图,一步一步)

    发布日期 2016年10月31日 分类 教程 标签 编程.软件 前言<⑨也懂系列:MinGW-w64安装教程>这篇文章由 rsreland (http://rsreland.net)于 2 ...

  4. Docker的介绍与安装教程

    基于Windows系统下docker的介绍与安装教程以及更换docker镜像源教程 目录 基于Windows系统下docker的介绍与安装教程以及更换docker镜像源教程 Docker的核心概念 D ...

  5. windows环境下elasticsearch安装教程(超详细)

    一.安装jdk ElasticSearch是基于lucence开发的,也就是运行需要java jdk支持.所以要先安装JAVA环境. 由于ElasticSearch 5.x 往后依赖于JDK 1.8的 ...

  6. docker环境下elasticsearch安装ik和拼音分词

    elasticsearch拼音分词地址:https://github.com/medcl/elasticsearch-analysis-pinyin/releases 在elasticsearch下面 ...

  7. Docker系列(九)Kubernetes安装

    环境: A.B两天机器A机器IP:192.169.0.104,B机器IP:192.168.0.102,其中A为Master节点,B为Slave节点 操作系统:Centos7 Master与Slave节 ...

  8. Docker系列(七)Shipyard安装及介绍

    Shipyard 是一个基于 Web 的 Docker 管理工具,支持多 host,可以把多个 Docker host 上的 containers 统一管理:可以查看 images,甚至 build ...

  9. Docker系列之CentOS7安装Docker(一)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 一.瞎扯淡(只讲有用的) 感兴趣的同学可以上网搜索一下docker具体的介绍.我这边主要介绍偏实战的内容,不喜勿喷,有问题也请指出 ...

  10. linux下elasticsearch安装教程

    centos 7.5安装 elasticsearch 第一步,安装elasticsearch需要Java8 首先使用 yum list installed | grep java 查看安装的Java版 ...

随机推荐

  1. Plotting and visualization through matplotlib and pandas

    Plotting and visualization through matplotlib and pandas %matplotlib notebook import matplotlib.pypl ...

  2. Advanced pandas

    Advanced pandas import numpy as np import pandas as pd Categorical Data This section introduces the ...

  3. CountDownLatch和FutureTask类使用方法解析

    摘要:使用CountDownLatch和FutureTask解决主线程需要拿到多个子线程任务的执行结果之后再进行执行的问题. 综述   我们在工作中,经常遇到有些业务场景需要使用多线程异步执行任务,从 ...

  4. Linux命令之Telnet的使用方法

    无论是linux还是windows,在命令行下,telnet命令都可以用于查看某个远端主机端口或者服务域名是否可以访问,语法糖如下: telnet IP 端口 telnet 域名 端口(即:telne ...

  5. CSharp中的文件操作

    在C#中,可以使用System.IO命名空间中的类来进行Windows文件操作.这些类提供了丰富的方法来处理文件和目录,包括创建.复制.删除.移动文件和目录,以及读取和写入文件等功能. 常用文件操作方 ...

  6. shell脚本加密软件shc

    一.简单介绍 shc是linux的一款加密脚本的插件,将shc放到系统的可执行目录下我们可以直接运行shc命令 二.shc的安装 [root@disk ~]#yum install gcc -y [r ...

  7. Java源码分析系列笔记-1.JMM模型之先谈硬件

    目录 1. 冯诺依曼体系结构 2. 高速缓存 2.1. 工作原理 2.2. 存储器层次结构 2.3. 局部性原理 3. 缓存一致性/可见性问题 3.1. 如何解决 3.1.1. 总线加锁 3.1.2. ...

  8. SQL Server 链接服务器"XXXXXXX"的 OLE DB 访问接口 "SQLNCLI11" 返回了消息 "没有活动事务。"。

    一.确保互联双方服务器MS DTC服务已启动并正确配置 打开"服务"管理控制台(services.msc) 找到"Distributed Transaction Coor ...

  9. java--jdbc优化

    BeanUtils组件 程序中对javabean的操作很频繁, 所以apache提供了一套开源的api,方便对javabean的操作!即BeanUtils组件. BeanUtils组件, 作用是简化j ...

  10. N1的openwrt的docker下安装homeassistant

    docker配置 Docker>配置 修改默认桥接的地址为路由器ip(如果n1作为旁路由的话 则则这里填写主路由的ip) 获取docker镜像 拉取homeassistant最新docker镜像 ...