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版本
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)
- 為了讓ela使用者擁有對elasticsearch執行許可權,在root使用者許可權下解壓後,需要將軟體包更改屬主屬組。
chown -R ela.ela /opt/elasticsearch-6.3.2/
ls -l /opt/elasticsearch-6.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後臺執行
4、啟動發現異常情況以及處理方式
-當發現如上圖無法分配記憶體錯誤等,可執行如下操作。(需要在root使用者許可權下)
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
ela soft memlock unlimited
ela hard memlock unlimited
- 當發現ERROR: [1] bootstrap checks failed錯誤時,解決方式如下(root使用者狀態下)
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
- 新建終端,以root使用者檢視9200埠是否開啟
netstat -ntap | grep 9200
tcp6 0 0 :::9200 :::* LISTEN 2095/java
- 開啟瀏覽器訪問驗證,出現如下介面即安裝成功,訪問時記得關閉防火牆!!!