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

一文搞定Docker安裝ElasticSearch的過程

 更新時間:2021年08月31日 14:26:03   作者:咔咔-  
通過本文可以幫助大家快速學(xué)習(xí)Docker安裝ElasticSearch的過程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

前言

項目準(zhǔn)備上ElasticSearch,為了后期開發(fā)不卡殼只能笨鳥先飛,在整個安裝過程中遇到以下三個問題。

  • Docker安裝非常慢
  • ElasticSearch-Head連接出現(xiàn)跨域
  • ElasticSearch-Head操作報出406錯誤碼

一、安裝Docker

目前咔咔對Docker的理解還只是個皮毛,對于不了解的東西就要多多使用,使用的多了自然而然也就會了。

安裝依賴包,執(zhí)行命令yum install -y yum-utils device-mapper-persistent-data lvm2

此時若直接執(zhí)行安裝docker命令就會發(fā)現(xiàn)是十分慢的,這個等待過程是漫長的。

配置國內(nèi)的源就可以解決問題yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo這里使用的是阿里云的源。

接著再執(zhí)行命令yum install docker-ce docker-ce-cli containerd.io安裝docker即可。

配置docker開機(jī)自啟systemctl enable docker

執(zhí)行systemctl start docker命令啟動docke

查看docker版本看是否安裝成功

docker版本

如若之前安裝docker有問題,那么執(zhí)行yum remove docker-ce來刪除并且將/var/lib/docker下的所有東西全部刪除干凈。

docker安裝完成后咔咔就進(jìn)行了創(chuàng)建容器,但遇到了一個問題WARNING: IPv4 forwarding is disabled. Networking will not work.

拿著這個錯誤直接找度娘才知道,沒有開啟轉(zhuǎn)發(fā),網(wǎng)絡(luò)橋接配置后,是需要開啟轉(zhuǎn)發(fā)的。

若不開啟轉(zhuǎn)發(fā)就會出現(xiàn)上邊的錯誤,顯示沒有網(wǎng)絡(luò)。

解決方案

修改配置文件/etc/sysctl.conf,在里邊加上net.ipv4.ip_forward=1,然后重啟服務(wù)systemctl restart network,讓配置生效。

二、安裝ElasticSearch

使用docker直接獲取es鏡像,執(zhí)行命令docker pull elasticsearch:7.7.0

執(zhí)行完成后,執(zhí)行docker images即可看到上一步拉取的鏡像。

es鏡像文章

有了鏡像,就可以開始創(chuàng)建容器了,接下來創(chuàng)建一個es的容器。

執(zhí)行docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0

--name 表示容器名稱 

-d: 后臺運(yùn)行容器,并返回容器ID;

-e: 指定容器內(nèi)的環(huán)境變量

-p: 指定端口映射,格式為:主機(jī)(宿主)端口:容器端口

命令執(zhí)行完成會返回容器id,此時再執(zhí)行docker ps -a列出所有的容器。

es容器

es默認(rèn)端口為9200,只用ip地址+端口號直接訪問,就會返回如下圖。出現(xiàn)這個界面就表示你安裝成功了。

返回結(jié)果

到這里我們就非??焖俚氖褂肈ocker安裝完成了ElasticSearch,接下來再一起安裝針對于ElasticSearch的客戶端工具。

三、安裝ElasticSearch-Head

同樣也采用Docker進(jìn)行快速安裝,跟上邊一樣同樣先拉取鏡像,執(zhí)行命令docker pull mobz/elasticsearch-head:5

接著創(chuàng)建容器,執(zhí)行docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5

安裝ElasticSearch-Head插件

為了保證圖片的清晰度,圖片就沒有截取完全,同時也是咔咔接下來將要跟你講的,注意倆次創(chuàng)建容器時的不同。

安裝ElasticSearch時是容器創(chuàng)建成功后直接在后臺就運(yùn)行了,但在安裝ElasticSearch-Head時并沒有保持一致。

