自己记录docker和ES集群

LINUX 安装docker 和ES完全详细过程。

(https://blog.csdn.net/weixin_45844208/article/details/140521002)

安装的docker版本为 26.1.0

https://download.docker.com/linux/static/stable/x86_64/

安装的docker-compose的版本为:2.28.1

https://github.com/docker/compose/releases/download

https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-linux-x86_64

1:上传到服务器然后解压

sudo tar -zxvf docker-26.1.4-x86_64.tgz

2:给权限

sudo chmod 755 -R docker

3:复制到环境变量目录

sudo cp docker/* /usr/bin/

4:配置创建docker服务配置文件docker.service

sudo vim /etc/systemd/system/docker.service

添加如下内容

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target

[Service]

Type=notify

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

TimeoutSec=0

RestartSec=2

ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT

Restart=always

TimeoutStartSec=0

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

Delegate=yes

KillMode=process

StartLimitBurst=3

StartLimitInterval=60s

[Install]

WantedBy=multi-user.target

5:# 赋予docker服务配置文件docker.service执行权限

sudo chmod +x /etc/systemd/system/docker.service

6:docker服务相关命令

加载systemctl配置

sudo systemctl daemon-reload

启用docker服务开机自启动

sudo systemctl enable docker.service

启动docker服务

sudo systemctl start docker

检查docker服务状态

sudo systemctl status docker

查看安装的docker版本

sudo docker -v

查看更改自定义后的docker服务信息

sudo docker info

二:安装docker-compose

复制docker-compose到/usr/local/bin/目录下

sudo cp -f docker-compose-linux-x86_64.v2.28.1 /usr/local/bin/docker-compose

赋予docker-compose可执行权限

sudo chmod +x /usr/local/bin/docker-compose

查看docker-compose版本

sudo docker-compose -v

三:安装部署ES集群

本次安装的ES版本为7.17.25

-1:本次为离线安装,首先需要在有线电脑下载镜像

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

0:将镜像打包然后上传到服务器

docker save docker.elastic.co/elasticsearch/elasticsearch:7.17.25 -o elasticsearch-7.17.25.tar

0.1:然后在服务器上通过docker加载这个镜像

docker load -i elasticsearch-7.17.25.tar

0.2然后通过docker就可以看大这个镜像了

[root@a_pnw_nginx03 ~]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

docker.elastic.co/elasticsearch/elasticsearch 7.17.25 2574569e84a1 5 weeks ago 634MB

  1. 创建Docker网络
    为了让集群中的各个节点可以互相通信,我们需要先创建一个Docker网络:

docker network create es-network

2编写:docker-compose.yml 内容如下

注意:下面image 的内容就是上面展示镜像REPOSITORY的名字

services:

es01:

image: "docker.elastic.co/elasticsearch/elasticsearch:7.17.25"

container_name: es01

ports:

  • "9200:9200"

  • "9300:9300"

environment:

node.name: es01

discovery.seed_hosts: es01,es02,10.189.131.82:9300,10.189.131.82:9301

cluster.initial_master_nodes: es01,es02,10.189.131.82:9300,10.189.131.82:9301

cluster.name: myescluster

http.cors.enabled: true

http.cors.allow-origin: "*"
ES_JAVA_OPTS: -Xms512m -Xmx512m
xpack.security.enabled: true
ELASTIC_PASSWORD: QAZ2@wsx
volumes:

  • "/usr/local/es_cluster/node_1/data:/usr/share/elasticsearch/data"
  • "/usr/local/es_cluster/node_1/logs:/usr/share/elasticsearch/logs"
  • "/usr/local/es_cluster/node_1/plugins:/usr/share/elasticsearch/plugins"
    networks:
  • es-network
    ulimits:
    memlock:
    soft: -1
    hard: -1
    es02:
    image: "docker.elastic.co/elasticsearch/elasticsearch:7.17.25"
    container_name: es02
    ports:
  • "9201:9200"
  • "9301:9300"
    environment:
    node.name: es02
    discovery.seed_hosts: es01,es02,10.189.131.82:9300,10.189.131.82:9301
    cluster.initial_master_nodes: es01,es02,10.189.131.82:9300,10.189.131.82:9301
    cluster.name: myescluster
    http.cors.enabled: true
    http.cors.allow-origin: "* "

ES_JAVA_OPTS: -Xms512m -Xmx512m

xpack.security.enabled: true

ELASTIC_PASSWORD: QAZ2@wsx

volumes:

  • "/usr/local/es_cluster/node_2/data:/usr/share/elasticsearch/data"

  • "/usr/local/es_cluster/node_2/logs:/usr/share/elasticsearch/logs"

  • "/usr/local/es_cluster/node_2/plugins:/usr/share/elasticsearch/plugins"

networks:

  • es-network

ulimits:

memlock:

soft: -1

hard: -1

networks:

es-network:

driver: bridge

3:服务器创建挂载目录

mkdir -p /usr/local/es_cluster/node_1/data

mkdir -p /usr/local/es_cluster/node_1/logs

mkdir -p /usr/local/es_cluster/node_1/plugins/ik

mkdir -p /usr/local/es_cluster/node_2/data

mkdir -p /usr/local/es_cluster/node_2/logs

mkdir -p /usr/local/es_cluster/node_2/plugins/ik

并给予执行权限

sudo chmod +x /usr/local/es_cluster/

4:下载中文分词器

https://github.com/medcl/elasticsearch-analysis-ik/releases

在这个链接找对应版本的分词器版本。没有就下载当前版本最高的

然后注意 如果分词版本和ES版本不一致需要将分词版本改为一致

分词下载后需要解压到 映射目录

执行

unzip /wls/pansky/elasticsearch-analysis-ik-7.17.6.zip -d /usr/local/es_cluster/node_1/plugins/ik

unzip /wls/pansky/elasticsearch-analysis-ik-7.17.6.zip -d /usr/local/es_cluster/node_2/plugins/ik

然后修改版本号

cd /usr/local/es_cluster/node_1/plugins/ik

vim plugin-descriptor.properties

修改两处地方哦。

改为和ES版本一致的版本号

5:然后在服务新建一个目录单独存放ES的docker-compose.yml

用户名不可以自己定义 是系统默认的 elastic

然后执行:docker-compose up -d

就可以启动成功。

通过 docker ps -a 查看启动情况

如果报错 可以通过 docker-compose up 查看错误原因。

或者 docker logs 服务名字查看日志

docker-compose down

curl -u elastic:QAZ2@wsx -X GET "http://10.190.131.81:9200/_cat/nodes?v"

相关推荐
!!!5251 小时前
华为云镜像加速器
docker·容器·华为云
risc1234562 小时前
【Elasticsearch】Search Templates(搜索模板)
elasticsearch
xidianjiapei0012 小时前
Kubernetes的Ingress 资源是什么?
云原生·容器·kubernetes
sszdzq4 小时前
Docker
运维·docker·容器
dmy4 小时前
docker 快速构建开发环境
后端·docker·容器
土豆沒加5 小时前
K8S的Dashboard登录及验证
云原生·容器·kubernetes
终端行者7 小时前
kubernetes1.28部署mysql5.7主从同步,使用Nfs制作持久卷存储,适用于centos7/9操作系统,
数据库·容器·kubernetes
2401_897930067 小时前
linux系统如何配置host.docker.internal
linux·docker·eureka
亲持红叶11 小时前
open-webui安装
docker·open-webui
伪装成塔的小兵12 小时前
Windows使用docker部署fastgpt出现的一些问题
windows·docker·容器·oneapi·fastgpt