Elasticsearch學(xué)習(xí)分享

      網(wǎng)友投稿 860 2025-04-02

      elasticsearch的簡單入門:(一)ES簡介與安裝


      像天貓、京東這樣的商城,用戶訪問商城的首頁,一般都會直接搜索來尋找自己想要購買的商品。而商品的數(shù)量非常多,而且分類繁雜。如果能正確的顯示出用戶想要的商品,并進(jìn)行合理的過濾,盡快促成交易,是搜索系統(tǒng)要研究的核心。面對這樣復(fù)雜的搜索業(yè)務(wù)和數(shù)據(jù)量,使用傳統(tǒng)數(shù)據(jù)庫搜索就顯得力不從心,一般我們都會使用全文檢索技術(shù),比如Solr,elasticsearch。今天我們的主角是Elasticsearch。

      1、elasticsearch的介紹與安裝

      1.1.elasticsearch的簡單介紹

      Elastic官網(wǎng):https://www.elastic.co/cn/

      Elastic有一條完整的產(chǎn)品線及解決方案:Elasticsearch、Kibana、Logstash等,前面說的三個就是大家常說的ELK技術(shù)棧。

      Elasticsearch(官網(wǎng):https://www.elastic.co/cn/products/elasticsearch?)是Elastic Stack 的核心技術(shù)。詳細(xì)介紹參考官網(wǎng)

      Elasticsearch具備以下特點:

      分布式,無需人工搭建集群(solr就需要人為配置,使用Zookeeper作為注冊中心)

      Restful風(fēng)格,一切API都遵循Rest原則,容易上手近實時搜索,數(shù)據(jù)更新在Elasticsearch中幾乎是完全同步的。

      1.2.安裝和配置

      為了模擬真實場景,我們將在linux下安裝Elasticsearch。 虛擬機(jī)(需要JDK1.8以上)我們用到VirtualBox,SSH工具用到Xshell連上Linux系統(tǒng),Xftp傳輸文件。如果內(nèi)存不夠用把不相干的東西停掉

      1.2.1.新建一個用戶leyou(用戶名隨意)

      出于安全考慮,elasticsearch默認(rèn)不允許以root賬號運行。

      創(chuàng)建用戶:useradd leyou

      設(shè)置密碼:passwd leyou

      切換用戶:su - leyou

      1.2.2.上傳安裝包,并解壓

      我們將安裝包上傳到:/home/leyou目錄(目錄自己創(chuàng)建)

      解壓縮:tar -zxvf elasticsearch-6.2.4.tar.gz

      目錄重命名:mv elasticsearch-6.2.4/ elasticsearch

      完成后,查看下目錄結(jié)構(gòu):

      1.2.3.修改配置

      進(jìn)入config目錄:

      cd config

      需要修改的配置文件有兩個:

      Elasticsearch基于Lucene的,而Lucene底層是java實現(xiàn),因此我們需要配置jvm參數(shù)。

      編輯jvm.options

      vim jvm.options

      修改默認(rèn)配置:-Xms1g? ? -Xmx1g為

      -Xms512m

      -Xmx512m

      編輯vim elasticsearch.yml修改數(shù)據(jù)和日志目錄

      path.data: /home/leyou/elasticsearch/data # 數(shù)據(jù)目錄位置

      path.logs: /home/leyou/elasticsearch/logs # 日志目錄位置

      我們把data和logs目錄修改指向了elasticsearch的安裝目錄。但是這兩個目錄并不存在,因此我們需要創(chuàng)建出來。

      進(jìn)入elasticsearch的根目錄,然后創(chuàng)建:

      mkdir data

      mkdir logs

      修改綁定的ip:默認(rèn)只允許本機(jī)訪問,修改為0.0.0.0后則可以遠(yuǎn)程訪問

      network.host: 0.0.0.0 # 綁定到0.0.0.0,允許任何ip來訪問

      目前我們是做的單機(jī)安裝,如果要做集群,只需要在這個配置文件中添加其它節(jié)點信息即可。

      elasticsearch.yml的其它可配置信息:

      1.3.運行

      進(jìn)入elasticsearch/bin目錄,可以看到下面的執(zhí)行文件:

      然后輸入命令:

      ./elasticsearch

      發(fā)現(xiàn)報錯了,啟動失敗:

      如果用centos6(其linux內(nèi)核版本為2.6 ),則會出現(xiàn)如下報錯,原因是Elasticsearch的插件要求至少3.5以上版本。

      不過沒關(guān)系,我們禁用這個插件即可。修改elasticsearch.yml文件,在最下面添加如下配置:

      Elasticsearch學(xué)習(xí)分享

      bootstrap.system_call_filter: false

      然后再重啟 。

      1.3.2.錯誤2:文件權(quán)限不足

      再次啟動,又出錯了

      上面三條錯誤,我們逐一分析。

      [1]: max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

      我們用的是新用戶leyou,而不是root,所以文件權(quán)限不足。

      首先用root用戶登錄,然后修改配置文件:

      vim /etc/security/limits.conf

      并添加下面的內(nèi)容:

      * soft nofile 65536

      * hard nofile 131072

      * soft nproc 4096

      * hard nproc 4096

      1.3.3.錯誤3:線程數(shù)不夠

      [2]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

      這是線程數(shù)不夠,繼續(xù)修改配置:

      vim /etc/security/limits.d/90-nproc.conf

      將* soft nproc 1024改為

      * soft nproc 4096

      1.3.4.錯誤4:進(jìn)程虛擬內(nèi)存

      [3]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

      vm.max_map_count:限制一個進(jìn)程可以擁有的VMA(虛擬內(nèi)存區(qū)域)的數(shù)量,繼續(xù)修改配置文件:

      vim /etc/sysctl.conf

      添加下面內(nèi)容

      vm.max_map_count=655360

      完成后執(zhí)行sysctl -p命令,載入sysctl配置文件;

      sysctl -p

      1.3.5.重啟終端窗口

      所有錯誤修改完畢,一定要重啟你的 Xshell終端,否則配置無效。

      1.3.6.啟動

      再次啟動,終于成功了!

      可以看到綁定了兩個端口:

      9300:集群節(jié)點間通訊接口

      9200:客戶端訪問接口

      我們在瀏覽器中訪問:http://192.168.0.113:9200?(192.168.0.113對應(yīng)你虛擬機(jī)的IP,可以通過ifconfig或者ip addr命令查看)

      1.4.安裝kibana

      1.4.1.什么是Kibana?

      Kibana是一個基于Node.js的Elasticsearch索引庫數(shù)據(jù)統(tǒng)計工具,可以利用Elasticsearch的聚合功能,生成各種圖表,如柱形圖,線狀圖,餅圖等。

      而且還提供了操作Elasticsearch索引數(shù)據(jù)的控制臺,并且提供了一定的API提示,非常有利于我們學(xué)習(xí)Elasticsearch的語法。

      1.4.2.安裝

      因為Kibana依賴于node,由于虛擬機(jī)沒有安裝node,而window中安裝過。所以我們選擇在window下使用kibana。

      版本與elasticsearch的版本保持一致

      解壓到特定目錄即可使用。

      1.4.3.配置運行

      進(jìn)入安裝目錄下的config目錄,修改kibana.yml文件:

      修改elasticsearch服務(wù)器的地址:

      elasticsearch.url: "http://192.168.0.113:9200"

      進(jìn)入安裝目錄下的bin目錄:

      雙擊運行:

      發(fā)現(xiàn)kibana的監(jiān)聽端口是5601

      我們訪問:http://127.0.0.1:5601,點擊Dev Tools打開控制臺

      在頁面右側(cè),我們就可以輸入請求,訪問Elasticsearch了。

      1.5.安裝ik分詞器

      Lucene的IK分詞器早在2012年已經(jīng)沒有維護(hù)了,現(xiàn)在我們要使用的是在其基礎(chǔ)上維護(hù)升級的版本,并且開發(fā)為ElasticSearch的集成插件了,與Elasticsearch一起維護(hù)升級,版本也保持一致

      1.5.1.安裝

      Xftp上傳下載好的zip包,并解壓到Elasticsearch目錄的plugins目錄中:

      使用unzip命令解壓:

      unzip elasticsearch-analysis-ik-6.2.4.zip

      使用mv命令改名:

      mv elasticsearch-analysis-ik-6.2.4 ik-analyzer

      刪除安裝包:

      rm -rf elasticsearch-analysis-ik-6.2.4.zip

      然后重啟elasticsearch即可。

      1.6.測試

      大家先不管語法,我們先測試一波。在kibana控制臺輸入下面的請求:

      運行得到右邊的結(jié)果。

      1.7.API

      Elasticsearch提供了Rest風(fēng)格的API,即http請求接口,而且也提供了各種語言的客戶端API

      文檔地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

      學(xué)習(xí)用的是6.2.4版本,發(fā)現(xiàn)當(dāng)前版本已經(jīng)到6.6了。

      Elasticsearch 虛擬化

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:從零開始學(xué)python | ChainMap 有效管理多個上下文(從零開始學(xué)python網(wǎng)絡(luò)爬蟲)
      下一篇:為什么建議ERP軟件用于基于制造的初創(chuàng)企業(yè)
      相關(guān)文章
      精品国产亚洲第一区二区三区 | 亚洲综合色一区二区三区小说| 亚洲另类激情专区小说图片| 亚洲第一第二第三第四第五第六 | 亚洲美日韩Av中文字幕无码久久久妻妇| 亚洲精华国产精华精华液好用| 亚洲色精品VR一区区三区| 亚洲一级免费毛片| 最新国产成人亚洲精品影院| 亚洲综合久久精品无码色欲| 久久综合久久综合亚洲| 亚洲熟妇无码一区二区三区导航 | 亚洲日本va一区二区三区| 亚洲一区二区三区在线观看网站| 日韩亚洲产在线观看| 亚洲人成色在线观看| 亚洲AV成人无码久久WWW| 亚洲va中文字幕无码| 亚洲欧洲中文日韩久久AV乱码| 国产日韩成人亚洲丁香婷婷| 国产亚洲美日韩AV中文字幕无码成人| 国产AV无码专区亚洲AV手机麻豆| 亚洲日韩精品一区二区三区| 亚洲AV无码专区国产乱码4SE| 亚洲va在线va天堂va888www| 亚洲综合在线成人一区| 亚洲日产2021三区| 国内精品久久久久影院亚洲| 亚洲av无码成人影院一区| 亚洲国产精品日韩| 亚洲中文字幕日产乱码高清app| 国产亚洲精品精华液| 久久久久亚洲AV成人片| 亚洲一级高清在线中文字幕| 亚洲爆乳精品无码一区二区| 亚洲精品国产精品国自产观看| 亚洲人成人无码网www电影首页 | 亚洲∧v久久久无码精品| 亚洲日本视频在线观看| 亚洲精品无码中文久久字幕| 亚洲成a人无码av波多野按摩|