Elasticsearch7.2.1 部署docker

文章目录

Elasticsearch7.2.1 部署docker

安装docker

1.uname -a 查看当前系统版本

在这里插入图片描述

其中:

uname -r:发行版号  3.10
3.10.0-693.2.2.el7.x86_64
uname -v: 内核编译日期
#1 SMP Tue Sep 12 22:26:13 UTC 2017
uname -o:操作系统
GNU/Linux

2.yum -y install docker 下载安装docker 或者sudo wget -qO- https://get.docker.com | sh 下载最新版本

运行docker version查看docker版本
在这里插入图片描述

3.启动docker服务 service docker start

docker info查看docker存储位置
docker ps 查看是否有docker进程

Docker常用命令:

docker logs -f 容器名 查看日志
docker images  查看镜像文件

docker ps  查看正在运行的容器

docker ps –a  查看所有的容器

docker stop CONTAINER_ID 停止容器

docker container exec -it f0b1c8ab3633 /bin/bash  进入到容器

exit 退出

docker version  查看版本

docker run -d -p 81:80 nginx 启动nginx容器

docker rmi imgageid 删除镜像

docker rm 容器id 删除容器

docker volumes ls  查看所有volume存储名称
docker volumes inspect volumeName  查看指定存储名称的路径

安装docker-compose 单机容器编排工具

1.linux安装

 curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2.Apply executable permissions to the binary:应用(可执行)的权限 即戴绿帽

chmod +x /usr/local/bin/docker-compose
chmod a+x和chmod +x 一致
	u代表用户,g代表用户组,o代表其他,a代表所有

查看版本 $ docker-compose --version
docker-compose version 1.24.1, build 1110ad01
3. 创建软链接 相当于windows的快捷方式

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
/usr/bin下存在以下快捷方式
docker-compose -> /usr/local/bin/docker-compose
  1. 启动

    docker-compose up & 后台启动 若配置文件修改了会重建容器,没有持久化的修改丢失
    docker-compose -f es.yml up & 指定别名-f

停止:

docker-compose down 删除所有容器
docker-compose stop 停止所有容器
docker-compose stop 容器名 service 如es01和es02

注意:

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
vm.max_map_count kernel setting needs to be set to at least 262144
故而sysctl -w vm.max_map_count=262144  即/etc/sysctl.conf文件下新增这一条
sysctl -p使其生效

安装es7

1.拉取镜像

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.2.1

2.运行es

docker run --name es7 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.2.1

--name es7将这个容器命名es7
起名之后 docker restart es7  容器的重启通过自定义的命名进行操作
-p 9200:9200 将宿主端口映射到Docker容器中的9200端口 此时可访问容器中的es服务   主机:容器

3.修改配置

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

查看集群状态:

curl http://127.0.0.1:9200/_cat/health

查看所有结点:

curl http://127.0.0.1:9200/_cat/nodes

修改容器的配置文件:

docker exec -it es01[容器名] bash
vi config/elasticsearch.yml
exit退出容器

安装kibana

1.拉取镜像

docker pull docker.elastic.co/kibana/kibana:7.2.1

设置配置:

通过环境变量设置  优先使用环境变量
services:
  kibana:
    image: docker.elastic.co/kibana/kibana:7.2.1
    environment:
      SERVER_NAME: kibana.example.org # 默认kibana
      ELASTICSEARCH_URL: http://elasticsearch.example.org # 默认localhost:9200
绑定配置:
services:
  kibana:
    image: docker.elastic.co/kibana/kibana:7.2.1
    volumes:
      - ./kibana.yml:/usr/share/kibana/config/kibana.yml

docker环境下es和kibana权限认证

修改docker-compose
在这里插入图片描述

version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.2.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
      - esconfig01:/usr/share/elasticsearch/config
    ports:
      - 9200:9200
    networks:
      - esnet
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.2.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
      - esconfig02:/usr/share/elasticsearch/config
      
    networks:
      - esnet
  kibana:
    image: docker.elastic.co/kibana/kibana:7.2.1 
    container_name: kibana
    environment:
      SERVER_NAME: kibana
      ELASTICSEARCH_HOSTS: http://对外ip:9200
      ELASTICSEARCH_URL: http://对外ip:9200
    ports:
      - 5601:5601
    volumes:
      - kibana:/usr/share/kibana/config

volumes:
  esdata01:
    driver: local
  esdata02:
    driver: local
  esconfig01:
    driver: local
  esconfig02:
    driver: local
  kibana:
    driver: local

networks:
  esnet:

es:7.2.1利用x-pack进行权限认证

首先生成证书 
	docker-compose up es01& 开启容器
	docker exec -it es01 bash  进入容器
	再执行
    bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
前提是volumes同步了config文件下的证书

修改配置文件

在master结点下的config下elasticsearch.yml配置文件中添加如下配置
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
然后重新启动

设置密码

bin/elasticsearch-setup-passwords interactive  # auto 自动设置密码,interactive手动设置密码
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]

同步集群其他结点:

将证书和以下配置同步到其他结点的config文件夹下
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

最后重启所有结点
此时访问9200需要认证

在这里插入图片描述

设置kibana:

修改配置文件kibana.yml
elasticsearch.username: "kibana"
elasticsearch.password: "你设置的密码"

此时访问kibana

在这里插入图片描述

安装logstash

1.拉取镜像

docker pull docker.elastic.co/logstash/logstash:7.2.1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值