1. 程式人生 > >CentOS 7.3下安裝最新版ElasticSearch 6.3.2

CentOS 7.3下安裝最新版ElasticSearch 6.3.2

elasticsearch簡介

ElasticSearch是一個基於Lucene的搜尋伺服器。它提供了一個分散式多使用者能力的全文檢索引擎,基於RESTful web介面。Elasticsearch是用Java開發的,並作為Apache許可條款下的開放原始碼釋出,是當前流行的企業級搜尋引擎。設計用於雲端計算中,能夠達到實時搜尋,穩定,可靠,快速,安裝使用方便。

實驗部署

1、實驗所需元件及環境

  • es最新軟體軟體包可在官方網站下載:https://www.elastic.co/downloads/elasticsearch

2、安裝jdk8以上版本

yum install java -y
java -version 檢視java版本

CentOS 7.3下安裝最新版ElasticSearch6.3.2

3、部署elasticsearch6.3.2

  • 首先在官網當中下載es的軟體包,本文采用壓縮包解壓縮安裝方式啟動服務。

  • 值得注意的是,在es5.0版本後不支援與logstash和kibana2.x版本的混用,且安全級別的提升,使得es在後續的版本中不允許使用root使用者啟動,因此我們需要建立另外獨立賬戶專供es使用。並且需要在root許可權下將該特定環境準備好。

tar zxvf elasticsearch-6.3.2.tar.gz -C /opt/

  • 建立獨立使用者與組(root使用者下建立設定)

groupadd ela 建立ela組
useradd -g ela ela 建立ela使用者,並且加入ela組
passwd ela 為ela使用者設定登入密碼
visudo(或者vim /etc/sudoers)

CentOS 7.3下安裝最新版ElasticSearch6.3.2

  • 為了讓ela使用者擁有對elasticsearch執行許可權,在root使用者許可權下解壓後,需要將軟體包更改屬主屬組。

chown -R ela.ela /opt/elasticsearch-6.3.2/
ls -l /opt/elasticsearch-6.3.2/

CentOS 7.3下安裝最新版ElasticSearch6.3.2

  • 切換到ela使用者,編輯配置檔案,準備啟動es

su ela
[[email protected] ~]$ cd /opt/elasticsearch-6.3.2/config/
[[email protected] config]$ sudo vim elasticsearch.yml

# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
cluster.name: abner   //開啟設定es群集名稱
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: node-1      //es當前節點名稱,用於區分不同節點
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /data/es-data    //修改資料目錄,此目錄為自定義,需要在root使用者下建立,且屬主屬組更改為ela
#
# Path to log files:
#
path.logs: /var/log/elasticsearch  //日誌目錄位置,需自己建立,方式同上
                                   //yum安裝則系統自定義,在軟體版本或者系統升級時會被刪除,所以建議修改
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
bootstrap.memory_lock: true   //elasticsearch官網建議生產環境需要設定bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 0.0.0.0   //監聽訪問地址為任意網段
#
# Set a custom port for HTTP:
#
http.port: 9200   //服務監聽埠
#
  • 編輯完成配置檔案後,資料目錄以及日誌檔案目錄需要建立

sudo mkdir -p /data/es-data
sudo mkdir -p /var/log/elasticsearch
sudo chown -R ela.ela /data/
sudo chown -R ela.ela /var/log/elasticsearch

  • 準備工作完成,啟動es

[[email protected] /]$ cd /opt/elasticsearch-6.3.2/bin/
[[email protected] bin]$ ./elasticsearch 後面可以跟上-d後臺執行

CentOS 7.3下安裝最新版ElasticSearch6.3.2

4、啟動發現異常情況以及處理方式

CentOS 7.3下安裝最新版ElasticSearch6.3.2

-當發現如上圖無法分配記憶體錯誤等,可執行如下操作。(需要在root使用者許可權下)

vim /etc/security/limits.conf

CentOS 7.3下安裝最新版ElasticSearch6.3.2

* soft nofile 65536
* hard nofile 131072
ela soft memlock unlimited
ela hard memlock unlimited
  • 當發現ERROR: [1] bootstrap checks failed錯誤時,解決方式如下(root使用者狀態下)

CentOS 7.3下安裝最新版ElasticSearch6.3.2

vim /etc/sysctl.conf

vm.max_map_count = 655360   //新增

sysctl -p

  • 切換到ela使用者,執行啟動程式

[[email protected] abc]$ cd /opt/elasticsearch-6.3.2/bin/
[[email protected] bin]$ ./elasticsearch

CentOS 7.3下安裝最新版ElasticSearch6.3.2

  • 新建終端,以root使用者檢視9200埠是否開啟

netstat -ntap | grep 9200

tcp6       0      0 :::9200                 :::*                    LISTEN      2095/java
  • 開啟瀏覽器訪問驗證,出現如下介面即安裝成功,訪問時記得關閉防火牆!!!

CentOS 7.3下安裝最新版ElasticSearch6.3.2