欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker安裝Elasticsearch?8.x的實(shí)現(xiàn)示例

 更新時(shí)間:2025年04月17日 08:28:22   作者:代碼怪獸大作戰(zhàn)  
本文主要介紹了Docker安裝Elasticsearch8.x,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

在現(xiàn)代應(yīng)用架構(gòu)中,Elasticsearch 是一款強(qiáng)大的分布式搜索引擎,廣泛應(yīng)用于日志分析、實(shí)時(shí)搜索、數(shù)據(jù)可視化等場景。通過 Docker 部署 Elasticsearch,可以快速搭建、靈活擴(kuò)展,并與容器化平臺(tái)無縫集成。

本文將詳細(xì)介紹如何使用 Docker 安裝和配置 Elasticsearch 8.x,包括目錄結(jié)構(gòu)設(shè)置、配置文件管理、容器啟動(dòng)與管理、端口配置、日志查看、服務(wù)訪問等內(nèi)容,幫助你快速搭建一個(gè)高效、可維護(hù)的 Elasticsearch 環(huán)境。

在這里插入圖片描述

一、準(zhǔn)備工作

首先,確保你的系統(tǒng)上已經(jīng)安裝了 Docker。

Linux上進(jìn)行Docker安裝有兩種方式:

  • Docker自動(dòng)化安裝
  • Docker手動(dòng)安裝

可以根據(jù)該文章的步驟進(jìn)行安裝:http://www.dbjr.com.cn/server/322968bze.htm

二、設(shè)置容器的目錄結(jié)構(gòu)

為了持久化存儲(chǔ)日志、數(shù)據(jù)、配置和插件,需要在宿主機(jī)上創(chuàng)建對(duì)應(yīng)目錄,并賦予 Elasticsearch 容器內(nèi)部用戶的寫權(quán)限。

# 安裝路徑
DIR="/opt/docker/demo"
DOCKER_NAME="docker-elasticsearch"

# 創(chuàng)建目錄結(jié)構(gòu)
mkdir -p "$DIR/elasticsearch/logs"
mkdir -p "$DIR/elasticsearch/data"
mkdir -p "$DIR/elasticsearch/config"
mkdir -p "$DIR/elasticsearch/plugins"

# 賦予文件權(quán)限
chmod -R 777 $DIR/elasticsearch/

三、啟動(dòng)一個(gè)臨時(shí)的容器來復(fù)制配置文件

啟動(dòng)一個(gè)臨時(shí)的 Elasticsearch 容器,用于復(fù)制默認(rèn)配置文件到宿主機(jī)。

docker run -d \
  --restart=always \
  --name elasticsearch \
  --network host \
  -p 9388:9200 \
  -p 9389:9300 \
  --privileged \
  -e "discovery.type=single-node" \
  -e "ES_JAVA_OPTS=-Xms2g -Xmx2g" \
  docker.elastic.co/elasticsearch/elasticsearch:8.17.0

四、復(fù)制配置文件到本地目錄

將容器中的配置文件復(fù)制到宿主機(jī)的對(duì)應(yīng)目錄。

docker cp elasticsearch:/usr/share/elasticsearch/data $DIR/elasticsearch/
docker cp elasticsearch:/usr/share/elasticsearch/plugins $DIR/elasticsearch/
docker cp elasticsearch:/usr/share/elasticsearch/config $DIR/elasticsearch/
docker cp elasticsearch:/usr/share/elasticsearch/logs $DIR/elasticsearch/

五、刪除臨時(shí)容器

docker stop elasticsearch
docker rm elasticsearch

六、創(chuàng)建并運(yùn)行容器,掛載本地目錄

使用以下命令啟動(dòng) Elasticsearch 容器,并掛載本地目錄。

docker run -d \
  --name "$DOCKER_NAME" \
  --restart=always \
  --network host \
  -v "$DIR/elasticsearch/data:/usr/share/elasticsearch/data" \
  -v "$DIR/elasticsearch/plugins:/usr/share/elasticsearch/plugins" \
  -v "$DIR/elasticsearch/config:/usr/share/elasticsearch/config" \
  -v "$DIR/elasticsearch/logs:/usr/share/elasticsearch/logs" \
  -e "discovery.type=single-node" \
  -e "ES_JAVA_OPTS=-Xms2g -Xmx2g" \
  -e "ELASTIC_PASSWORD=123456" \
  docker.elastic.co/elasticsearch/elasticsearch:8.17.0

七、修改文件配置監(jiān)聽端口

修改配置文件 $DIR/elasticsearch/config/elasticsearch.yml

cluster.name: "docker-cluster"

network.host: 0.0.0.0

http.port: 9200

八、端口配置:Host 網(wǎng)絡(luò)模式 vs Port 映射模式

1. Host 網(wǎng)絡(luò)模式

