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

ElasticSearch+Kibana通過Docker部署到Linux服務(wù)器中操作方法

 更新時間:2025年02月21日 10:30:49   作者:易安杰  
本文介紹了Elasticsearch的基本概念,包括文檔和字段、索引和映射,還詳細描述了如何通過Docker在Linux服務(wù)器上安裝Elasticsearch、Kibana和IK分詞器,并驗證安裝,感興趣的朋友一起看看吧

1、ElasticSearch概念

Elasticsearch 是一個基于 Lucene 構(gòu)建的開源搜索引擎,它提供了一個分布式、RESTful 風格的搜索和數(shù)據(jù)分析引擎。Elasticsearch 能夠?qū)Υ罅繑?shù)據(jù)進行快速全文搜索,并且具有非常好的水平擴展能力,這意味著當你需要處理更多數(shù)據(jù)時,可以通過增加更多的服務(wù)器來提升性能。

文檔和字段:elasticsearch是面向文檔(Document)存儲的,可以是數(shù)據(jù)庫中的一條商品數(shù)據(jù),一個訂單信息。文檔數(shù)據(jù)會被序列化為json格式后存儲在elasticsearch中,原本數(shù)據(jù)庫中的一行數(shù)據(jù)就是ES中的一個JSON文檔;而數(shù)據(jù)庫中每行數(shù)據(jù)都包含很多列,這些列就轉(zhuǎn)換為JSON文檔中的字段(Field);

索引和映射:將類型相同的文檔集中在一起管理,稱為索引(Index),我們可以把索引當做是數(shù)據(jù)庫中的表;

數(shù)據(jù)庫的表會有約束信息,用來定義表的結(jié)構(gòu)、字段的名稱、類型等信息。因此,索引庫中就有映射(mapping),是索引中文檔的字段約束信息,類似表的結(jié)構(gòu)約束。

2、ElasticSearch、Kibana和IK分詞器部署

1.1、安裝ElasticSearch(版本:7.12.1)

1、在虛擬機中找到一個用于存放所有鏡像的文件夾位置,進入到選中的文件夾層級拉取鏡像到本地服務(wù)器;(推薦root~)

docker pull elasticsearch:7.12.1

2、通過下面的Docker命令安裝單機版的ElasticSearch;

docker run -d \
  --name es \
  -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  -e "discovery.type=single-node" \
  -v es-data:/usr/share/elasticsearch/data \
  -v es-plugins:/usr/share/elasticsearch/plugins \
  --privileged \
  --network hm-net \
  -p 9200:9200 \
  -p 9300:9300 \
  elasticsearch:7.12.1

注釋:

  • docker run:運行一個新的容器。
  • -d:以“后臺模式”(detached mode)運行容器。
  • --name es:為容器指定一個名稱,這里命名為es。
  • -e:設(shè)置環(huán)境變量。
  • ES_JAVA_OPTS=-Xms512m -Xmx512m:為 ElasticSearch 的 JVM 設(shè)置堆內(nèi)存大小。
  • discovery.type=single-node:將 ElasticSearch 配置為單節(jié)點模式,適合開發(fā)或測試環(huán)境,避免集群配置的復(fù)雜性。
  • -v:掛載數(shù)據(jù)卷。
  • es-data:/usr/share/elasticsearch/data:將主機的 es-data 數(shù)據(jù)卷掛載到容器內(nèi)的 /usr/share/elasticsearch/data 目錄。
  • es-plugins:/usr/share/elasticsearch/plugins:將主機的 es-plugins 數(shù)據(jù)卷掛載到容器內(nèi)的 /usr/share/elasticsearch/plugins 目錄。
  • --privileged:賦予容器特權(quán)模式。
  • --network hm-net:將容器連接到名為 hm-net 的 Docker 網(wǎng)絡(luò)。
  • -p:映射端口。
  • 9200:9200:將主機的 9200 端口映射到容器的 9200 端口。
  • 9300:9300:將主機的 9300 端口映射到容器的 9300 端口。
  • elasticsearch:7.12.1:指定要運行的鏡像名稱和版本。這里使用的是 ElasticSearch 的 7.12.1 版本。

3、驗證ElasticSearch是否運行;

# 檢查容器是否正常運行
docker ps
# 查看容器運行日志文件(-f 實時查看)
docker logs -f es

4、最后可以訪問ElasticSearch的接口:http://localhost:9200,返回如下內(nèi)容表示成功啟動了;

