1.ElasticSearch
作用:日志存儲和檢索
2.單點部署Elasticsearch與基礎配置
rpm -ivh elasticsearch-7.17.5-x86_64.rpm
查看配置文件yy /etc/elasticsearch/elasticsearch.yml(這里yy做了別名,過濾掉空行和注釋行)
yy /etc/elasticsearch/elasticsearch.yml,結果如下
path.data: /var/lib/elasticsearch? ? ? 數據所在位置
path.logs: /var/log/elasticsearch? ? ?日志所在位置
修改配置yy /etc/elasticsearch/elasticsearch.yml,加入:
network.host: 0.0.0.0
discovery.seed_hosts: ["10.0.0.101"]
啟動:systemctl enable --now elasticsearch.service
3.集群部署
1.將安裝包分發到各個節點
scp -r elasticsearch-7.17.5-x86_64.rpm 10.0.0.103:~
scp -r elasticsearch-7.17.5-x86_64.rpm 10.0.0.102:~
2.各個節點安裝Elasticsearch
rpm -ivh elasticsearch-7.17.5-x86_64.rpm
3.單點部署的節點數據清空
systemctl stop elasticsearch.service
rm -rf /var/lib/elasticsearch/* /var/log/elasticsearch/* /tmp/*
4.修改配置文件
vim /etc/elasticsearch/elasticsearch.yml?
...
# 指定ES集群的名稱
cluster.name: lxc
# ES服務監聽對外暴露服務的地址
network.host: 0.0.0.0
# 指定ES集群的節點IP
discovery.seed_hosts: ["10.0.0.101","10.0.0.102","10.0.0.103"]
# 指定參與master選舉的節點
cluster.initial_master_nodes: ["10.0.0.101","10.0.0.102","10.0.0.103"]
5.分發配置文件
scp /etc/elasticsearch/elasticsearch.yml 10.0.0.103:/etc/elasticsearch/
scp /etc/elasticsearch/elasticsearch.yml 10.0.0.102:/etc/elasticsearch/
6.所有節點啟動elasticsearch
systemctl enable --now elasticsearch
7.驗證ES集群節點是否正常工作
curl 10.0.0.102:9200/_cat/nodes
帶星號為主節點
4.使用oraclejdk管理es服務
解壓JDK軟件包
tar xf jdk-8u291-linux-x64.tar.gz -C /sortwares/
配置系統環境變量
vim /etc/profile.d/jdk.sh
#!/bin/bash
export JAVA_HOME=/sortwares/jdk1.8.0_291
export PATH=$PATH:$JAVA_HOME/bin
加載環境變量
source /etc/profile.d/jdk.sh
systemd啟動腳本配置系統環境變量
vim /usr/lib/systemd/system/elasticsearch.service
Environment=ES_JAVA_HOME=/sortwares/jdk1.8.0_291
重新加載systemd
systemctl daemon-reload
重新啟動es
systemctl restart elasticsearch.service
5.修改es環境的堆內存
vim /etc/elasticsearch/jvm.options
添加:
-Xms256m
-Xmx256m
重新啟動之后
jmap -heap `ps -ef|grep elastic|grep jdk1.8.0_291|awk '{print $2}'`|grep MaxHeapSize
說明修改成功
6.二進制部署elasticsearch-6.8.23
原先服務器上已經有了一套rpm部署的es7,現在使用二進制部署在原先基礎上增加一套集群
1.所有節點準備目錄:
useradd lxc
install -d /lxc/{data,logs,softwares}/es6 -o lxc -g lxc
chown -R ?lxc:lxc /lxc
2.所有節點解壓elasticsearch-6.8.23.tar.gz
tar xf elasticsearch-6.8.23.tar.gz -C /lxc/softwares/es6/
chown -R ?lxc:lxc /lxc
3.elk101節點修改配置文件
vim?/lxc/softwares/es6/elasticsearch-6.8.23/config/elasticsearch.yml
cluster.name: lxc-es6
node.name: elk101.lxcedu.com
path.data: /lxc/data/es6
path.logs: /lxc/logs/es6
network.host: 0.0.0.0
http.port: 19200
transport.tcp.port: 19300
discovery.zen.ping.unicast.hosts: ["elk101.lxcedu.com","elk102.lxcedu.com","elk103.lxcedu.com"]
discovery.zen.minimum_master_nodes: 2
注意其他節點也需要修改,區別是node.name不一樣,并且各個節點需要做好hosts解析。
5.elk101節點修改堆內存大小
vim /lxc/softwares/es6/elasticsearch-6.8.23/config/jvm.options
-Xms256m
-Xmx256m
其他節點也需要修改
6.elk101編寫啟動腳本
vim /usr/lib/systemd/system/es6.service
[Unit]
Description=es6
After=network.target[Service]
Type=simple
Environment=JAVA_HOME=/sortwares/jdk1.8.0_291
ExecStart=/lxc/softwares/es6/elasticsearch-6.8.23/bin/elasticsearch
User=lxc
LimitNOFILE=131070[Install]
WantedBy=multi-user.target
注意:其他節點也需要修改配置文件,JAVA_HOME地址需要寫對,這里使用的是oraclejdk部署的地址。
7.啟動服務
systemctl daemon-reload && systemctl enable --now es6
8.查看服務狀態
curl 10.0.0.101:19200/_cat/nodes
?