1?Elasticsearch 是什么
引用官方對es的描述:
Elasticsearch 是一個分布式的免費開源搜索和分析引擎,適用于包括文本、數字、地理空間、結構化和非結構化數據等在內的所有類型的數據。Elasticsearch 在 Apache Lucene 的基礎上開發而成,由 Elasticsearch N.V.(即現在的 Elastic)于 2010 年首次發布。Elasticsearch 以其簡單的 REST 風格 API、分布式特性、速度和可擴展性而聞名,是 Elastic Stack 的核心組件;Elastic Stack 是一套適用于數據采集、擴充、存儲、分析和可視化的免費開源工具。人們通常將 Elastic Stack 稱為 ELK Stack(代指 Elasticsearch、Logstash 和 Kibana),目前 Elastic Stack 包括一系列豐富的輕量型數據采集代理,這些代理統稱為 Beats,可用來向 Elasticsearch 發送數據。
2.下載安裝包
下載地址:https://www.elastic.co/downloads/elasticsearch
選擇對應的平臺及版本我這里下載的是 elasticsearch-7.15.1.tar.gz
保存至/opt目錄下
cd /opt
tar -zxvf elasticsearch-7.15.1.tar.gz
3.創建用戶es,用戶組es
groupadd es
useradd es -g es -p elasticsearch
4.修改文件權限
cd /opt/
chown -R es:es elasticsearch-7.15.1
5.修改配置文件
cd /opt/elasticsearch-7.15.1/config/
vim elasticsearch.yml
修改以下配置:
集群名稱,建議修改成自己的,防止誤用默認集群
cluster.name: elasticsearch
設置節點名稱
node.name: node-10.10.10.10
配置外網可以訪問
network.host: 0.0.0.0
單節點需要修改配置
cluster.initial_master_nodes: ["node-1"]
如果有特殊需求可以設置日志路徑和數據路徑
path.data: /esdata/data
path.logs: /esdata/log
追加配置文件:
echo "bootstrap.memory_lock: false" >>? /opt/elasticsearch-7.15.1/config/elasticsearch.yml
echo "bootstrap.system_call_filter: false" >> /opt/elasticsearch-7.15.1/config/elasticsearch.yml
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
echo "* soft nproc 4096" >> /etc/security/limits.conf
echo "* hard nproc 4096" >> /etc/security/limits.conf
echo "vm.max_map_count=655360" >> /etc/sysctl.conf
保存后執行
sysctl -p
6.配置jvm內存大小
cd /opt/elasticsearch-7.15.1/config/
修改文件jvm.options
# Xms represents the initial size of total heap space根據內容需要設置建議設置內容一半
# Xmx represents the maximum size of total heap space 根據內容需要設置建議設置內容一半
-Xms8g?
-Xmx8g
echo "export ES_HEAP_SIZE=8g" >> /opt/elasticsearch-7.15.1/bin/elasticsearch
7.啟動服務
su es
cd /opt/elasticsearch-7.15.1/bin/
./elasticsearch -d
8. 訪問驗證:
curl http://ip/9200
9.X-pack
X-Pack是Elastic Stack擴展功能,提供安全性,警報,監視,報告,機器學習和許多其他功能。 ES7.0+之后,默認情況下,當安裝Elasticsearch時,會安裝X-Pack,無需單獨再安裝。
自6.8以及7.1+版本之后,基礎級安全永久免費。
10.為集群創建認證機構
文件根目錄下執行?
bin/elasticsearch-certutil ca
依次輸入回車(文件使用默認名),并輸入密碼
11.節點頒發證書
TLS需要X.509證書(X.509 證書是一個數字證書,它使用 X.509 公有密鑰基礎設施標準將公有密鑰與證書中包含的身份相關聯。X.509 證書由一家名為證書頒發機構 (CA) 的可信實體頒發。CA 持有一個或多個名為 CA 證書的特殊證書,它使用這種證書來頒發 X.509 證書。只有證書頒發機構才有權訪問 CA 證書)才能對與之通信的應用程序執行加密和身份驗證。 為了使節點之間的通信真正安全,必須對證書進行驗證。
在Elasticsearch集群中驗證證書真實性的推薦方法是信任簽署證書的證書頒發機構(CA)。
這樣,只需要使用由同一CA簽名的證書,即可自動允許該節點加入集群。
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12? #依次輸入上一個步驟的密碼。回車(文件使用默認名),密碼(建議與上一步密碼相同)
bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password? ? #并輸入第一步輸入的密碼?
bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password? #并輸入第一步輸入的密碼?
12.復制生成的兩個文件到config目錄下
13.修改配置
在elasticsearch-7.6.1/config/elasticsearch.yml中增加一下配置,啟用x-pack安全組件,啟用ssl加密通信,并且配置認證證書:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
配置修改完成后,重啟es服務,重啟成功后?
http://ip/9200訪問Es服務要輸入用戶名和密碼
14.密碼設置
通過設置訪問密碼,這是elastic用戶和其他一些系統內置用戶的密碼
bin/elasticsearch-setup-passwords interactive
設置完成后啟動并輸入用戶名密碼登錄