ES(Elasticsearch)的docker安装部署教程

0、 服务器版本信息

Red Hat 4.8.5-44

CentOS Linux release 7.9.2009 (Core)

java version "1.8.0_281"

Docker version 20.10.6, build 370c289

1、ES部署

1.1  拉取docker镜像

docker pull elasticsearch:7.10.1

拉取成功的镜像,可以使用如下命令查看:

docker images

注:上图2年之前表示该elasticsearch的7.10.1镜像版本是2年前制作的。

1.2 创建es挂载目录

mkdir data

cd /data        

mkdir elasticsearch

cd /data/elasticsearch

1.3 桥接网络节点配置

ES集群安装要求桥接网络和一定的vm配置,执行./network.sh

sysctl -w vm.max_map_count=262144
docker network ls
docker network create --driver  bridge --subnet=172.18.12.0/16 --gateway=172.18.0.1 esnet

1.4 解压es证书配置文件

下载链接见:https://download.csdn.net/download/qq_33034733/88137295

tar -zxvf es-cfg.tar.gz cfg

1.5 创建ES主节点实例

给master.sh加执行权限:chmod u+x master.sh

执行./master.sh 直接创建2个主节点,

for port in $(seq 1 2); \
do \
mkdir -p /data/elasticsearch/master-${port}/config
cp -rf /data/elasticsearch/cfg/* /data/elasticsearch/master-${port}/config
mkdir -p /data/elasticsearch/master-${port}/data
mkdir -p /data/elasticsearch/master-${port}/logs
mkdir -p /data/elasticsearch/master-${port}/plugins
chmod -R 777 /data/elasticsearch/master-${port}
cat << EOF > /data/elasticsearch/master-${port}/config/elasticsearch.yml
cluster.name: imes-es  #集群的名称,同一个集群该值必须设置成相同的
node.name: es-master-${port}  #该节点的名字
node.master: true  #该节点有机会成为master节点
node.data: false #该节点可以存储数据
network.host: 0.0.0.0
http.host: 0.0.0.0   #所有http均可访问
http.port: 920${port}
transport.tcp.port: 930${port}
http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate  
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12   
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
discovery.zen.ping_timeout: 10s #设置集群中自动发现其他节点时ping连接的超时时间
discovery.seed_hosts: ["172.18.12.91:9301","172.18.12.92:9302"]
cluster.initial_master_nodes: ["es-master-1"] #新集群初始时的候选主节点,es7的新增配置
EOF
docker run --name es-master-${port} \
-p 920${port}:920${port} -p 930${port}:930${port} \
--privileged=true --network=esnet --ip 172.18.12.9${port} \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-v /data/elasticsearch/master-${port}/config:/usr/share/elasticsearch/config  \
-v /data/elasticsearch/master-${port}/data:/usr/share/elasticsearch/data  \
-v /data/elasticsearch/master-${port}/logs:/usr/share/elasticsearch/logs  \
-v /data/elasticsearch/master-${port}/plugins:/usr/share/elasticsearch/plugins  \
-d elasticsearch:7.10.1
done

1.6 创建ES从节点实例

给slave.sh加执行权限:chmod u+x slave.sh

然后执行./slave.sh 直接创建3个从节点的实例

for port in $(seq 4 6); \
do \
mkdir -p /data/elasticsearch/node-${port}/config
cp -rf /data/elasticsearch/cfg/* /data/elasticsearch/node-${port}/config
mkdir -p /data/elasticsearch/node-${port}/data
mkdir -p /data/elasticsearch/node-${port}/logs
mkdir -p /data/elasticsearch/node-${port}/plugins
chmod -R 777 /data/elasticsearch/node-${port}
cat << EOF > /data/elasticsearch/node-${port}/config/elasticsearch.yml
cluster.name: imes-es  #集群的名称,同一个集群该值必须设置成相同的
node.name: es-node-${port}  #该节点的名字
node.master: false  #该节点有机会成为master节点
node.data: true #该节点可以存储数据
network.host: 0.0.0.0
http.host: 0.0.0.0   #所有http均可访问
http.port: 920${port}
transport.tcp.port: 930${port}
http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate  
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12   
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
discovery.zen.ping_timeout: 10s #设置集群中自动发现其他节点时ping连接的超时时间
discovery.seed_hosts: ["172.18.12.91:9301","172.18.12.92:9302"]
cluster.initial_master_node
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您好!要安装部署 Elasticsearch(简称ES)的Docker容器,可以按照以下步骤进行操作: 1. 首先,确保您已经安装DockerDocker Compose。您可以在命令行中运行以下命令来检查它们是否已安装: ``` docker --version docker-compose --version ``` 如果命令能够正常执行并显示版本信息,说明已经安装成功。 2. 创建一个新的目录,用于存放Elasticsearch的配置文件和数据。例如: ``` mkdir es-docker cd es-docker ``` 3. 在该目录下创建一个名为`docker-compose.yml`的文件,并使用文本编辑器打开它。 4. 在`docker-compose.yml`文件中,添加以下内容: ```yaml version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.1 container_name: elasticsearch environment: - discovery.type=single-node ports: - 9200:9200 volumes: - esdata:/usr/share/elasticsearch/data volumes: esdata: ``` 这个配置文件将使用Elasticsearch官方提供的Docker镜像,并将Elasticsearch的数据存储在一个卷中。 5. 保存并关闭`docker-compose.yml`文件。 6. 在命令行中,返回到`es-docker`目录,并运行以下命令来启动Elasticsearch容器: ``` docker-compose up -d ``` 这会下载并启动Elasticsearch容器。 `-d`参数表示以后台模式运行。 7. 等待一段时间,直到Elasticsearch容器启动完成。您可以使用以下命令检查容器状态: ``` docker ps ``` 如果看到名为`elasticsearch`的容器正在运行,说明安装部署成功。 现在,您可以通过访问 `http://localhost:9200` 来验证Elasticsearch是否成功部署。您应该能够看到Elasticsearch的相关信息。 希望这可以帮助到您!如果您有任何其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

若依-咬一口甜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值