elasticsearch配置密码、docker数据迁移、IP白名单

ES配置密码、版本升级、数据迁移



前言

  1. es配置密码
  2. es的版本切换和数据迁移
  3. 本文环境说明:基于 docker

在6.8之前免费版本并不包含安全认证功能,6.8及以后免费开放


一、docker ES 数据迁移

1.1、将docker的es容器数据拷贝出来

如图

#准备工作 先看硬盘空间
df -h

#1、查看运行的容器
docker ps

#2、 进入容器。 elasticsearch6.8容器名称
docker exec -it elasticsearch6.8 /bin/bash

#3、切换到data目录
cd data

#4、查看data的路径
pwd

#5、看文件夹大小。  du -sh 文件夹
du -sh data

#6、退出容器
exit

#7、从docker 拷贝到外面。 说明: docker cp -a 容器名称:要拷贝的文件夹  目标文件夹 
docker cp -a elasticsearch6.8:/usr/share/elasticsearch/data/nodes /home/mytemp/data

#8、外面的文件拷贝进docker 说明:docker cp -a 要拷贝的文件夹  容器名称:要拷贝的位置
docker cp -a /home/mytemp/data/nodes elasticsearch6.8:/usr/share/elasticsearch/data


二、配置密码

版本需要在6.8 以后才能免费使用

1.1、ES 6.8.8版本配置密码

#准备工作 先看内存
free -h


# 1、拉取镜像
sudo docker pull elasticsearch:6.8.8

#2、创建文件夹,用于数据挂载
sudo mkdir -p /data/mydata/elasticsearch6/config
sudo mkdir -p /data/mydata/elasticsearch6/data
#权限
chmod -R 777 /data/mydata/elasticsearch6

# 3、创建运行容器。 -e指定额外参数 -v 指定数据挂载 -d 指定镜像和版本
docker run --name elasticsearch6.8 -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \-e ES_JAVA_OPTS="-Xms128m -Xmx2048m" \
-v /data/mydata/elasticsearch6/config/elasticsearch.yml:/usr/share/elasticsearch6/config/elasticsearch.yml \
-v /data/mydata/elasticsearch6/data:/usr/share/elasticsearch6/data \
-v /data/mydata/elasticsearch6/plugins:/usr/share/elasticsearch6/plugins \
-d elasticsearch:6.8.8


# 4、查看运行的容器
docker ps

# 5、进入容器
docker exec -it elasticsearch6.8 /bin/bash

#6、开启密码模式 编码配置文件
vi /config/elasticsearch.yml
#加入如下内容
xpack.security.enabled: true

#7、退出容器
exit

#8、重启
docker restart elasticsearch6.8

#9、查看是否运行
docker ps

#10、进入容器
docker exec -it elasticsearch6.8 /bin/bash

#11、进入bin目录
cd /bin

#12、生成密码 运行如下命令。推荐手动模式
01、自动生成密码 elasticsearch-setup-passwords auto
02、手动设置密码 elasticsearch-setup-passwords interactive    

#13、退出容器
exit

#14、重启
docker restart elasticsearch6.8

#15、浏览器访问。 http://用户:密码@域名:端口
http://elastic:123456@127.0.0.1:9200

三、ES 配置ip白名单

es自带的需要收费,不推荐使用

方案:
使用nignx 转发到 es服务

1.1、使用xpack提供的HTTP Filter功能实现IP白名单

在elasticsearch.yml配置。不推荐-原因收费

xpack.security.http.filter.enabled: true
xpack.security.http.filter.allow: "172.31.6.21"
xpack.security.http.filter.deny: "172.31.6.0/24"
xpack.security.http.filter.allow: [ "172.31.6.20", "172.31.6.21", "172.31.6.22"]
xpack.security.http.filter.deny: _all
xpack.security.transport.filter.enabled: true
xpack.security.transport.filter.allow: [ "172.31.6.20", "172.31.6.21", "172.31.6.22"]
xpack.security.transport.filter.deny: _all

1.2、nignx 实现(推荐)

示例代码:

worker_processes  1;
 
events {
    worker_connections  1024;
}
 
http {
    include       mime.types;
    default_type  application/octet-stream;
 
    sendfile        on;
 
    keepalive_timeout  65;
 
    server {
        listen       19200;
        server_name  localhost;
        # 白名单及代理转发
        allow 172.31.6.22;      #白名单
        allow 192.168.0.0/24;   #白名单
        allow 127.0.0.1;        #白名单
        deny all;               #拒绝其他访问
 
        location / {
            # Elasticsearch服务代理
            # 这边有密码的话需要带上
            proxy_pass http://172.31.6.21:9200;
        }
 
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    server {
        listen       15601;
        server_name  localhost;
        # 白名单及代理转发
        allow 172.31.6.22;      #白名单
        allow 192.168.0.0/24;   #白名单
        allow 127.0.0.1;        #白名单
        deny all;               #拒绝其他访问
 
        location / {
            # Kibana服务代理
            proxy_pass http://172.31.6.21:5601;
        }
 
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
 
}

注明:docker镜像迁移另外写。看系类文章

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

suqinyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值