偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

手把手部署 Elasticsearch :打造你的 RAG 向量數(shù)據(jù)庫底座

人工智能
本文將以Elasticsearch 8.15.0為例,從目錄規(guī)劃到插件配置,手把手帶你完成生產(chǎn)級部署 —— 無論是單節(jié)點測試環(huán)境,還是多節(jié)點集群,都能快速上手;特別針對 RAG 場景優(yōu)化了分詞器配置與權(quán)限管理,確保后續(xù)向量入庫、語義檢索環(huán)節(jié)穩(wěn)定高效。跟著操作,10 分鐘內(nèi)即可搭建好你的 RAG 向量底座!

在大模型與知識庫結(jié)合的浪潮中,RAG(檢索增強生成)技術(shù)憑借其精準匹配、可控輸出的特性,已成為落地場景中的 “剛需”。而向量數(shù)據(jù)庫作為 RAG 的 “記憶中樞”,負責高效存儲、檢索海量向量數(shù)據(jù),直接決定了整個系統(tǒng)的響應速度與匹配精度。

Elasticsearch(簡稱 ES)作為一款成熟的分布式搜索引擎,不僅具備強大的全文檢索能力,更在 8.x 版本后通過dense_vector類型和knn查詢接口,完美適配了向量存儲與近鄰搜索需求。相較于專用向量數(shù)據(jù)庫,它支持 “文本 + 向量” 混合檢索、自帶分布式擴展能力,且對中文場景友好(搭配 IK 分詞器可實現(xiàn)精準語義解析),成為中小團隊部署 RAG 系統(tǒng)時的高性價比選擇。

本文將以Elasticsearch 8.15.0為例,從目錄規(guī)劃到插件配置,手把手帶你完成生產(chǎn)級部署 —— 無論是單節(jié)點測試環(huán)境,還是多節(jié)點集群,都能快速上手;特別針對 RAG 場景優(yōu)化了分詞器配置與權(quán)限管理,確保后續(xù)向量入庫、語義檢索環(huán)節(jié)穩(wěn)定高效。跟著操作,10 分鐘內(nèi)即可搭建好你的 RAG 向量底座!

目錄規(guī)劃

通過清晰劃分程序、數(shù)據(jù)、日志、插件的存儲路徑,實現(xiàn) Elasticsearch 文件管理的規(guī)范化,便于后續(xù)維護(如數(shù)據(jù)備份、日志排查、插件升級);同時統(tǒng)一設(shè)置屬主為es:es,遵循 “最小權(quán)限原則”,避免敏感操作風險,為 RAG 場景下的穩(wěn)定運行奠定基礎(chǔ)。

用途

路徑

屬主

程序

/opt/elasticsearch-8.15.0

es:es

數(shù)據(jù)

/data/elasticsearch

es:es

日志

/var/log/elasticsearch

es:es

插件

/opt/elasticsearch-8.15.0/plugins

es:es

下面來手把手介紹部署流程:

安裝包下載

  • 離線方式:從官網(wǎng)下載安裝包,并上傳到/opt文件夾
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.15.0-linux-x86_64.tar.gz
  • 在線方式:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.15.0-linux-x86_64.tar.gz

解壓安裝包

將壓縮包中的程序文件釋放到規(guī)劃的程序目錄(/opt/elasticsearch-8.15.0):

tar -zxvf elasticsearch-8.15.0-linux-x86_64.tar.gz

創(chuàng)建一個專門用于運行 Elasticsearch 的系統(tǒng)用戶es

Elasticsearch 禁止使用root用戶運行(出于安全考慮),創(chuàng)建獨立的es用戶可隔離進程權(quán)限,限制其僅能操作 Elasticsearch 相關(guān)目錄,避免誤操作影響系統(tǒng)其他組件,符合生產(chǎn)環(huán)境安全規(guī)范。

useradd -r -s /bin/bash -d /home/es -m es

設(shè)置目錄權(quán)限(關(guān)鍵步驟)

  • 通過chown -R es:es將程序、數(shù)據(jù)、日志、插件目錄的屬主綁定到es用戶,確保es用戶擁有完整操作權(quán)限(讀寫、執(zhí)行),滿足服務運行需求;
  • 同時防止其他用戶(如root或普通用戶)隨意篡改數(shù)據(jù)或配置,保障 RAG 場景下向量數(shù)據(jù)的完整性和安全性。

