Elasticsearch介紹和安裝
簡介
Elastic
Elastic官網:https://www.elastic.co/cn/

Elastic有一條完整的産品線及解決方案:Elasticsearch、Kibana、Logstash等,前面說的三個就是大家常說的ELK技術棧。
Elasticsearch
Elasticsearch官網:https://www.elastic.co/cn/products/elasticsearch
如上所述,Elasticsearch具備以下特點:
分布式,無需人工搭建叢集(solr就需要人為配置,使用Zookeeper作為注冊中心)Restful風格,一切API都遵循Rest原則,容易上手近實時搜尋,資料更新在Elasticsearch中幾乎是完全同步的。
竟然這麼優秀我們就辦它
1、基礎準備
Elasticsearch 依賴于JDK, 并且JDK 版本 1.8+下載下傳Elasticsearch包。http://www.elastic.co 到Elastic官方網站下載下傳下載下傳與你電腦對應的版本。
我這裡下載下傳的是mac版本
2、配置修改
解壓Elasticsearch 将解壓好的檔案夾之間複制到一個你準備好的位置。我這放在/Users/xiao/elastic/ 下。如圖
我們先要對Elasticsearch的配置做一些改動。再去啟動它
1 修改jvm.options
Elasticsearch基于Lucene的,而Lucene底層是java實作,是以我們需要配置jvm參數。
編輯jvm.options:
vim jvm.options
預設配置如下:
-Xms1g
-Xmx1g
記憶體占用太多了,我們調小一些: 【當然。土豪就随意吧。】
-Xms512m
-Xmx512m
2 修改Elasticsearch.yml
vim elasticsearch.yml
修改資料和日志目錄:
path.data: /User/xiao/elastic/elasticsearch/data # 資料目錄位置
path.logs: /User/xiao/elastic/elasticsearch/logs # 日志目錄位置
修改綁定的ip:
network.host: 0.0.0.0 # 綁定到0.0.0.0,允許任何ip來通路
預設隻允許本機通路,修改為0.0.0.0後則可以遠端通路
目前我們是做的單機安裝,如果要做叢集,隻需要在這個配置檔案中添加其它節點資訊即可。
elasticsearch.yml的其它可配置資訊:
屬性名 | 說明 |
cluster.name | 配置elasticsearch的叢集名稱,預設是elasticsearch。建議修改成一個有意義的名稱。 |
node.name | 節點名,es會預設随機指定一個名字,建議指定一個有意義的名稱,友善管理 |
path.conf | 設定配置檔案的存儲路徑,tar或zip包安裝預設在es根目錄下的config檔案夾,rpm安裝預設在/etc/ elasticsearch |
path.data | 設定索引資料的存儲路徑,預設是es根目錄下的data檔案夾,可以設定多個存儲路徑,用逗号隔開 |
path.logs | 設定日志檔案的存儲路徑,預設是es根目錄下的logs檔案夾 |
path.plugins | 設定插件的存放路徑,預設是es根目錄下的plugins檔案夾 |
bootstrap.memory_lock | 設定為true可以鎖住ES使用的記憶體,避免記憶體進行swap |
network.host | 設定bind_host和publish_host,設定為0.0.0.0允許外網通路 |
http.port | 設定對外服務的http端口,預設為9200。 |
transport.tcp.port | 叢集結點之間通信端口 |
discovery.zen.ping.timeout | 設定ES自動發現節點連接配接逾時的時間,預設為3秒,如果網絡延遲高可設定大些 |
discovery.zen.minimum_master_nodes | 主結點數量的最少值 ,此值的公式為:(master_eligible_nodes / 2) + 1 ,比如:有3個符合要求的主結點,那麼這裡要設定為2 |
在這裡我把我修改的配置貼出來
cluster.name: my-elasticsearch
node.name: elasticsearch-1
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["localhost:9200"]
cluster.initial_master_nodes: ["elasticsearch-1"]
修改好後 :wq 儲存退出
3 去啟動elasticesarch
進入bin目錄 直接./elasticesarch 啟動elasticesarch
啟動成功可以看到綁定了兩個端口:
- 9300:叢集節點間通訊接口
- 9200:用戶端通路接口
我們在浏覽器打開localhost:9200進行通路。這樣就啟動成功了呀!
這個是我的個人微信公衆号 有興趣可以關注一下 也會分享一些技術性文章