elasticsearch7集群Linux部署流程
1、下載并安裝ES
1.1創(chuàng)建部署目錄
mkdir /data/soft/es
1.2在線下載安裝
需要服務(wù)器支持外網(wǎng)環(huán)境,若不支持,請選擇離線安裝當(dāng)時,手動去官網(wǎng)下載安裝包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-linux-x86_64.tar.gz tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz
離線安裝
在es官網(wǎng)自行下載需要的版本,地址:https://www.elastic.co/cn/downloads/elasticsearch
2、ES安裝環(huán)境配置
2.1指定ES啟動時的JDK
cd /data/soft/es/elasticsearch-7.4.0 vi bin/elasticsearch
添加以下內(nèi)容:
# 指定jdk11 export JAVA_HOME=/data/soft/es/elasticsearch-7.4.0/jdk export PATH=$JAVA_HOME/bin:$PATH
注意: Elasticsearch-7.4.0及新版本需要在JDK11環(huán)境下運行
2.2 系統(tǒng)配置文件修改
- 【1】修改文件句柄限制
vi /etc/security/limits.conf
在最后添加:
* soft nofile 655360 * hard nofile 655360
- 【2】修改虛擬內(nèi)存映射限制
vi /etc/sysctl.conf
添加配置:
vm.max_map_count=655360
執(zhí)行命令立即生效:
sysctl -p
3、配置ES運行內(nèi)存
方法一:通過環(huán)境變量配置
vi /etc/profile
添加:
export ES_HEAP_SIZE=10g
提示: "10g"根據(jù)服務(wù)器運行內(nèi)存配置,通常為服務(wù)運行內(nèi)存的1/3到1/2
立即生效:
source /etc/profile
方法二:啟動時傳遞參數(shù)
./bin/elasticsearch -Xmx10g -Xms10g
4、修改ES配置文件
4.1 主節(jié)點配置
修改 elasticsearch-7.4.0/config/elasticsearch.yml:
# 集群名稱 cluster.name: es # 節(jié)點名稱 node.name: node-1 # 是否是主節(jié)點 node.master: true # 是否允許該節(jié)點存儲索引數(shù)據(jù) node.data: true # 數(shù)據(jù)目錄(自行指定) path.data: /data/soft/es/data # 日志目錄() path.logs: /data/soft/es/logs # 允許遠程訪問 network.host: 部署機器IP # 端口 transport.tcp.port: 19300 http.port: 19200 # 集群內(nèi)同時啟動的數(shù)據(jù)任務(wù)個數(shù),默認是2個 cluster.routing.allocation.cluster_concurrent_rebalance: 16 # 添加或刪除節(jié)點及負載均衡時并發(fā)恢復(fù)的線程個數(shù),默認4個 cluster.routing.allocation.node_concurrent_recoveries: 16 # 初始化數(shù)據(jù)恢復(fù)時,并發(fā)恢復(fù)線程的個數(shù),默認4個 cluster.routing.allocation.node_initial_primaries_recoveries: 16 # 集群主機列表(如果是單機部署,只需要填寫一個當(dāng)前服務(wù)器IP,集群部署,有幾個集群,就需要填寫幾個服務(wù)器IP) discovery.seed_hosts: ["集群ip1", "集群ip2"] # 允許跨域訪問 http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-headers: Authorization # 安全配置 xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: none xpack.security.transport.ssl.keystore.path: elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: elastic-certificates.p12 # 配置主節(jié)點名稱 cluster.initial_master_nodes: ["node-1"]
4.2 次節(jié)點配置
修改 elasticsearch-7.4.0/config/elasticsearch.yml:
# 集群名稱 cluster.name: es # 節(jié)點名稱 node.name: node-2 # 是否是主節(jié)點 node.master: false # 是否允許該節(jié)點存儲索引數(shù)據(jù) node.data: true # 數(shù)據(jù)目錄 path.data: /data/soft/es/data # 日志目錄 path.logs: /data/soft/es/logs # 允許遠程訪問 network.host: 部署機器IP # 端口 transport.tcp.port: 19300 http.port: 19200 # 集群內(nèi)同時啟動的數(shù)據(jù)任務(wù)個數(shù) cluster.routing.allocation.cluster_concurrent_rebalance: 16 # 添加或刪除節(jié)點及負載均衡時并發(fā)恢復(fù)的線程個數(shù) cluster.routing.allocation.node_concurrent_recoveries: 16 # 初始化數(shù)據(jù)恢復(fù)時,并發(fā)恢復(fù)線程的個數(shù) cluster.routing.allocation.node_initial_primaries_recoveries: 16 # 集群主機列表(如果是單機部署,只需要填寫一個當(dāng)前服務(wù)器IP,集群部署,有幾個集群,就需要填寫幾個服務(wù)器IP) discovery.seed_hosts: ["集群ip1", "集群ip2"] # 允許跨域訪問 http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-headers: Authorization # 安全配置 xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: none xpack.security.transport.ssl.keystore.path: elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
5、設(shè)置用戶信息
# 創(chuàng)建用戶組es groupadd es # 創(chuàng)建新用戶es并指定用戶組 useradd -g es es # 更改文件夾權(quán)限 chown -R es:es /data/soft/es
6、啟用X-Pack驗證,生成證書
切換到es用戶:
cd /data/soft/es/elasticsearch-7.4.0/ bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
重要:
證書保存路徑為 /data/soft/es/elasticsearch-7.4.0/config,集群中所有節(jié)點的 elastic-certificates.p12 證書必須保持一致。
在主節(jié)點上生成證書后,需要拷貝到次節(jié)點對應(yīng)的路徑下。
7、啟動Elasticsearch
切換到es用戶:
后臺啟動:./elasticsearch -d
8、手動設(shè)置密碼
在es用戶下執(zhí)行:
cd /data/soft/es/elasticsearch-7.4.0/bin ./elasticsearch-setup-passwords interactive
設(shè)置以下用戶密碼(示例密碼均為:eom@123):
elastic apm_system kibana logstash_system beats_system remote_monitoring_user
9、防火墻配置
# 查看防火墻狀態(tài) systemctl status firewalld.service # 查詢端口是否開放 firewall-cmd --query-port=19200/tcp # 開放19200端口 firewall-cmd --zone=public --add-port=19200/tcp --permanent # 移除端口 firewall-cmd --permanent --zone=public --remove-port=19200/tcp # 重啟防火墻 firewall-cmd --reload # 查看開放的端口號 firewall-cmd --zone=public --list-ports
10、瀏覽器驗證
訪問服務(wù)器ip:es端口:輸入賬號密碼訪問
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux中設(shè)置SSH免密碼(密鑰)登錄的具體步驟
SSH是一種加密的網(wǎng)絡(luò)協(xié)議,廣泛用于遠程管理服務(wù)器和安全傳輸文件,通常在使用SSH時需要輸入密碼進行驗證,但通過配置免密登錄,我們可以省去每次輸入密碼的麻煩,所以本文給大家介紹了Linux中設(shè)置SSH免密碼(密鑰)登錄的具體步驟,需要的朋友可以參考下2025-07-07
linux服務(wù)器下完美解決無法刪除虛擬主機文件或文件夾
大家在使用Linux的虛擬主機時候有沒有出現(xiàn)過通過FTP無法刪除網(wǎng)站路徑中的一些文件夾和文件,FTP工具軟件會提示Permission Denied(沒有權(quán)限),或者 550刪除目錄操作失敗2016-08-08
CentOS6.3添加nginx系統(tǒng)服務(wù)的實例詳解
這篇文章主要介紹了CentOS6.3添加nginx系統(tǒng)服務(wù)的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握這部分內(nèi)容,需要的朋友可以參考下2017-10-10