而是指定容器名,端口號就直接執(zhí)行了,這樣執(zhí)行完成后是創(chuàng)建了一個容器,并沒有運(yùn)行。

也就是咔咔在上圖右下角的地方有一個框,這里就可以看到狀態(tài),會發(fā)現(xiàn)是create。

所以還需要一個操作,那就是啟動容器docker start 容器id。

安裝完成直接使用域名加端口9100即可訪問。

跨域問題

處理跨域

在連接ElasticSearch會發(fā)現(xiàn)無法連接,由于時前后端分離開發(fā),所以會存在跨域問題,需要在服務(wù)端做跨域處理。

執(zhí)行命令docker exec -it elasticsearch /bin/bash 進(jìn)入到第一步創(chuàng)建的ElasticSearch容器中,修改配置文件vi config/elasticsearch.yml即可。

http.cors.enabled: true
http.cors.allow-origin: "*"

將上邊倆行寫進(jìn)配置文件中,注意這里是用yml的配置文件,簡單普及一下此類配置文件的幾點(diǎn)語法。

  • 冒號后邊必須有一個空格
  • 使用空格的縮進(jìn)標(biāo)識層級關(guān)系,空格數(shù)據(jù)不重要,只要是左邊對其的一列鍵即可。
  • 對大小寫十分敏感
  • 縮進(jìn)時不允許使用tab,只允許使用空格。

配置修改完后需執(zhí)行命令exit退出容器,接著執(zhí)行docker restart 容器ID重啟容器即可。

處理報406錯誤

此時通過ElasticSearch-Head可以成功連接ElasticSearch了,但進(jìn)行數(shù)據(jù)操作時會報406錯誤。

只需要修改ElasticSearch-Head容器中的配置即可,將配置文件復(fù)制到宿主機(jī)進(jìn)行修改。

執(zhí)行docker cp 容器ID:/usr/src/app/_site/vendor.js /usr/local/ ,此命令會把docker容器中的文件復(fù)制到你的宿主機(jī)目錄。

進(jìn)入到/usr/local即可看到從容器中復(fù)制出來的文件vendor.js。

修改文件第6886、7574行,將"application/x-www-from-urlencodes"修改為"application/json;charset=UTF-8"即可

修改后再將文件復(fù)制到容器中,從容器復(fù)制文件到宿主機(jī)命令已經(jīng)使用過了,那么現(xiàn)在只不過是把倆個目錄反過來即可執(zhí)行docker cp /usr/local/vendor.js 容器ID:/usr/src/app/_site

最后一步重啟ElasticSearch-Head容器就結(jié)束了。

四、安裝IK分詞器

首先問一個問題,ElasticSearch中自帶的有分詞器為什么還要使用IK分詞器?

在ElasticSearch中的分詞器會把中文分為一個一個的字,例如"今天是周五",會被分成“今”、“天”、“是”,“周”、“五”,這里很明顯是不合適的,在大多數(shù)場景下需要的是詞而不是字。

所以就需要安裝中文分詞器IK來解決這個問題。

IK提供了兩個分詞算法:ik_smart和ik_max_word,其中ik_smart為最少切分,ik_max_word為最細(xì)力度。分別都有什么區(qū)別會在下期文章中給大家提出來。

這里需要注意安裝的版本需要跟ElasticSearch版本一致。

進(jìn)入到ElasticSearch容器中docker exec -it 容器ID /bin/bash

使用wget來進(jìn)行安裝,執(zhí)行wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip即可。

當(dāng)你使用wget安裝出現(xiàn)Unable to establish SSL connection時執(zhí)行以下倆個命令即可。

yum install opensslls

yum install openssl-devel

執(zhí)行cd /usr/share/elasticsearch/plugins來到插件目錄創(chuàng)建一個IK目錄。

將壓縮包移動到IK目錄中,執(zhí)行解壓指令elasticsearch-analysis-ik-7.7.0.zip

接著刪除壓縮包即可,此時你可以看到一個config包和幾個jar包

解壓后的包

最后退出容器,重啟重啟容器即可。

五、總結(jié)

