# Install Elasticsearch on CentOS 7 [toc] --- > {%hackmd BJrTq20hE %} ## 環境 CentOS 7 Elasticsearch 7.2.1 **準備安裝包** 至 [elasticsearch downloads](https://www.elastic.co/downloads/elasticsearch) 選最新版本或是到 [elasticsearch past releases](https://www.elastic.co/downloads/past-releases#elasticsearch) 選特定版本,然後複製該 rpm 包連結執行下面指令 (以 7.2.1 為例) ```bash curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.2.1-x86_64.rpm ``` --- **安裝流程** 安裝 java 下載 RPM 檔 `rpm` 安裝 修改 `/etc/elasticsearch/elasticsearch.yml` 修改 `/etc/elasticsearch/jvm.options` 修改系統設定 設定防火牆 開啟 elasticsearch 服務 --- ```bash yum update yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel java -version ## 確認 java 安裝成功 rpm -ivh elasticsearch-7.5.0-x86_64.rpm ``` `vi /etc/elasticsearch/elasticsearch.yml` ## 設定 yml 檔 ```yaml cluster.name: mario-cluster node.name: mario-node1 path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch bootstrap.memory_lock: true network.host: _site_ http.port: 1859 transport.host: 0.0.0.0 transport.port: 9300 cluster.initial_master_nodes: ["mario-node1"] discovery.seed_hosts: ["192.168.0.121"] ``` ```bash vi /etc/elasticsearch/jvm.options ### 假設硬體為 4 core 8G,JVM_memory就吃一半的記憶體為4G -Xms4g -Xmx4g ### ``` ```bash systemctl edit elasticsearch ### [Service] LimitMEMLOCK=infinity ### vi /etc/security/limits.conf ### elasticsearch - nproc 4096 elasticsearch - nofile 65536 ### systemctl daemon-reload firewall-cmd --add-port=1859/tcp --permanent firewall-cmd --reload systemctl daemon-reload systemctl enable elasticsearch systemctl start elasticsearch systemctl status elasticsearch curl -XGET http://192.168.0.121:1859 ## 確認搭建成功 tail -f /var/log/elasticsearch/elasticsearch.log ## troubleshooting 用途 ``` ###### tags: `Elasticsearch` Edit by Mario