近幾篇ElasticSearch系列:html
一、阿里雲服務器Linux系統安裝配置ElasticSearch搜索引擎java
二、Linux系統中ElasticSearch搜索引擎安裝配置Head插件node
三、ElasticSearch搜索引擎安裝配置中文分詞器IK插件apache
四、ElasticSearch搜索引擎安裝配置拼音插件pinyinvim
五、ElasticSearch搜索引擎在JavaWeb項目中的應用瀏覽器
ElasticSearch是一個基於Apache Lucene(TM)的開源搜索引擎。不管在開源仍是專有領域,Lucene能夠被認爲是迄今爲止最早進、性能最好的、功能最全的搜索引擎庫。經過簡單的RESTful API
來隱藏Lucene的複雜性,從而讓全文搜索變得簡單。服務器
不過ElasticSearch不單單是Lucene和全文搜索,咱們還能這樣去描述它:cors
a:分佈式的實時文件存儲,每一個字段都被索引並可被搜索curl
b:分佈式的實時分析搜索引擎jvm
c:能夠擴展到上百臺服務器,處理PB級結構化或非結構化數據
1、下載與解壓
一、ElasticSearch是須要Java支持,因此安裝配置前須要Java環境。這裏我安裝的JDK是1.8版本,ElasticSearch是6.3.2版本。選擇TAR格式(以下圖所示),下載完成以後仍是經過以前兩篇提到的MobaXterm軟件上傳至home目錄下,再解壓至/usr/java/elasticsearch/目錄(以下圖所示)。下載地址
命令以下圖所示:
1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# tar -xzf /home/elasticsearch-6.3.2.tar.gz -C /usr/java/elasticsearch/
二、官方文檔上說ElasticSearch不適合在root管理員賬號下運行,因此要先創建一個帳號專門運行ElasticSearch。如下是建立esUser組和其下用戶esUser。
1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# groupadd esUser
1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# useradd -g esUser esUser
1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# passwd esUser
三、修改limits.conf與sysctl.conf文件的系統參數,以下圖所示。
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
2、安裝與配置
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
3、啓動與測試
上述安裝配置均是在root用戶下進行的,下面將切換至esUser用戶,來啓動ElasticSearch,即運行bin目錄下的elasticsearch文件,若看到[node1] started表示啓動成功。
這時如果Ctrl+C退出後,則ElasticSearch將終止正在運行的程序。下面是在後臺啓動ElasticSearch,進程會一直在運行,除非特殊狀況,如內存不夠會自動結束運行。
下面是查看ElasticSearch進程狀況,能夠執行命令: kill -9 進程ID 來結束程序。
下面是測試是否有以下提示:
1 [esUser@izwz9eu3mkqq1njlkrfhc8z root]$ curl http://localhost:9200/?pretty
或在瀏覽器中查看,輸入:服務器IP地址:9200
本文部分學習參考了:https://www.cnblogs.com/cheyunhua/p/8087658.html#undefined
至此是關於介紹在Linux系統中安裝配置ElasticSearch搜索引擎,後續會介紹ElasticSearch-Head、ElasticSearch中文分詞器IK插件、ElasticSearch拼音插件pinyin。
若有疏漏錯誤之處,還請不吝賜教!