Docker 安装 Elasticsearch 7.12.1
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相关推荐
- docker 安装elasticsearch
1.安装jdk $ docker pull openjdk $ docker run -d -it --name myopenjdk openjdk /bin/bash 2.安装el ...
- 使用Docker 安装Elasticsearch、Elasticsearch-head、IK分词器 和使用
使用Docker 安装Elasticsearch.Elasticsearch-head.IK分词器 和使用 原文:使用Docker 安装Elasticsearch.Elasticsearch-head ...
- docker安装elasticsearch和kibana
docker安装elasticsearch 下载镜像文件 docker pull elasticsearch:7.4.2 创建挂载目录文件夹 配置elasticsearch.yml可以允许远程访问 m ...
- docker安装Elasticsearch
什么是Elasticsearch? Elasticsearch是一个实时分布式搜索和分析引擎.它让你以前所未有的速度处理大数据成为可能. 它用于全文搜索.结构化搜索.分析以及将这三者混合使用: 维基百 ...
- ElasticSearch,docker 安装ElasticSearch,Springboot 使用 ElasticSearch JavaAPI
什么是 ElasticSearch ? 数据库查询存在的问题: 性能低:使用模糊查询,左边有通配符,不会走索引,会全表扫描,性能低 关键字模糊查询比较麻烦 ElasticSearch概念 • Elas ...
- 从零学ELK系列(四):Docker安装Elasticsearch(超详细图文教程)
[前言] 为了更加真实的模拟生产部署环境,在上次的Docker环境中(<Centos安装Docker(超详细图文教程)>)中安装了Elasticsearch把步骤记录下来,一是方便自己以后 ...
- 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 ...
- Ubuntu使用docker安装elasticsearch与Kibana
一.在 Ubuntu 20.04 上安装 Docker 更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源: sudo apt update sudo apt install ...
- Docker安装Elasticsearch【单机】
一.Docker安装Elasticsearch[单机] 1.docker安装es docker pull elasticsearch:7.2.0 2.启动es docker run --name el ...
- ELK实战,Linux版docker安装ElasticSearch、ES-head、Logstash、Kiabana入门,无坑详细图解
项目需要,记录一次ELK日志分析系统无坑初始安装过程,并给大家整理出了操作elasticsearch的主要命令,elasticsearch!伙伴们都懂得哦!别的不多说,看过内容概览,直接开整!!! 一 ...
最新文章
- log file switch (checkpoint incomplete)
- oracle 取前10条记录
- 设计模式学习笔记(9)——代理模式
- 字节流读数据(一次读一个字节数组数据)
- 中考计算机IE操作题,信息技术中考历年真题集锦(IE操作)
- 中兴a2018拆机图片_中兴天机拆机步骤详解【图文】
- Liunx之nginx代理
- DNS域传输漏洞利用总结
- gprMax 正演模拟中Ex、Ey、Ez三个分量之间的关系分析
- Waymo无人车,每天能绕地球一圈
- 团队作业——系统设计和任务分配
- Serilog输出日志到mysql_ASP.NET Core利用Docker ElasticSearch Kibana来记录日志
- Kafka-3.0.1-Docker+集群 踩坑笔记
- 詹克团为“夺权”动作频频 引发比特大陆员工不满
- mysql 全文索引 使用_MySql全文索引
- 【问题记录】Win10笔记本电脑禁用自带键盘的方法
- SQL中的随机函数-笔记
- 骨骼动画驱动理解, blender 驱动骨骼
- 连载《一个程序猿的生命周期》-《发展篇》- 17.程序猿们,收起玻璃心,给你们的忠告...
- Echarts 贵州地图(增加贵安新区)