1、简介

1.1、概述

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。

1.2、官网

Elasticsearch 官网

2、准备工作

2.1、安装 Docker

CentOS7 安装 Docker

2.2、创建 bridge 网络并指定 IP 区间

# 创建自定义网络
docker network create --driver bridge --subnet 172.0.0.0/16 woniu_network# 查看已存在网络
docker network ls

2.3、创建数据和配置存放目录

# 创建主节点数据存放目录
mkdir -p /home/docker/elasticsearch/master/data \
&& chmod 777 /home/docker/elasticsearch/master/data
# 创建主节点配置存放目录
mkdir -p /home/docker/elasticsearch/master/config \
&& chmod 777 /home/docker/elasticsearch/master/config
# 创建主节点日志存放目录
mkdir -p /home/docker/elasticsearch/master/logs \
&& chmod 777 /home/docker/elasticsearch/master/logs
# 创建主节点插件存放目录
mkdir -p /home/docker/elasticsearch/master/plugins \
&& chmod 777 /home/docker/elasticsearch/master/plugins# 创建从节点1数据存放目录
mkdir -p /home/docker/elasticsearch/node-1/data \
&& chmod 777 /home/docker/elasticsearch/node-1/data
# 创建从节点1配置存放目录
mkdir -p /home/docker/elasticsearch/node-1/config \
&& chmod 777 /home/docker/elasticsearch/node-1/config
# 创建从节点1日志存放目录
mkdir -p /home/docker/elasticsearch/node-1/logs \
&& chmod 777 /home/docker/elasticsearch/node-1/logs
# 创建从节点1插件存放目录
mkdir -p /home/docker/elasticsearch/node-1/plugins \
&& chmod 777 /home/docker/elasticsearch/node-1/plugins

2.4、编辑单机版配置文件

# 进入主节点配置文件目录
cd /home/docker/elasticsearch/master/config
# 编辑单机版配置文件
vi elasticsearch.yml# 拷贝如下内容
# ============ 分隔符 =======================# 集群名称
cluster.name: woniu# 当前该节点的名称
node.name: master# 设置网关地址
network.host: 0.0.0.0# 设置映射端口
http.port: 9200discovery.seed_hosts: ["127.0.0.1", "[::1]"]# 支持跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
http.cors.allow-credentials: true# 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算
cluster.initial_master_nodes: ["master"]

2.5、编辑集群版-主节点配置文件

# 进入主节点配置文件目录
cd /home/docker/elasticsearch/master/config
# 编辑集群版-主节点配置文件
vi elasticsearch.yml# 拷贝如下内容
# ============ 分隔符 =======================# 集群名称
cluster.name: woniu# 当前该节点的名称
node.name: master# 当前该节点是不是有资格竞选主节点
node.master: true# 当前该节点是否存储数据
node.data: true# 最大集群节点数
node.max_local_storage_nodes: 2# 设置网关地址
network.host: 0.0.0.0# 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址。
network.publish_host: 192.168.1.217# 设置映射端口
http.port: 9200# 内部节点之间沟通端口
transport.tcp.port: 9300# 支持跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
http.cors.allow-credentials: true# 集群发现
discovery.seed_hosts: ["192.168.1.217:1913","192.168.1.217:1923"]# 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算
cluster.initial_master_nodes: ["master","node-1"]

2.5、编辑集群版-从节点配置文件

# 进入从节点1配置文件目录
cd /home/docker/elasticsearch/node-1/config
# 编辑集群版-从节点配置文件
vi elasticsearch.yml# 拷贝如下内容
# ============ 分隔符 =======================# 集群名称
cluster.name: woniu# 当前该节点的名称
node.name: node-1# 当前该节点是不是有资格竞选主节点
node.master: true# 当前该节点是否存储数据
node.data: true# 最大集群节点数
node.max_local_storage_nodes: 2# 设置网关地址
network.host: 0.0.0.0# 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址。
network.publish_host: 192.168.1.217# 设置映射端口
http.port: 9200# 内部节点之间沟通端口
transport.tcp.port: 9300# 支持跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
http.cors.allow-credentials: true# 集群发现
discovery.seed_hosts: ["192.168.1.217:1913","192.168.1.217:1923"]# 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算
cluster.initial_master_nodes: ["master","node-1"]

