在 Docker 中离线安装 Elasticsearch 7.6.2

以下是优化后的步骤描述:

一、准备工作与导入 Elasticsearch 镜像

  1. 创建文件夹并传输安装包:使用mkdir es命令创建名为“es”的文件夹。通过文件传输工具将 Elasticsearch 镜像安装包传输至服务器的“es”文件夹中。然后使用docker load -i elasticsearch.tar命令将 Elasticsearch 镜像导入到 Docker 环境。

二、创建自定义网络

  1. 创建网络:使用docker network create esnet命令创建自定义网络,以便连接到同一网络的其他服务,例如 Kibana。

三、首次尝试启动 Elasticsearch 容器

  1. 首次启动尝试:执行:
    docker run -d -e ES_JAVA_POTS="-Xms512m -Xmx512m" -p 9200:9200 -p 9300:9300 --name search elasticsearch:7.6.2
    命令尝试启动 Elasticsearch 容器。如果启动成功,可跳过3.1步骤。

四、处理启动问题及再次尝试

3.1. 若首次启动失败,删除未成功启动的镜像,然后执行:
docker run -d -e ES_JAVA_POTS="-Xms256m -Xmx256m" -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --name search elasticsearch:7.6.2
再次尝试启动。

五、检查容器状态及配置调整

  1. 检查启动状态:使用docker ps命令查看 Elasticsearch 是否启动。
    同时添加命令:
    docker cp search:/usr/share/elasticsearch/config/elasticsearch.yml /data/es/
    在这里插入图片描述
    将容器内的 Elasticsearch 配置文件复制到指定目录进行临时修改,添加:
    cluster.initial_master_nodes: ["docker-cluster"]
    在这里插入图片描述
    后再复制回容器内,即执行
    docker cp elasticsearch.yml search:/usr/share/elasticsearch/config/elasticsearch.yml

六、调整系统参数

  1. 设置系统参数:使用
    sysctl -w vm.max_map_count=262144
    命令临时调整系统参数。
  2. 查看参数结果:使用
    sysctl -a|grep vm.max_map_count
    命令查看结果,确认vm.max_map_count = 262144
  3. 永久修改参数:使用
    vim /etc/sysctl.conf 命令打开系统参数配置文件,按“i”进入编辑模式,在最后一行加入vm.max_map_count=262144 进行永久修改,然后使用
    docker restart search命令重启 Elasticsearch 容器。

七、备份容器数据及停止删除容器

  1. 备份数据:使用docker ps命令查看 Elasticsearch 容器 ID,复制容器 ID 后执行一系列拷贝命令,如docker cp d1ed0bc22d92:/usr/share/elasticsearch/config/ /data/es/等,分别备份容器的配置、数据、日志和插件目录到指定目录。
  2. 停止并删除容器:使用docker stop search命令停止容器,然后使用docker rm search命令删除容器。

八、重新启动 Elasticsearch 容器并配置验证

  1. 重启容器:执行使用:
    docker run -d -e ES_JAVA_POTS="-Xms8192m -Xmx10240m" -e "discovery.type=single-node" -v /data/es/config/:/usr/share/elasticsearch/config/ -v /data/es/data/:/usr/share/elasticsearch/data/ -v /data/es/logs/:/usr/share/elasticsearch/logs/ -v /data/es/plugins/:/usr/share/elasticsearch/plugins/ --network=esnet -e TZ='Asia/Shanghai' -e LANG="en_US.UTF-8" --restart=always -p 9200:9200 -p 9300:9300 --name elasticsearch elasticsearch:7.6.2
    命令重新启动 Elasticsearch 容器,并使用docker ps命令检查容器是否启动。
  2. 开启验证并重启:在配置文件中开启 x-pack 验证,修改config目录下的elasticsearch.yml文件,添加如下内容:
    xpack.security.enabled: true
    xpack.license.self_generated.type: basic
    xpack.security.transport.ssl.enabled: true
    然后重启 Elasticsearch。
  3. 进入容器执行密码设置:执行docker exec -it d8ba5d64ad38 /bin/bash先进入到 ES 容器,再进入bin目录,执行elasticsearch-setup-passwords interactive命令为四个用户(elastic、kibana、logstash_system、beats_system)设置密码。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值