docker安装elasticsearch

前言

安装es么,也没什么难的,主要网上搜一搜,看看文档,可是走过的坑仍是须要记录一下的 主要参考这三份文档:html

安装es

直接docker pull elasticsearch显示没有这个tag因此去dockerhub看了下tag,加上了版本号6.7.0vim

拉取镜像

docker pull elasticsearch:6.7.0
复制代码

建立es的挂载目录以及配置文件:

cd  /
mkdir-p mnt/elasticsearch
cd  mnt/elasticsearch
mkdir config
mkdir matser
mkdir slave
chmod 777 master
chmod 777 slave
复制代码

config 里面分别放两个配置文件浏览器

cd config
touch master.yml
touch slave.yml
复制代码

matser.ymlbash

cluster.name: elasticsearch-cluster
node.name: master
network.bind_host: 0.0.0.0
network.publish_host: `your ip`
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true 
node.data: true  
discovery.zen.ping.unicast.hosts: [" `your ip`:9300"," `your ip`:9301"]
复制代码

slave.ymlcors

cluster.name: elasticsearch-cluster
node.name: slave
network.bind_host: 0.0.0.0
network.publish_host: `your ip`
http.port: 9202
transport.tcp.port: 9302
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: false
node.data: true  
discovery.zen.ping.unicast.hosts: ["`your ip`:9300","`your ip`:9301"]
复制代码

调高JVM线程数限制数量(否则启动容器的时候会报错,亲身试验)

vim /etc/sysctl.conf
# 添加这个
vm.max_map_count=262144 
# 保存后执行这个命令
sysctl -p
复制代码

初始化容器

masterelasticsearch

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 -v /mnt/elasticsearch/config/master.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mnt/elasticsearch/master:/usr/share/elasticsearch/data --name es-master elasticsearch:6.7.0
复制代码

slavetcp

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9201 -p 9301:9301 -v /mnt/elasticsearch/config/slave.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mnt/elasticsearch/slave:/usr/share/elasticsearch/data --name es-slave elasticsearch:6.7.0
复制代码

校验是否安装成功

浏览器访问 http://yourip:9200

安装kibana

刚开始装的时候看网上的教程来,一直连不上es,直接去官网找文档了,具体以下

docker pull kibana:6.7.0
docker run --link es-master:elasticsearch -p 5601:5601 --name kibana -d kibana:6.7.0
复制代码

访问 http://yourip:5601

使用compose安装7.3.1版本

由于有过经验了,直接去dockerhub上看安装教程

第一步:调线程数,详情见上面操做

第二步:编写docker-compose.yml

version: '2.2'
services:
  es01:
    image: elasticsearch:7.3.1
    container_name: es01
    environment:
      - node.name=es01
      - discovery.seed_hosts=es02
      - cluster.initial_master_nodes=es01,es02
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./esdata01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - esnet
  es02:
    image: elasticsearch:7.3.1
    container_name: es02
    environment:
      - node.name=es02
      - discovery.seed_hosts=es01
      - cluster.initial_master_nodes=es01,es02
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./esdata02:/usr/share/elasticsearch/data
    networks:
      - esnet
  kibana:
    image: kibana:7.3.1
    container_name: kibana
    ports:
      - 5601:5601
    links:
      - es01:elasticsearch ##这里必定要跟上 :elasticsearch,否则会出错,详情看dockerhub上的kibana教程
    networks:
      - esnet  


networks:
  esnet:
复制代码

安装中出的问题,备注里说了

第三步:

docker-compose up -d
复制代码
相关文章
相关标签/搜索