天天看點

阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎

阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎

ElasticSearch是一個基于Apache Lucene(TM)的開源搜尋引擎。無論在開源還是專有領域,Lucene可以被認為是迄今為止最先進、性能最好的、功能最全的搜尋引擎庫。通過簡單的RESTful API來隐藏Lucene的複雜性,進而讓全文搜尋變得簡單。

近幾篇ElasticSearch系列:

1、阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎

2、Linux系統中ElasticSearch搜尋引擎安裝配置Head插件

3、ElasticSearch搜尋引擎安裝配置中文分詞器IK插件

4、ElasticSearch搜尋引擎安裝配置拼音插件pinyin

5、ElasticSearch搜尋引擎在JavaWeb項目中的應用

ElasticSearch是一個基于Apache Lucene(TM)的開源搜尋引擎。無論在開源還是專有領域,Lucene可以被認為是迄今為止最先進、性能最好的、功能最全的搜尋引擎庫。通過簡單的

RESTful API

來隐藏Lucene的複雜性,進而讓全文搜尋變得簡單。

不過ElasticSearch不僅僅是Lucene和全文搜尋,我們還能這樣去描述它:

  a:分布式的實時檔案存儲,每個字段都被索引并可被搜尋

  b:分布式的實時分析搜尋引擎

  c:可以擴充到上百台伺服器,處理PB級結構化或非結構化資料

一、下載下傳與解壓

  1、ElasticSearch是需要Java支援,是以安裝配置前需要Java環境。這裡我安裝的JDK是1.8版本,ElasticSearch是6.3.2版本。選擇TAR格式(如下圖所示),下載下傳完成之後還是通過之前兩篇提到的MobaXterm軟體上傳至home目錄下,再解壓至/usr/java/elasticsearch/目錄(如下圖所示)。下載下傳位址

阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎
阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎

指令如下圖所示:

阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎
1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# tar -xzf /home/elasticsearch-6.3.2.tar.gz -C /usr/java/elasticsearch/      

  2、官方文檔上說ElasticSearch不适合在root管理者帳号下運作,是以要先建立一個賬号專門運作ElasticSearch。以下是建立esUser組和其下使用者esUser。

1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# groupadd esUser      
1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# useradd -g esUser esUser      
1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# passwd esUser      

  3、修改limits.conf與sysctl.conf檔案的系統參數,如下圖所示。

阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎
阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎

  a、編輯 limits.conf 檔案并添加内容:

1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# vim /etc/security/limits.conf      
1 root soft nofile 65535
2 root hard nofile 65535
3 
4 #esUser
5 esUser  soft nofile 65536
6 esUser  hard nofile 65536
7 
8 * soft nofile 65535
9 * hard nofile 65535      

  b、編輯 sysctl.conf 檔案并添加内容,因為max virtual memory areas vm.max_map_count increase to at least [262144]:

1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# vim /etc/sysctl.conf      
1 vm.max_map_count=262144      

  c、最後執行如下指令:

1 sysctl -p      

二、安裝與配置

  a、解壓完成後,進入config目錄,編輯elasticsearch.yml檔案。該檔案配置需要注意!!!将下述代碼中标紅“你的IP位址”更改為 自己的IP位址,添加配置時需注意配置檔案":"後要有空格。如下所示。

1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# vim /usr/java/elasticsearch/elasticsearch-6.3.2/config/elasticsearch.yml      
1 #這是叢集名字,起名為elasticsearch
 2 #es啟動後會将具有相同叢集名字的節點放到一個叢集下。
 3 cluster.name:  elasticsearch
 4 #
 5 #節點名字。
 6 node.name: "node1"
 7 #
 8 # 資料存儲位置,配置之後該目錄會自動生成
 9 path.data: /usr/java/elasticsearch/elasticsearch-6.3.2/data
10 #
11 # 日志檔案的路徑,配置之後該目錄會自動生成
12 path.logs: /usr/java/elasticsearch/elasticsearch-6.3.2/logs
13 #
14 #
15 #設定綁定的ip位址,可以是ipv4或ipv6的,預設為0.0.0.0
16 #network.bind_host: xxxxxx
17 #
18 #設定其它節點和該節點互動的ip位址,如果不設定它會自動設定,值必須是個真實的ip位址
19 #network.publish_host: xxxxxx
20 #
21 #同時設定bind_host和publish_host上面兩個參數,該位址為預設位址
22 network.host: 0.0.0.0
23 #
24 #
25 # 設定節點間互動的tcp端口,預設是9300
26 #transport.tcp.port: 9300
27 #
28 # 設定是否壓縮tcp傳輸時的資料,預設為false,不壓縮
29 transport.tcp.compress: true
30 #
31 # 設定對外服務的http端口,預設為9200
32 #http.port: 9200
33 #
34 # 使用http協定對外提供服務,預設為true,開啟
35 #http.enabled: false
36 #
37 #discovery.zen.ping.unicast.hosts:["節點1的 ip","節點2 的ip","節點3的ip"]
38 #這是一個叢集中的主節點的初始清單,當節點(主節點或者資料節點)啟動時使用這個清單進行探測
39 discovery.zen.ping.unicast.hosts: ["你的IP位址"]
40 #
41 #指定叢集中的節點中有幾個有master資格的節點。
42 #對于大叢集可以寫(2-4)。
43 discovery.zen.minimum_master_nodes: 1
44 #解決head的叢集健康值問題,後續會安裝head插件
45 http.cors.enabled: true
46 http.cors.allow-origin: "*"
47 http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type      

  b、若伺服器運作記憶體不大,也可能還有一個錯誤是關于Jvm記憶體配置設定的問題,需要修改Jvm配置。如下所示。

1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# vim /usr/java/elasticsearch/elasticsearch-6.3.2/config/jvm.options      
阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎

三、啟動與測試

上述安裝配置均是在root使用者下進行的,下面将切換至esUser使用者,來啟動ElasticSearch,即運作bin目錄下的elasticsearch檔案,若看到[node1] started表示啟動成功。

阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎

這時若是Ctrl+C退出後,則ElasticSearch将終止正在運作的程式。下面是在背景啟動ElasticSearch,程序會一直在運作,除非特殊情況,如記憶體不夠會自動結束運作。

阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎

下面是檢視ElasticSearch程序情況,可以執行指令: kill -9 程序ID 來結束程式。

阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎

下面是測試是否有如下提示:

1 [esUser@izwz9eu3mkqq1njlkrfhc8z root]$ curl http://localhost:9200/?pretty      
阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎

或在浏覽器中檢視,輸入:伺服器IP位址:9200

阿裡雲伺服器Linux系統安裝配置ElasticSearch搜尋引擎

本文部分學習參考了:https://www.cnblogs.com/cheyunhua/p/8087658.html#undefined

至此是關于介紹在Linux系統中安裝配置ElasticSearch搜尋引擎,後續會介紹ElasticSearch-Head、ElasticSearch中文分詞器IK插件、ElasticSearch拼音插件pinyin。

如有疏漏錯誤之處,還請不吝賜教!

繼續閱讀