使用Docker快速部署ES單機(jī)方式
使用Docker快速部署ES單機(jī)
所有的操作都是基于Docker來的,沒有裝Docker的話請(qǐng)參照官方文檔安裝
單機(jī)環(huán)境部署
1.初始化相關(guān)目錄
mkdir -p /usr/local/elasticsearch/{config,plugins,data}
2.準(zhǔn)備配置文件
vim /usr/local/elasticsearch/config/elasticsearch.yml
將下面的內(nèi)容粘貼到elasticsearch.yml
# 集群名 cluster.name: docker-cluster # 節(jié)點(diǎn)名 node.name: node # 監(jiān)聽ip network.host: 0.0.0.0 # 開啟x-pack插件,用于添加賬號(hào)密碼 xpack.security.enabled: true
3.修改系統(tǒng)設(shè)置
修改該配置是為了防止es在啟動(dòng)時(shí)出現(xiàn)下面的錯(cuò)誤
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
echo "vm.max_map_count=262144" >> /etc/sysctl.conf /sbin/sysctl -p
4.添加ik分詞器
ik分詞器為常用的中文分詞器,如果你不需要用到中文搜索,這步可以跳過
下載ik分詞器:適用于ES 6.8.13的版本,版本不同的自己找ES同版本的tag下載
將下載的elasticsearch-analysis-ik-6.8.13.zip上傳到/usr/local/elasticsearch/plugins下
unzip elasticsearch-analysis-ik-6.8.13.zip -d analysis-ik rm -rf elasticsearch-analysis-ik-6.8.13.zip
5.設(shè)置配置權(quán)限
因?yàn)閑s不允許使用root用戶啟動(dòng)
而es鏡像中使用的啟動(dòng)用戶uid和gid都是1000
所以我們才需要在這里將相關(guān)的目錄所有者改為1000
不更改的話,在啟動(dòng)時(shí)會(huì)出現(xiàn)權(quán)限錯(cuò)誤異常
chown 1000:1000 /usr/local/elasticsearch -R
6.啟動(dòng)鏡像
docker run -d --name elasticsearch \ -v /usr/local/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /usr/local/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data \ -v /etc/localtime:/etc/localtime \ -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \ -e "discovery.type=single-node" \ -p 9200:9200 -p 9300:9300 \ --restart=always \ elasticsearch:6.8.13
ES_JAVA_OPTS設(shè)置了ES的啟動(dòng)內(nèi)存,自己按需修改
discovery.type=single-node表示該es為單節(jié)點(diǎn),不加這個(gè)的話,你的es健康狀態(tài)會(huì)顯示為黃色
7.設(shè)置密碼
docker exec -it elasticsearch bash elasticsearch-setup-passwords interactive
根據(jù)提示,先輸入y,然后輸入密碼,這里會(huì)要求輸入多次,主要是需要給好幾個(gè)系統(tǒng)添加密碼,用戶默認(rèn)elastic
如果不需要登錄將配置文件中的xpack.security.enabled: true 改為false
至此,單節(jié)點(diǎn)的elasticsearch就部署好了
瀏覽器輸入:http://172.XX.XX.XX:9200/
顯示以上json內(nèi)容表示部署成功。
PS:如果需要使用docker重新啟動(dòng)ES的話,需要將data/文件夾下的內(nèi)容刪除。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker自建rustdesk-server遠(yuǎn)程桌面的解決方案
RustDesk 是一款可以平替 TeamViewer 的開源軟件,旨在提供安全便捷的自建方案,這篇文章主要介紹了docker自建rustdesk-server遠(yuǎn)程桌面的解決方案,需要的朋友可以參考下2024-07-07Docker部署項(xiàng)目完全使用指南(小結(jié))
本文主要介紹了Docker部署項(xiàng)目完全使用指南,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03docker導(dǎo)入導(dǎo)出鏡像、容器,及啟動(dòng)容器失敗的解決過程
本文介紹了在內(nèi)網(wǎng)環(huán)境下使用Docker進(jìn)行應(yīng)用程序部署時(shí)遇到的問題以及解決方案,主要通過Docker的鏡像和容器導(dǎo)入導(dǎo)出功能,實(shí)現(xiàn)了在內(nèi)網(wǎng)環(huán)境下成功部署應(yīng)用程序,同時(shí),還詳細(xì)介紹了docker命令的使用方法,包括鏡像的導(dǎo)出和導(dǎo)入、容器的導(dǎo)出和導(dǎo)入等2025-02-02Docker構(gòu)建簡(jiǎn)單的個(gè)人主頁網(wǎng)站實(shí)戰(zhàn)教程
Docker是一種開源容器化技術(shù),可以打包、發(fā)布和運(yùn)行應(yīng)用程序,本教程介紹了如何使用Docker構(gòu)建一個(gè)簡(jiǎn)單的個(gè)人主頁網(wǎng)站,通過編寫Dockerfile來自定義鏡像,并展示了如何通過傳入環(huán)境變量來動(dòng)態(tài)更改網(wǎng)頁內(nèi)容,項(xiàng)目使用的技術(shù)包括Docker、Alpine、Nginx、HTML、CSS和JavaScript2024-10-10修改Docker鏡像倉庫為阿里云鏡像或163鏡像的實(shí)現(xiàn)
docker本身的倉庫非常慢,但是國內(nèi)有阿里云的鏡像倉庫非常快,本文主要介紹了修改Docker鏡像倉庫為阿里云鏡像或163鏡像的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11docker實(shí)現(xiàn)mysql主從復(fù)制的示例代碼
Docker它不香嗎?即省去了安裝Mysql所需要的步驟,有多個(gè)容器之間相互資源獨(dú)立,IP互不沖突,具有一定的參考價(jià)值,感興趣的可以了解一下2021-08-08Docker部署Zookeeper官方鏡像的保姆級(jí)教程
這篇文章介紹了如何使用Docker和Docker Compose部署Zookeeper官方鏡像,包括安裝Docker及可視化工具、創(chuàng)建掛載目錄、運(yùn)行Zookeeper容器、查看運(yùn)行狀態(tài)以及驗(yàn)證是否正常運(yùn)行,需要的朋友可以參考下2025-02-02