docker run -d \
  --restart=always \
  --name "$DOCKER_NAME" \
  --network host \
  -v "$DIR/elasticsearch/data:/usr/share/elasticsearch/data" \
  -v "$DIR/elasticsearch/plugins:/usr/share/elasticsearch/plugins" \
  -v "$DIR/elasticsearch/config:/usr/share/elasticsearch/config" \
  -v "$DIR/elasticsearch/logs:/usr/share/elasticsearch/logs" \
  -e "discovery.type=single-node" \
  -e "ES_JAVA_OPTS=-Xms2g -Xmx2g" \
  -e "ELASTIC_PASSWORD=123456" \
  docker.elastic.co/elasticsearch/elasticsearch:8.17.0

特點(diǎn)

在 Host 網(wǎng)絡(luò)模式下,容器共享宿主機(jī)的網(wǎng)絡(luò)棧,容器內(nèi)的網(wǎng)絡(luò)接口直接映射到宿主機(jī)的網(wǎng)絡(luò)接口。?這意味著容器可以使用宿主機(jī)的 IP 地址和端口進(jìn)行通信。?對(duì)于 Elasticsearch 來說,使用 Host 網(wǎng)絡(luò)模式可以減少網(wǎng)絡(luò)延遲,提高性能。

優(yōu)點(diǎn)

  • 簡化網(wǎng)絡(luò)配置,無需額外的 -p 端口映射。

  • 延遲更低,吞吐更高。

缺點(diǎn)

  • 與宿主機(jī)完全共享端口,若宿主機(jī)已有同端口服務(wù)運(yùn)行,會(huì)沖突。

  • 安全隔離較弱,容器網(wǎng)絡(luò)直接暴露給宿主機(jī)。

2. Port 映射模式

docker run -d \
  --restart=always \
  --name "$DOCKER_NAME" \
  -p 9201:9200 \
  -p 9301:9300 \
  -v "$DIR/elasticsearch/data:/usr/share/elasticsearch/data" \
  -v "$DIR/elasticsearch/plugins:/usr/share/elasticsearch/plugins" \
  -v "$DIR/elasticsearch/config:/usr/share/elasticsearch/config" \
  -v "$DIR/elasticsearch/logs:/usr/share/elasticsearch/logs" \
  -e "discovery.type=single-node" \
  -e "ES_JAVA_OPTS=-Xms2g -Xmx2g" \
  -e "ELASTIC_PASSWORD=123456" \
  docker.elastic.co/elasticsearch/elasticsearch:8.17.0

特點(diǎn)

在 Port 映射模式下,容器使用 Docker 的默認(rèn)橋接網(wǎng)絡(luò),容器內(nèi)的端口通過宿主機(jī)的端口進(jìn)行映射。?這種方式適用于需要將容器服務(wù)暴露給外部訪問的場景。?例如,將容器的 9200 端口映射到宿主機(jī)的 9201 端口。

優(yōu)點(diǎn)

  • 容器與宿主機(jī)網(wǎng)絡(luò)隔離,提高安全性。

  • 可以在同一宿主機(jī)上運(yùn)行多個(gè)容器,避免端口沖突。

缺點(diǎn)

  • 可能增加網(wǎng)絡(luò)延遲,影響性能。

  • 需要手動(dòng)配置端口映射,增加配置復(fù)雜度。

九、查看日志和檢查容器狀態(tài)

使用以下命令查看 Elasticsearch 容器的日志:

docker logs -f "$DOCKER_NAME"

要查看容器的狀態(tài),可以使用:

docker ps -a

如果容器未運(yùn)行,可以使用以下命令啟動(dòng):

docker start "$DOCKER_NAME"

十、訪問服務(wù)

在瀏覽器中訪問以下地址,檢查 Elasticsearch 是否正常運(yùn)行
默認(rèn)的用戶名為:elastic密碼:123456

http://localhost:9200

如果使用了 Port 映射模式,并將容器的 9200 端口映射到宿主機(jī)的 9201 端口,則應(yīng)訪問:

http://localhost:9201

應(yīng)該看到類似以下的 JSON 響應(yīng):

{
  "name" : "docker-cluster",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "abcdefghijklmno",
  "version" : {
    "number" : "8.17.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "1234567890abcdef",
    "build_date" : "2025-04-15T12:34:56.789Z",
    "build_snapshot" : false,
    "lucene_version" : "8.10.0",
    "minimum_wire_compatibility_version" : "7.10.0",
    "minimum_index_compatibility_version" : "7.10.0"
  },
  "tagline" : "You Know, for Search"
}

在這里插入圖片描述

十一、Elasticsearch 常用操作命令

檢查集群健康狀態(tài)

使用以下命令檢查 Elasticsearch 集群的健康狀態(tài):

curl -X GET "localhost:9200/_cluster/health?pretty"

查看所有索引

使用以下命令檢查 Elasticsearch 集群的健康狀態(tài):