3、安装 Elasticsearch

3.1、安装 Elasticsearch 单机版

# 安装 Elasticsearch 单机版
docker run -d -p 9201:9200 -p 9301:9300 \
--name elasticsearch_master \
--restart=always \
--network woniu_network \
--ip 172.0.0.91 \
--cpuset-cpus="1" \
--memory="4G" \
-v /home/docker/elasticsearch/master/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/docker/elasticsearch/master/data/:/usr/share/elasticsearch/data/ \
-v /home/docker/elasticsearch/master/plugins/:/usr/share/elasticsearch/plugins/ \
-v /home/docker/elasticsearch/master/logs/:/usr/share/elasticsearch/logs/ \
-v /etc/localtime:/etc/localtime \
-e TZ="Asia/Shanghai" \
-e LANG="C.UTF-8" \
elasticsearch:7.12.1

3.2、安装 Elasticsearch 集群主节点

# 安装 Elasticsearch 集群主节点
docker run -d -p 9201:9200 -p 9301:9300 \
--name elasticsearch_master \
--restart=always \
--network woniu_network \
--ip 172.0.0.91 \
--cpuset-cpus="1" \
--memory="4G" \
-v /home/docker/elasticsearch/master/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/docker/elasticsearch/master/data/:/usr/share/elasticsearch/data/ \
-v /home/docker/elasticsearch/master/plugins/:/usr/share/elasticsearch/plugins/ \
-v /home/docker/elasticsearch/master/logs/:/usr/share/elasticsearch/logs/ \
-v /etc/localtime:/etc/localtime \
-e TZ="Asia/Shanghai" \
-e LANG="C.UTF-8" \
elasticsearch:7.12.1

3.3、安装 Elasticsearch 集群从节点

# 安装 Elasticsearch 集群主节点
docker run -d -p 9202:9200 -p 9302:9300 \
--name elasticsearch_node-1 \
--restart=always \
--network woniu_network \
--ip 172.0.0.92 \
--cpuset-cpus="1" \
--memory="4G" \
-v /home/docker/elasticsearch/node-1/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/docker/elasticsearch/node-1/data/:/usr/share/elasticsearch/data/ \
-v /home/docker/elasticsearch/node-1/plugins/:/usr/share/elasticsearch/plugins/ \
-v /home/docker/elasticsearch/node-1/logs/:/usr/share/elasticsearch/logs/ \
-v /etc/localtime:/etc/localtime \
-e TZ="Asia/Shanghai" \
-e LANG="C.UTF-8" \
elasticsearch:7.12.1

4、启动报错

4.1、情况一

max_map_count 文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量

ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]ERROR: Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/logs/woniu.log

解决方案

# elasticsearch用户拥有的内存权限太小,至少需要262144# 修改配置 sysctl.conf
sudo vi /etc/sysctl.conf# 添加下面配置:
vm.max_map_count=655360# 执行命令:
sysctl -p

4.2、情况二

Docker 安装文件目录权限问题

[0.000s][error][logging] Error opening log file 'logs/gc.log': Permission denied[0.000s][error][logging] Initialization of output 'file=logs/gc.log' using options 'filecount=32,filesize=64m' failed.

解决方案

# 修改无权限目录,示例
chmod 777 /home/docker/elasticsearch/master/logs

5、ElasticHD 可视化工具

5.1、安装 ElasticHD

docker run -d -p 9800:9800 \
--name elastichd \
--network woniu_network \
--ip 172.0.0.98 \
--link elasticsearch:woniu \
containerize/elastichd

5.2、访问地址

http://IP:9800

5.3、项目界面

