自己记录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"

相关推荐
喜欢你,还有大家9 小时前
Docker-仓库-镜像制作
运维·docker·容器
lpfasd1239 小时前
git-团队协作基础
chrome·git·elasticsearch
武子康11 小时前
Java-166 Neo4j 安装与最小闭环 | 10 分钟跑通 + 远程访问 Docker neo4j.conf
java·数据库·sql·docker·系统架构·nosql·neo4j
苗壮.14 小时前
「个人 Gitee 仓库」与「企业 Gitee 仓库」同步的几种常见方式
大数据·elasticsearch·gitee
计算机小手15 小时前
使用 llama.cpp 在本地高效运行大语言模型,支持 Docker 一键启动,兼容CPU与GPU
人工智能·经验分享·docker·语言模型·开源软件
岚天start15 小时前
KubeSphere在线安装单节点K8S集群
docker·容器·kubernetes·k8s·kubesphere·kubekey
xyhshen15 小时前
记录一次K8S跨命名空间访问 xxx.xxx.svc.cluster.local 类似内部服务不通的问题
云原生·容器·kubernetes
栗子~~15 小时前
shell-基于k8s/docker管理容器、监控模型训练所消耗的最大CPU与最大内存脚本
docker·容器·kubernetes
海鸥8115 小时前
在k8s中部署seaweedfs,上传文件到seaweedfs方法
云原生·容器·kubernetes
半梦半醒*15 小时前
k8s——pod详解2
linux·运维·docker·容器·kubernetes·负载均衡