本期文章將需要使用ElasticSearch所有的東西都已經(jīng)準(zhǔn)備齊全了,接下來的文章會帶著你使用PHP的Laravel開始封裝ElasticSearch的所有查詢方法。

后期也會在Go中封裝一份,給自己的工具類添加一點(diǎn)內(nèi)容。

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

相關(guān)文章

  • Docker實現(xiàn)進(jìn)入容器內(nèi)部的方法

    Docker實現(xiàn)進(jìn)入容器內(nèi)部的方法

    這篇文章主要介紹了Docker實現(xiàn)進(jìn)入容器內(nèi)部的方法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • docker容器中crontab無法正常運(yùn)行解決方案

    docker容器中crontab無法正常運(yùn)行解決方案

    相信很多人看完docker容器, 需要加crontab, 加完卻發(fā)現(xiàn)不能執(zhí)行,什么原因造成的呢?下面小編給大家分享docker容器中crontab無法正常運(yùn)行的解決方案,需要的朋友參考下吧
    2017-01-01
  • Docker打包及部署項目完整步驟

    Docker打包及部署項目完整步驟

    這篇文章主要給大家介紹了關(guān)于Docker打包及部署項目的相關(guān)資料,Docker是一種容器化技術(shù),可以將應(yīng)用程序及其依賴項打包成一個容器,方便在不同的環(huán)境中部署和運(yùn)行,需要的朋友可以參考下
    2023-08-08
  • Docker如何創(chuàng)建一個Jar服務(wù)容器

    Docker如何創(chuàng)建一個Jar服務(wù)容器

    這篇文章主要介紹了Docker如何創(chuàng)建一個Jar服務(wù)容器問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Docker為網(wǎng)絡(luò)bridge模式指定容器ip的方法

    Docker為網(wǎng)絡(luò)bridge模式指定容器ip的方法

    Docker在創(chuàng)建容器時有四種網(wǎng)絡(luò)模式,bridge為默認(rèn)不需要用--net去指定,其他三種模式需要在創(chuàng)建容器時使用--net去指定。那Docker為網(wǎng)絡(luò)bridge模式指定容器ip該如何實現(xiàn)呢?下面通過通過這篇文章一起看看吧,文中給出了詳細(xì)的示例代碼,有需要的可以參考借鑒。
    2016-11-11
  • Ubuntu Docker 的安裝部署及簡單應(yīng)用

    Ubuntu Docker 的安裝部署及簡單應(yīng)用

    這篇文章主要介紹了Ubuntu Docker 的安裝部署的相關(guān)資料,這里說明介紹了詳細(xì)的步驟,需要的朋友可以參考下
    2016-10-10
  • Docker安裝Redis最新圖文教程(非常全)

    Docker安裝Redis最新圖文教程(非常全)

    Redis是一個開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value的NoSQL數(shù)據(jù)庫,這篇文章主要給大家介紹了關(guān)于Docker安裝Redis的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • docker查看運(yùn)行容器日志的步驟

    docker查看運(yùn)行容器日志的步驟

    本文主要介紹了docker查看運(yùn)行容器日志的步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Docker安裝配置Oracle詳細(xì)步驟記錄(以作持久化處理)

    Docker安裝配置Oracle詳細(xì)步驟記錄(以作持久化處理)

    docker是一個用Go語言實現(xiàn)的開源項目,可以讓我們方便的創(chuàng)建和使用容器,下面這篇文章主要給大家介紹了關(guān)于Docker安裝配置Oracle詳細(xì)步驟的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • 清理docker占用磁盤過大問題終極方案(親測有效!)

    清理docker占用磁盤過大問題終極方案(親測有效!)

    Docker很占用空間每當(dāng)我們運(yùn)行容器、拉取鏡像、部署應(yīng)用、構(gòu)建自己的鏡像時我們的磁盤空間會被大量占用,這篇文章主要給大家介紹了關(guān)于清理docker占用磁盤過大問題終極方案,需要的朋友可以參考下
    2024-04-04

最新評論