curl -X GET "localhost:9200/_cat/indices?v"

創(chuàng)建索引

使用以下命令創(chuàng)建一個(gè)新的索引:

curl -X PUT "localhost:9200/my_index"

刪除索引

使用以下命令刪除指定的索引:

curl -X DELETE "localhost:9200/my_index"

查詢索引中的所有文檔

使用以下命令查詢索引中的所有文檔:

curl -X GET "localhost:9200/my_index/_search?q=*:*

修改用戶密碼

Elasticsearch 提供了 elasticsearch-reset-password 工具,用于重置用戶密碼。?例如,重置 elastic 用戶的密碼:

docker exec -it elasticsearch bin/elasticsearch-reset-password -u elastic

執(zhí)行后,系統(tǒng)將提示輸入新密碼并確認(rèn)。?請(qǐng)確保在生產(chǎn)環(huán)境中妥善保管密碼。

查看集群節(jié)點(diǎn)信息

curl -X GET "localhost:9200/_cat/nodes?v"

查看集群分片分配情況

curl -X GET "localhost:9200/_cat/shards?v"

查看集群所有分配情況

curl -X GET "localhost:9200/_cat/allocation?v"

查看索引文檔數(shù)量

curl -X GET "localhost:9200/my_index/_count"

到此這篇關(guān)于Docker 安裝 Elasticsearch 8.x的文章就介紹到這了,更多相關(guān)Docker 安裝 Elasticsearch 8.x內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • harbor修改配置文件后重啟操作

    harbor修改配置文件后重啟操作

    這篇文章主要介紹了harbor修改配置文件后重啟操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker-compose安裝mongoDB全過程

    docker-compose安裝mongoDB全過程

    這篇文章主要介紹了docker-compose安裝mongoDB全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Docker安裝部署RabbitMQ的實(shí)現(xiàn)步驟

    Docker安裝部署RabbitMQ的實(shí)現(xiàn)步驟

    RabbitMQ是一款開源的消息隊(duì)列中間件,能夠在分布式系統(tǒng)中實(shí)現(xiàn)可靠的消息傳遞,本文主要介紹了Docker安裝部署RabbitMQ的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • 基于Docker搭建Redis主從集群的實(shí)現(xiàn)

    基于Docker搭建Redis主從集群的實(shí)現(xiàn)

    本文基于Docker+Redis5.0.5版本,通過cluster方式創(chuàng)建一個(gè)6個(gè)redis實(shí)例的主從集群,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 使用docker?compose部署emqx集群的示例

    使用docker?compose部署emqx集群的示例

    這篇文章主要介紹了使用docker compose部署emqx集群,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Docker自定義網(wǎng)絡(luò)詳解

    Docker自定義網(wǎng)絡(luò)詳解

    本文主要跟大家講解了Docker中的自定義網(wǎng)絡(luò)的相關(guān)知識(shí),包含網(wǎng)關(guān)、子網(wǎng)地址等等,非常的詳實(shí),有需要的小伙伴可以參考下
    2022-11-11
  • Docker方式創(chuàng)建keepalived連接MGR集群

    Docker方式創(chuàng)建keepalived連接MGR集群

    本文介紹了通過Docker方式創(chuàng)建keepalived代理訪問MGR集群的詳細(xì)步驟,包括重新制作鏡像、導(dǎo)入新鏡像、創(chuàng)建容器等操作,并說明了配置文件的關(guān)鍵參數(shù),通過這種方式,可以避免手動(dòng)修改數(shù)據(jù)庫連接地址,實(shí)現(xiàn)主節(jié)點(diǎn)故障時(shí)的自動(dòng)故障轉(zhuǎn)移
    2022-05-05
  • Docker consul的容器服務(wù)更新與發(fā)現(xiàn)的問題小結(jié)

    Docker consul的容器服務(wù)更新與發(fā)現(xiàn)的問題小結(jié)

    這篇文章主要介紹了Docker consul的容器服務(wù)更新與發(fā)現(xiàn),講解了服務(wù)注冊(cè)與發(fā)現(xiàn)的基本概念講解,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • 使用docker-compose.yml構(gòu)建鏡像的方法

    使用docker-compose.yml構(gòu)建鏡像的方法

    docker-compose是docker提供的一個(gè)命令行工具,用來定義和運(yùn)行由多個(gè)容器組成的應(yīng)用,這篇文章主要介紹了使用docker-compose.yml構(gòu)建鏡像的方法,需要的朋友可以參考下
    2023-05-05
  • 使用Docker快速搭建Oracle開發(fā)環(huán)境的方法教程

    使用Docker快速搭建Oracle開發(fā)環(huán)境的方法教程

    這篇文章主要給大家介紹了使用Docker快速搭建Oracle開發(fā)環(huán)境的方法教程,文中給出了詳細(xì)的解決方法,對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-06-06

最新評(píng)論