1.修改用戶資源限制(文件句柄和進程數(shù))

修改/etc/security/limits.conf提升es用戶的文件句柄和進程數(shù)限制,避免 Elasticsearch 因 “打開文件數(shù)不足”“進程數(shù)超限” 導致啟動失敗或運行中斷(尤其在 RAG 場景下,向量數(shù)據(jù)量大時需高頻讀寫文件);

# 編輯系統(tǒng)限制文件
vi /etc/security/limits.conf


# 在文件末尾添加以下內(nèi)容(針對es用戶的限制):
es soft nofile 65536  # 軟限制:最多打開的文件句柄數(shù)
es hard nofile 65536  # 硬限制:最多打開的文件句柄數(shù)
es soft nproc 4096    # 軟限制:最多創(chuàng)建的進程數(shù)
es hard nproc 4096    # 硬限制:最多創(chuàng)建的進程數(shù)

注意事項:

若之前的系統(tǒng)中/etc/profile或/etc/profile.d/目錄下有ulimit相關(guān)設(shè)置(如ulimit -n 20480),可能會覆蓋上述配置,需檢查并刪除:

# 檢查是否有沖突的配置
grep ulimit /etc/profile /etc/profile.d/* 2>/dev/null

若輸出類似/etc/profile:ulimit -n 20480的內(nèi)容,編輯對應文件(如vi /etc/profile),注釋或刪除該行為即可。

2. 修改虛擬內(nèi)存限制(內(nèi)核參數(shù))

調(diào)整vm.max_map_count內(nèi)核參數(shù),滿足 Elasticsearch 對內(nèi)存映射區(qū)域的需求(向量檢索依賴內(nèi)存高效訪問,足夠的映射區(qū)域可提升查詢性能)。

# 編輯內(nèi)核參數(shù)文件
vi /etc/sysctl.conf

在文件末尾添加以下內(nèi)容,提升內(nèi)存映射區(qū)域限制(Elasticsearch要求至少262144,此處設(shè)為655360更寬松):

vm.max_map_count=655360

保存后執(zhí)行以下命令使配置生效:

sysctl -p

修改 Elasticsearch 核心配置文件(elasticsearch.yml)

主要實現(xiàn):

  • 自定義集群 / 節(jié)點名稱、網(wǎng)絡(luò)綁定 IP 和端口,確保服務可被 RAG 系統(tǒng)的應用層(如 API 服務)訪問;
  • 配置數(shù)據(jù)和日志路徑,與前期規(guī)劃的目錄對應,避免文件存儲混亂;
  • 開啟跨域支持,允許 Kibana(可視化工具)或 RAG 應用直接調(diào)用 Elasticsearch 的 API;
  • 單節(jié)點 / 多節(jié)點配置分別適配測試環(huán)境和生產(chǎn)環(huán)境:單節(jié)點簡化部署,適合快速驗證 RAG 流程;多節(jié)點集群通過分布式存儲和負載均衡,提升向量數(shù)據(jù)的可靠性和檢索效率。

配置文件路徑為/opt/elasticsearch-8.15.0/config/elasticsearch.yml,需要根據(jù) “單節(jié)點” 或 “多節(jié)點集群” 場景修改,以下分別說明:

場景 1:單節(jié)點部署(適合測試或小型環(huán)境)

單節(jié)點配置無需復雜的集群發(fā)現(xiàn)設(shè)置,只需指定基礎(chǔ)路徑、網(wǎng)絡(luò)和跨域等參數(shù):

1. 編輯配置文件

vi /opt/elasticsearch-8.15.0/config/elasticsearch.yml

2. 添加 / 修改以下配置(按實際 IP 和需求調(diào)整):

# 集群名稱(自定義,如cluster-es)
cluster.name: cluster-es
# 節(jié)點名稱(單節(jié)點可設(shè)為node-1)
node.name: node-1
# 網(wǎng)絡(luò)綁定:填寫當前IP(如192.168.1.100,若允許所有IP訪問可設(shè)為0.0.0.0)
network.host: 192.168.1.100
# HTTP端口(默認9200,可自定義)
http.port: 9200
# 傳輸端口(節(jié)點間通信,默認9300)
transport.port: 9300
# 最大請求體大?。ㄖС执笪募蟼鳎?00MB)
http.max_content_length: 200mb
# 跨域配置(允許外部工具如Kibana、Cerebro訪問)
http.cors.enabled: true
http.cors.allow-origin: "*"
# 單節(jié)點模式(無需發(fā)現(xiàn)其他節(jié)點)
discovery.type: single-node
# 路徑配置(按規(guī)劃的目錄修改)
# 數(shù)據(jù)存儲路徑
path.data: /data/elasticsearch
# 日志存儲路徑
path.logs: /var/log/elasticsearch

3. 關(guān)鍵參數(shù)說明: 

  • path.data和path.logs必須指向之前創(chuàng)建的/data/elasticsearch和/var/log/elasticsearch,且屬主為es:es。
  • network.host若設(shè)為0.0.0.0,表示允許所有 IP 訪問(適合虛擬機/服務器內(nèi)測試);若需限制訪問,填寫具體 IP。

場景 2:多節(jié)點集群部署(以 3 節(jié)點為例)

若部署集群,需確保各節(jié)點配置統(tǒng)一的集群名稱,且差異化配置節(jié)點名稱、IP 等。以下以 “節(jié)點 1” 為例,其他節(jié)點僅需修改node.name和network.host,并保持其他參數(shù)一致。

1. 編輯節(jié)點 1 的配置文件

vi /opt/elasticsearch-8.15.0/config/elasticsearch.yml

2. 添加 / 修改以下配置:

# 集群名稱(所有節(jié)點必須相同)
cluster.name: cluster-es
# 節(jié)點1名稱(每個節(jié)點唯一,如node-1)
node.name: node-1
# 節(jié)點1的IP(如192.168.1.101)
network.host: 192.168.1.101
# HTTP端口(所有節(jié)點保持一致,如9200)
http.port: 9200
# 傳輸端口(所有節(jié)點保持一致,如9300)
transport.port: 9300
# 最大請求體大小
http.max_content_length: 200mb
# 跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
# 路徑配置(所有節(jié)點統(tǒng)一按規(guī)劃目錄)
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
# 集群發(fā)現(xiàn)配置(所有節(jié)點需包含集群內(nèi)所有節(jié)點的IP:9300)
discovery.seed_hosts: ["192.168.1.101:9300", "192.168.1.102:9300", "192.168.1.103:9300"]
# 初始主節(jié)點候選列表(首次啟動時生效,填所有節(jié)點名稱,如node-1、node-2、node-3)
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
# 節(jié)點角色(默認同時作為主節(jié)點和數(shù)據(jù)節(jié)點,適合3節(jié)點集群)
node.master: true  # 允許參與主節(jié)點選舉
node.data: true    # 允許存儲數(shù)據(jù)

3. 其他節(jié)點配置:

  • 節(jié)點 2:修改node.name: node-2network.host: 192.168.1.102,其他參數(shù)與節(jié)點 1 一致。
  • 節(jié)點 3:修改node.name: node-3network.host: 192.168.1.103,其他參數(shù)與節(jié)點 1 一致。

安裝 IK 分詞器(離線方式)

Elasticsearch 默認分詞器對中文支持較差(會將詞語拆分為單個字),而 RAG 場景需要基于中文語義的精準檢索。IK 分詞器可對中文文本進行智能拆分(如 “中華人民共和國” 拆分為 “中華人民共和國”“人民共和國” 等),提升文本向量轉(zhuǎn)化的準確性,進而優(yōu)化 RAG 的檢索匹配效果。

  1. 下載與 Elasticsearch 8.15.0 版本匹配的 IK 分詞器,上傳到虛擬機/服務器的/opt目錄(與 Elasticsearch 安裝包同路徑方便操作)
https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-8.15.0.zip

2. 解壓插件到 Elasticsearch 插件目錄,Elasticsearch 插件目錄為/opt/elasticsearch-8.15.0/plugins,需創(chuàng)建ik子目錄并解壓:

# 創(chuàng)建 IK 插件目錄(必須命名為 analysis-ik,否則 ES 無法識別)
mkdir -p /opt/elasticsearch-8.15.0/plugins/analysis-ik
# 進入插件目錄
cd /opt/elasticsearch-8.15.0/plugins/analysis-ik
# 使用內(nèi)置 jar 命令解壓 IK 分詞器
/opt/elasticsearch-8.15.0/jdk/bin/jar xf /opt/elasticsearch-analysis-ik-8.15.0.zip
# 驗證解壓結(jié)果
ls /opt/elasticsearch-8.15.0/plugins/analysis-ik

3. 設(shè)置插件目錄權(quán)限,確保插件目錄屬主為es:es:

chown -R es:es /opt/elasticsearch-8.15.0/plugins/analysis-ik

安裝 IK 分詞器(在線方式)

確保你已經(jīng)進入到 Elasticsearch 的安裝目錄,然后使用 Elasticsearch 的插件管理工具來安裝 IK 插件。注意要確保使用的插件版本與你的 Elasticsearch 版本兼容。

cd /opt/elasticsearch-8.15.0
# 安裝 IK 插件,注意替換版本號為 8.15.0
bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/8.15.0

啟動 Elasticsearch 服務

通過es用戶啟動服務,使配置生效并運行進程;后臺啟動(-d)適合生產(chǎn)環(huán)境,前臺啟動(無-d)便于調(diào)試日志查看;啟動后驗證端口監(jiān)聽狀態(tài)和 IK 分詞器功能,確保服務正常可用,為 RAG 系統(tǒng)接入向量數(shù)據(jù)做好準備。

1. 切換到es用戶

su - es  # 切換到es用戶(-表示加載用戶環(huán)境變量)

2. 啟動服務(后臺運行)

/opt/elasticsearch-8.15.0/bin/elasticsearch -d

建議首次運行,使用/opt/elasticsearch-8.15.0/bin/elasticsearch前臺啟動,會打印elastic 用戶的初始密碼、CA 證書指紋等,需要記住初始密碼。

3. 驗證啟動是否成功

啟動后等待 1-2 分鐘,執(zhí)行以下命令檢查服務狀態(tài):

# 查看9200端口是否監(jiān)聽(需用root用戶或有權(quán)限的用戶執(zhí)行)
netstat -tpln | grep 9200

4. 驗證 IK 分詞器是否生效

curl --cacert /opt/elasticsearch-8.15.0/config/certs/http_ca.crt \
  -u elastic:你的密碼 \
  -X GET "https://192.168.1.101:9200/_analyze?pretty" \
  -H 'Content-Type: application/json' \
  -d '{
    "analyzer": "ik_max_word",
    "text": "中華人民共和國國歌"
  }'

若返回分詞結(jié)果(如["中華人民共和國", "中華人民", "中華", "華人", "人民共和國",...]),說明 IK 分詞器安裝成功。

修改es密碼(如需要)

Elasticsearch 默認啟用安全認證,首次啟動生成的初始密碼為臨時密碼,修改為自定義強密碼可防止未授權(quán)訪問(RAG 場景下向量數(shù)據(jù)庫包含業(yè)務敏感信息,需嚴格控制訪問權(quán)限)。

curl -k -u elastic:初始密碼 -X POST "https://192.168.1.101:9200/_security/user/elastic/_password" \
  -H "Content-Type: application/json" \
  -d '{"password":"新密碼"}'

Elasticsearch 的能力遠不止于基礎(chǔ)部署 —— 在 RAG 場景中,它的向量檢索優(yōu)化、索引設(shè)計、性能調(diào)優(yōu)等深度特性,將直接影響大模型回答的精準度與響應速度,后續(xù)會持續(xù)深挖ES的深度特性。

責任編輯:龐桂玉 來源: 小白學AI算法
相關(guān)推薦

2020-11-27 07:38:43

MongoDB

2022-07-27 08:16:22

搜索引擎Lucene

2022-07-14 07:34:26

windowsmysqlcentos

2011-06-28 12:58:44

表分區(qū)

2025-04-09 08:21:10

2025-05-15 09:43:15

知識圖譜向量數(shù)據(jù)庫RAG

2009-12-11 09:04:10

Windows搭建Li

2021-06-10 07:49:28

Python詞云圖wordcloud

2016-11-01 09:46:04

2025-04-03 16:02:14

2022-10-30 10:31:42

i2ccpuftrace

2009-12-21 11:36:24

Linux啟動加密

2021-06-24 10:52:35

JDBC數(shù)據(jù)庫圖書管理系統(tǒng)

2017-09-05 13:01:11

CocoaPods開源庫GitHub

2021-09-30 18:27:38

數(shù)據(jù)倉庫ETL

2023-11-28 07:36:41

Shell腳本部署

2021-11-12 14:50:32

Kubectl命令Linux

2009-10-22 15:23:32

VB.NET函數(shù)

2021-01-20 10:18:48

MySQL服務器配置
點贊
收藏

51CTO技術(shù)棧公眾號