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進行訪問。這樣就啓動成功了呀!
這個是我的個人微信公衆號 有興趣可以關注一下 也會分享一些技術性文章