Linux 部署Elasticsearch


1、簡介

  安裝JAVA環境

  參考博文

  1:Elasticsearch 是一個分布式可擴展的實時搜索和分析引擎,一個建立在全文搜索引擎 Apache Lucene(TM) 基礎上的搜索引擎.當然 Elasticsearch 並不僅僅是 Lucene 那么簡單,它不僅包括了全文搜索功能,還可以進行以下工作:

    •   分布式實時文件存儲,並將每一個字段都編入索引,使其可以被搜索。
    •   實時分析的分布式搜索引擎。
    •        可以擴展到上百台服務器,處理PB級別的結構化或非結構化數據。
像天貓、京東這樣的商城,用戶訪問商城的首頁,一般都會直接搜索來尋找自己想要購買的商品。而商品的數量非常多,而且分類繁雜。
如果能正確的顯示出用戶想要的商品,並進行合理的過濾,盡快促成交易,是搜索系統要研究的核心。
面對這樣復雜的搜索業務和數據量,使用傳統數據庫搜索就顯得力不從心,一般我們都會使用全文檢索技術,比如Solr,Elasticsearch。

  2:Elastic官網:https://www.elastic.co/cn/

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

     Elasticsearch(官網:https://www.elastic.co/cn/products/elasticsearch )是Elastic Stack 的核心技術。詳細介紹參考官網

     Elasticsearch具備以下特點:

    • 分布式,無需人工搭建集群(solr就需要人為配置,使用Zookeeper作為注冊中心)。
    • Restful風格,一切API都遵循Rest原則,容易上手近實時搜索,數據更新在Elasticsearch中幾乎是完全同步的。

2、安裝

  1:為了模擬真實場景,我們將在linux下安裝Elasticsearch。 虛擬機(需要JDK1.8以上)。

  2:先新建一個用戶(出於安全考慮,elasticsearch默認不允許以root賬號運行)。

創建用戶:useradd esuser
設置密碼:passwd esuser

  3:官網下載,選擇linux版本:https://www.elastic.co/cn/products/elasticsearch。上傳安裝包並解壓

解壓:tar -zxvf elasticsearch-7.3.2-linux-x86_64.tar.gz 
目錄重命名:mv elasticsearch-7.3.2 elasticsearch

3、修改配置文件

cd config

  1:Elasticsearch基於Lucene的,而Lucene底層是java實現,因此我們需要配置jvm參數。編輯jvm.options

vi jvm.options

  2:修改默認配置:-Xms1g    -Xmx1g為

   3: 編輯elasticsearch.yml修改數據和日志目錄

vi elasticsearch.yml

    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

4、修改/etc/security/limits.conf文件 增加配置

vi /etc/security/limits.conf 

    在文件最后,增加如下配置:

* soft nofile 65536
* hard nofile 65536

       在/etc/sysctl.conf文件最后添加一行 vm.max_map_count=655360 添加完畢之后,執行命令: sysctl -p

vi /etc/sysctl.conf
 sysctl -p

5、啟動

  先將es文件夾下的所有目錄的所有權限迭代給esuser用戶

useradd esuser 
chown -R esuser:esuser /usr/local/elasticsearch-7.5.1
su esuser

  啟動:

  先切換到esuser用戶啟動

su esuser

./bin/elasticsearch

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

  • 9300:集群節點間通訊接口

  • 9200:客戶端訪問接口

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM