elasticsearch官网(Elasticsearch:官方分布式搜索和分析引擎 | Elastic)地址下载rpm包,需要elasticsearch(Download Elasticsearch | Elastic),logstash(Download Logstash Free | Get Started Now | Elastic),kibana(Download Kibana Free | Get Started Now | Elastic)三个包。将三个包上传到Linux服务器。
三台设备:
192.168.0.1 安装Elasticsearch,logstash,kibana
192.168.0.2 安装Elasticsearch
192.168.0.3 安装Elasticsearch
jdk安装jdk11,自行安装。jdk8,jdk9会报错。
安装Elasticsearch
1.rpm -ivh elasticsearch-7.15.2-x86_64
2.安装完成后找到elasticsearch.yml配置文件,进入到此配置文件目录执行vi elasticsearch.yml
3.配置文件信息(三台都需要修改)
cluster.name: elastic #(三台设备保持一致)
node.name: node-1 #(三台设备分别为node-1,node-2,node-3)
node.master: true
node.data: true
path.data: /home/elsearch/elasticsearch-7.15.2/data #(数据文件夹自行配置)
path.logs: /home/elsearch/elasticsearch-7.15.2/logs#(日志文件夹自行配置)
bootstrap.memory_lock: false
network.host: 192.168.0.1#(三台设备分别为0.1,0.2,0.3)
http.port: 9200#(端口号)
transport.port: 9300#(TCP端口号)
discovery.seed_hosts: ["192.168.0.1:9300", "192.168.0.2:9300", "192.168.0.3:9300"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
http.cors.enabled: true# 可跨域访问(非必须)
http.cors.allow-origin: "*"# 可跨域访问(非必须)
4.找到elasticsearch目录下的bin目录中的elasticsearch启动项进行编辑也可不编辑(此段配置修改为引用Elasticsearch自带JDK启动)
export JAVA_HOME=/usr/java/elasticsearch-7.15.2/jdk #(路径自行配置)
export PATH=$JAVA_HOME/bin:$PATH
#添加jdk判断
if [ -x "$JAVA_HOME/bin/java" ]; then
JAVA="/usr/java/elasticsearch-7.15.0/jdk/bin/java" #(路径自行配置)
else
JAVA=`which java`
fi
5.修改sysctl.conf配置文件
vi /etc/sysctl.conf
在尾行添加以下内容
vm.max_map_count=262144
并执行命令
sysctl -p
6.修改security/limits.conf配置文件
vi /etc/security/limits.conf(在配置文件结尾追加下面两句话)
* soft nofile 65536
* hard nofile 131072
7.修改/etc/elasticsearch/jvm.options配置文件
vim /etc/elasticsearch/jvm.options(视情况修改,根据虚拟机内存判断)
-Xms1g # JVM最大、最小使用内存
-Xmx1g
8.进入elasticsearch目录
执行./bin/elasticsearch(三台分别执行)
9.
curl http://192.168.0.1:9200/_cat/nodes
192.168.0.3 13 6 0 0.00 0.02 0.07 cdfhilmrstw - node-3
192.168.0.1 2 57 0 0.01 0.04 0.18 cdfhilmrstw * node-1
192.168.0.2 13 6 3 0.45 0.14 0.12 cdfhilmrstw - node-2
node-1 为主节点。
此时Elasticsearch以成功部署。
安装logstash
1.rpm -ivh logstash-7.15.2-x86_64
2.vi logstash-sample.conf 修改此配置文件(下面是我的配置文件)
input {
tcp {
mode => "server"
host => "0.0.0.0"
port => 4560
codec => json_lines
}
}
output {
elasticsearch {
hosts => ["192.168.0.1:9200"]
index => "service_monitor-%{+YYYY.MM.dd}"
#user => "elastic" (账号密码设置后面会写)
#password => "123456"
}
}
3.进入logstash
./bin/logstash -f config/logstash-sample.conf
安装kibana
1.rpm -ivh kibana-7.15.2-x86_64
2.修改配置文件config/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.0.1:9200"]
elasticsearch.username: "elastic"(账号密码设置后面会写)(不需要可以注释掉)
elasticsearch.password: "123456"
i18n.locale: "zh-CN"
3.进入kibana
./bin/kibana
此时ELK集群部署搭建已完成。
Elasticsearch设置密码
1.进入192.168.0.1的elasticsearch目录
bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
此时生成config/elastic-certificates.p12文件,将此文件分别拷贝到192.168.0.2,192.168.0.3
每台设备的elasticsearch.yml分别添加
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /usr/local/opt/es7301/config/elastic-certificates.p12(路径自行修改)
xpack.security.transport.ssl.truststore.path: /usr/local/opt/es7301/config/elastic-certificates.p12(路径自行修改)
添加完成后,重启三台设备的Elasticsearch。
重启完成后在192.168.0.1设备的Elasticsearch目录下执行
bin/elasticsearch-setup-passwords interactive
按要求设置密码即可。logstash和kibana密码访问在上面配置文件配置即可。
此时ELK带密码部署完成。