上傳安裝包
上傳elasticsearch-7.16.3-x86_64.rpm安裝包到安裝目錄下/install;三臺服務器一樣的操作
es環境是需要java環境的,如果沒有安裝jdk,還需要額外安裝,同樣上傳jdk-8u331-linux-x86.rpm到/install目錄
安裝elasticsearch
進入/install目錄,執行rpm命令
安裝jdk
rpm -ivh jdk-8u331-linux-x86.rpm
安裝es
rpm -ivh elasticsearch-7.16.3-x86_64.rpm
通過rpm安裝會很快的安裝成功,不需要額外的操作,至此已經安裝成功。三臺服務器是一樣的操作,這樣每臺服務器上就是一個單機版的elasticsearch。
創建存儲目錄
#創建數據存儲目錄
mkdir -p /data/elasticsearch/esdata
#設置目錄權限為elasticsear用戶
chown -R elasticsearch:elasticsearch /data/elasticsearch/esdata
#創建日志存儲目錄
mkdir -p /data/elasticsearch/eslog
#設置目錄權限為elasticsear用戶
chown -R elasticsearch:elasticsearch /data/elasticsearch/eslog
三臺服務器一樣的操作
集群配置es
集群配置
編輯elasticsearch.yml文件,三臺服務器一樣的操作
vim /etc/elasticsearch/elasticsearch.yml
# 這里修改集群的名字,如果要想搭建集群,所有集群中的每個節點名字都必須一樣
cluster.name: my-es-cluster
# 每個集群中都有節點,這里設置每個節點的名字,節點與節點的名字必須不一樣
node.name: node-1
# 這里修改為每臺節點數據存放的目錄
path.data: /etc/elasticsearch/esdata
# 這里修改為每臺節點日志的存放目錄
path.logs: /etc/elasticsearch/eslog
# 這一行改成 0.0.0.0 意思是允許所有節點訪問
network.host: 0.0.0.0
# 配置集群節點集合
discovery.seed_hosts: ["192.168.1.100", "192.168.1.101", "192.168.1.102"]
# 集群選舉設置
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
# 開啟跨域訪問
http.cors.enabled: true
http.cors.allow-origin: "*"
#開啟密碼認證
xpack.security.enabled: true
#開啟ssl認證
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
#證書的位置
xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12
JVM配置
由于 Elasticsearch 是依賴Java,所以可以通過 /etc/elasticsearch/jvm.options 配置文件來設定 JVM 的相關配置。如果沒有特殊需求按默認即可。
不過其中還是有兩項最重要的 -Xmx4g 與 -Xms4g,用于指定 JVM 的最大堆和最小堆內存大小。服務器內存大小為 8G,此處設置 1G,也合適。如果太小會導致 Elasticsearch 剛剛啟動就立刻停止,太大會拖慢系統本身。
生成TLS和身份認證
在節點1的es的安裝目錄bin目錄(/usr/share/elasticsearch/bin)下執行如下命令,生成elastic-certificates.p12文件,復制該文件到其他倆個節點。
./elasticsearch-certutil cert -out /etc/elasticsearch/elastic-certificates.p12 -pass ""
#注意上面生成文件的所屬組,修改為elasticsarch
chown elasticsearch:elasticsearch /etc/elasticsearch/elastic-certificates.p12
創建集群密碼
創建集群密碼時,需要依次啟動三臺服務器,不啟動集群添加密碼的操作執行不了。
[root@es-1 bin]$ ./elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y
Enter password for [elastic]:?
Reenter password for [elastic]:?
Enter password for [apm_system]:?
Reenter password for [apm_system]:?
Enter password for [kibana]:?
Reenter password for [kibana]:?
Enter password for [logstash_system]:?
Reenter password for [logstash_system]:?
Enter password for [beats_system]:?
Reenter password for [beats_system]:?
Enter password for [remote_monitoring_user]:?
Reenter password for [remote_monitoring_user]:?
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]
[root@es-1 bin]$?
#為上面所有的用戶設置相同的密碼
#生成密碼后,可以通過,curl -XGET http://localhost:9200/_cat/indices?v -u elastic:密碼 查看es中的索引,會發現生成了一個.security-7的索引,該索引存在設置的密碼就生效了,如果不小心把該索引刪除,之前設置的密碼就認證失敗了,需要重新設置密碼
?