{
  "name" : "node-1",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "abc123",
  "version" : {
    "number" : "8.10.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "abc123",
    "build_date" : "2023-10-01T00:00:00.000Z",
    "build_snapshot" : false,
    "lucene_version" : "9.7.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

注:8以上版本的JavaAPI變化很大,有需要的自行研究;

1.2、安裝Kibana(ElasticSearch官方提供的可視化工具)

1、通過下面的Docker命令拉取Kibana鏡像(注:Kibana的版本號要和ElasticSearch一致,后面提到的ik分詞器也是一樣)

docker pull kibana:7.12.1

2、通過下面的docker命令部署Kibana工具

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=hm-net \
-p 5601:5601  \
kibana:7.12.1

3、檢查完成后,訪問5601端口即可

  • 選擇Explore on my own之后,進入主頁面;
  • 然后選中Dev tools,進入開發(fā)工具頁面;

1.3、安裝IK分詞器(版本保持一致)

方法一、在線安裝

執(zhí)行以下命令:

docker exec -it es ./bin/elasticsearch-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip

重啟es容器:

docker restart es

方法二、離線安裝(網(wǎng)速差的情況)

先查看之前安裝的ElasticSearch容器的plugins數(shù)據(jù)卷目錄:

docker volume inspect es-plugins

結(jié)果如下:

[
    {
        "CreatedAt": "2024-11-06T10:06:34+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/es-plugins/_data",
        "Name": "es-plugins",
        "Options": null,
        "Scope": "local"
    }
]

可以看到elasticsearch的插件掛載到了/var/lib/docker/volumes/es-plugins/_data這個目錄,我們需要把IK分詞器上傳至這個目錄。

這里的ik分詞器需要自己找,直接將ik分詞器上傳到/var/lib/docker/volumes/es-plugins/_data這個目錄下;

最后重啟es容器:

docker restart es

關(guān)于ik分詞器 主要包含兩種模式:

  • ik_smart:智能語義切分
  • ik_max_word:最細粒度切分

但有時ik分詞器也無法做到對一些網(wǎng)絡(luò)熱詞拆分,這就需要ik分詞器的擴展詞匯的功能;(/_data/ik/config) 注意,如果采用在線安裝的通過,默認是沒有config目錄的,需要找網(wǎng)絡(luò)上的資料提供的ik下的config上傳至對應(yīng)目錄。 在IKAnalyzer.cfg.xml配置文件內(nèi)容中添加:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
        <comment>IK Analyzer 擴展配置</comment>
        <!--用戶可以在這里配置自己的擴展字典 *** 添加擴展詞典-->
        <entry key="ext_dict">ext.dic</entry>
</properties>

在IK分詞器的config目錄新建一個 ext.dic,可以參考config目錄下復(fù)制一個配置文件進行修改,文件中就是需要組合的詞語了;

再次重啟es:

docker restart es

到此這篇關(guān)于ElasticSearch+Kibana通過Docker部署到Linux服務(wù)器中的文章就介紹到這了,更多相關(guān)ElasticSearch+Kibana通過Docker部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker 教程之基本概念(鏡像,容器,倉庫)詳解

    Docker 教程之基本概念(鏡像,容器,倉庫)詳解

    這篇文章主要介紹了Docker 教程之基本概念(鏡像,容器,倉庫)詳解的相關(guān)資料,這里對Docker 的基本知識做一個介紹,需要的朋友可以參考下
    2016-12-12
  • Docker搭建MySQL5.7主從復(fù)制的實現(xiàn)

    Docker搭建MySQL5.7主從復(fù)制的實現(xiàn)

    本文主要介紹了Docker搭建MySQL5.7主從復(fù)制的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • 一篇文章學會Docker命令小結(jié)

    一篇文章學會Docker命令小結(jié)

    這篇文章主要介紹了一篇文章學會Docker命令小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • 如何修改 docker 容器的啟動參數(shù)

    如何修改 docker 容器的啟動參數(shù)

    工作中我們經(jīng)常遇到docker容器運行一段時間后,因為各種原因需要調(diào)整啟動參數(shù)的情況,這篇文章主要介紹了如何修改 docker 容器的啟動參數(shù),需要的朋友可以參考下
    2023-09-09
  • deepin apt命令安裝最新版本的docker的方法

    deepin apt命令安裝最新版本的docker的方法

    這篇文章主要介紹了deepin apt命令安裝最新版本的docker的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Docker容器的調(diào)試技巧之docker logs與docker service logs解讀

    Docker容器的調(diào)試技巧之docker logs與docker service logs

    這篇文章主要介紹了Docker容器的調(diào)試技巧之docker logs與docker service logs,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Dockerfile多鏡像構(gòu)建方式

    Dockerfile多鏡像構(gòu)建方式

    這篇文章主要介紹了Dockerfile多鏡像構(gòu)建方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Docker?部署?Nexus?Maven私服的詳細過程

    Docker?部署?Nexus?Maven私服的詳細過程

    Nexus?是一個強大的倉庫管理器,廣泛用于管理和組織軟件構(gòu)建過程中的依賴項和構(gòu)件,通過?Docker?部署?Nexus?私服,可以簡化安裝和管理過程,并提供更高的靈活性和可擴展性,這篇文章主要介紹了Docker?部署?Nexus?Maven私服的詳細過程,需要的朋友可以參考下
    2024-08-08
  • 在Docker容器中部署Django的時區(qū)問題

    在Docker容器中部署Django的時區(qū)問題

    本文主要介紹了在Docker容器中部署Django的時區(qū)問題,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Docker中使用Nginx代理多個應(yīng)用站點的方法

    Docker中使用Nginx代理多個應(yīng)用站點的方法

    這篇文章主要介紹了Docker中使用Nginx代理多個應(yīng)用站點的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12

最新評論