当前位置: 首页 >服务端 > Docker系列之Elasticsearch安装教程

Docker系列之Elasticsearch安装教程

Docker系列之Elasticsearch安装教程 _ JavaClub全栈架构师技术笔记

1、什么Elasticsearch?

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

引用官网的说法:
Docker系列之Elasticsearch安装教程 _ JavaClub全栈架构师技术笔记

官方文档已经做了比较详细的介绍,所以本博客不做详细介绍,只介绍,基于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系列之Elasticsearch安装教程 _ JavaClub全栈架构师技术笔记
运行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

Docker系列之Elasticsearch安装教程 _ JavaClub全栈架构师技术笔记
浏览器直接访问也是可以的:http://your_ip_addr:9200
Docker系列之Elasticsearch安装教程 _ JavaClub全栈架构师技术笔记

3、Elasticsearch目录结构

Docker系列之Elasticsearch安装教程 _ JavaClub全栈架构师技术笔记

目录配置文件描述
bin脚本文件,包括启动 Elasticsearch、安装插件,运行统计数据等。
configelasticsearch.yml集群配置文件
JDKJava 运行环境
datapath.data数据文件
libJava 类库
logspath.logs日志文件
modules包含所有 ES 模块
plugins包含所有已安装插件

4、Elasticsearch常用命令

  • _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?vid hostip node8x63m-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?helpid|| node idhost | h | host name  ip|| ip address node | n | node name  
  • h参数
    h 参数,可以指定输出的字段
[root@localhost ~]# curl localhost:9200/_cat/master?h=host,ip,node172.17.0.2 172.17.0.2 7610b4e6e11b

5、Elasticsearch插件安装

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

比如安装:elasticsearch-analysis-ik

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

docker exec -it 9689b3dc982e /bin/bash

plugins安装步骤:

# cd pluginscd /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系列之Elasticsearch安装教程 _ JavaClub全栈架构师技术笔记
启动容器

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

Docker系列之Elasticsearch安装教程 _ JavaClub全栈架构师技术笔记
Docker系列之Elasticsearch安装教程 _ JavaClub全栈架构师技术笔记
可能遇到问题:

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

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

http.cors.enabled : truehttp.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

作者:smileNicky
来源链接:https://blog.csdn.net/u014427391/article/details/107254714

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/server/68596.html

分享给朋友:

“Docker系列之Elasticsearch安装教程” 的相关文章