Docker 安装 Elasticsearch 7.12.1相关推荐

  1. docker 安装elasticsearch

    1.安装jdk $  docker  pull  openjdk $ docker  run  -d  -it  --name myopenjdk  openjdk  /bin/bash 2.安装el ...

  2. 使用Docker 安装Elasticsearch、Elasticsearch-head、IK分词器 和使用

    使用Docker 安装Elasticsearch.Elasticsearch-head.IK分词器 和使用 原文:使用Docker 安装Elasticsearch.Elasticsearch-head ...

  3. docker安装elasticsearch和kibana

    docker安装elasticsearch 下载镜像文件 docker pull elasticsearch:7.4.2 创建挂载目录文件夹 配置elasticsearch.yml可以允许远程访问 m ...

  4. docker安装Elasticsearch

    什么是Elasticsearch? Elasticsearch是一个实时分布式搜索和分析引擎.它让你以前所未有的速度处理大数据成为可能. 它用于全文搜索.结构化搜索.分析以及将这三者混合使用: 维基百 ...

  5. ElasticSearch,docker 安装ElasticSearch,Springboot 使用 ElasticSearch JavaAPI

    什么是 ElasticSearch ? 数据库查询存在的问题: 性能低:使用模糊查询,左边有通配符,不会走索引,会全表扫描,性能低 关键字模糊查询比较麻烦 ElasticSearch概念 • Elas ...

  6. 从零学ELK系列(四):Docker安装Elasticsearch(超详细图文教程)

    [前言] 为了更加真实的模拟生产部署环境,在上次的Docker环境中(<Centos安装Docker(超详细图文教程)>)中安装了Elasticsearch把步骤记录下来,一是方便自己以后 ...

  7. Docker 安装ElasticSearch 启动项目出现 [{#transport#-1}{WW73fQYgSq-vd8jQXTmdIw}{192.168.11.134}{192.168.11.13

    1), docker 安装 elasticSearch 如下 docker run -di --name=tensquare_es -p 9200:9200 -p 9300:9300 elastics ...

  8. Ubuntu使用docker安装elasticsearch与Kibana

    一.在 Ubuntu 20.04 上安装 Docker 更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源: sudo apt update sudo apt install ...

  9. Docker安装Elasticsearch【单机】

    一.Docker安装Elasticsearch[单机] 1.docker安装es docker pull elasticsearch:7.2.0 2.启动es docker run --name el ...

  10. ELK实战,Linux版docker安装ElasticSearch、ES-head、Logstash、Kiabana入门,无坑详细图解

    项目需要,记录一次ELK日志分析系统无坑初始安装过程,并给大家整理出了操作elasticsearch的主要命令,elasticsearch!伙伴们都懂得哦!别的不多说,看过内容概览,直接开整!!! 一 ...

最新文章

  1. log file switch (checkpoint incomplete)
  2. oracle 取前10条记录
  3. 设计模式学习笔记(9)——代理模式
  4. 字节流读数据(一次读一个字节数组数据)
  5. 中考计算机IE操作题,信息技术中考历年真题集锦(IE操作)
  6. 中兴a2018拆机图片_中兴天机拆机步骤详解【图文】
  7. Liunx之nginx代理
  8. DNS域传输漏洞利用总结
  9. gprMax 正演模拟中Ex、Ey、Ez三个分量之间的关系分析
  10. Waymo无人车,每天能绕地球一圈
  11. 团队作业——系统设计和任务分配
  12. Serilog输出日志到mysql_ASP.NET Core利用Docker ElasticSearch Kibana来记录日志
  13. Kafka-3.0.1-Docker+集群 踩坑笔记
  14. 詹克团为“夺权”动作频频 引发比特大陆员工不满
  15. mysql 全文索引 使用_MySql全文索引
  16. 【问题记录】Win10笔记本电脑禁用自带键盘的方法
  17. SQL中的随机函数-笔记
  18. 骨骼动画驱动理解, blender 驱动骨骼
  19. 连载《一个程序猿的生命周期》-《发展篇》- 17.程序猿们,收起玻璃心,给你们的忠告...
  20. Echarts 贵州地图(增加贵安新区)

热门文章

  1. 13 Java反射机制
  2. Aho - Corasick string matching algorithm
  3. 人工智能、大数据和云计算之间,它们之间主要有什么关系?
  4. CNVD-2020-10487(Tomcat AJP)漏洞
  5. 一秒钟Hold住Application.xml
  6. SPI 总线3-line、4-line的定义
  7. 大学有必要考华为认证吗?
  8. antd系列之Select
  9. CSJ加人|cs如何加人|cs加人快捷键
  10. Python基础综合