安装elasticsearch-7.6.2
mkdir -p /usr/local/es
tar zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz -C /usr/local/es/
1.进入ES安装目录
cd /usr/local/es/elasticsearch-7.6.2/
#(因为elasticsearch7之后版本JDK 需要JDK11版本 所以更改ES使用JDK11 es已经准备了JDK11版本 位置在/usr/local/es/elasticsearch-7.6.2/jdk)
2.更改JDK为11版本
vi /usr/local/es/elasticsearch-7.6.2/bin/elasticsearch-env
#添加一行 在set -e -o pipefail下面从起一行 添加如下
export JAVA_HOME=/usr/local/es/elasticsearch-7.6.2/jdk
3.查看每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量 4096 1024 太小了
[root@localhost bin]# ulimit -Hn
4096
[root@localhost bin]# ulimit -Sn
1024
4.修改 最大同时打开文件数和最大线程个数
vim /etc/security/limits.conf
#最后一行添加如下 前面的星号 也要有
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
5.修改最大内存
#添加如下
vm.max_map_count=262144
#刷新一下
sysctl -p
6.添加使用G1GC
#如下更改 注释掉-XX:+UseConcMarkSweepGC 添加一行-XX:+UseG1GC
#8-13:-XX:+UseConcMarkSweepGC
8-13:-XX:+UseG1GC
8-13:-XX:CMSInitiatingOccupancyFraction=75
8-13:-XX:+UseCMSInitiatingOccupancyOnly
7.更改启动时的内存(看情况而定)
-Xms1g
-Xmx1g
#更改为
-Xms512m
-Xmx512m
8.配置主配置文件elasticsearch.yml
修改elasticsearch.yml文件
vi /usr/local/es/elasticsearch-7.6.2/config/elasticsearch.yml
#更改如下配置文件最后一行添加
#让所有主机都可以访问设置成0.0.0.0
network.host: 0.0.0.0
#集群发现配置 提供集群中符合主机要求的节点列表 单节点设置为本机IP
discovery.seed_hosts: ["0.0.0.0"]
9.为elasticsearch建立用户与用户组(ES不允许root用户启动服务)
1.添加用户组
groupadd es
2. 添加用户es到es组里
useradd es -g es
3.更改安装的elasticsearch目录权限为所有者与所有者组为es
chown -Rf es:es /usr/local/es/
10.启动服务
#使用新建立的用户启动服务(必须)
#1.切换用户es
su es
#2.进入目录
cd /usr/local/es/elasticsearch-7.6.2/bin/
#启动服务
./elasticsearch #前台运行
./elasticsearch -d #后台运行
#这里如果报下面的错
[es@node-1 bin]$ ./elasticsearch
Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException: /usr/local/es/elasticsearch-7.6.2/config/elasticsearch.keystore
#切回root 用户
su root
#执行 下面命令 给权限
chown -Rf es:es /usr/local/es/
#再次切回es 用户
su es
#启动服务
./elasticsearch #前台运行
./elasticsearch -d #后台运行
11.配置自动启动
vi /etc/systemd/system/elasticsearch.service
[Unit]
Description=elasticsearch
After=network.target
[Service]
Type=forking
User=es
LimitNOFILE=65536
LimitNPROC=65536
ExecStart=/usr/local/es/elasticsearch-7.6.2/bin/elasticsearch -d
PrivateTmp=true
[Install]
WantedBy=multi-user.target
12.验证:
[root@iz2zegbm5gxabi04vgfvkoz es] wget http://127.0.0.1:9200
--2023-09-14 19:02:57-- http://127.0.0.1:9200/
Connecting to 127.0.0.1:9200... connected.
HTTP request sent, awaiting response... 200 OK
Length: 548 [application/json]
Saving to: ‘index.html’
100%[===================================================================================================================>] 548 --.-K/s in 0s
2023-09-14 19:02:57 (59.9 MB/s) - ‘index.html’ saved [548/548]
[root@iz2zegbm5gxabi04vgfvkoz es]# cat index.html
{
"name" : "iz2zegbm5gxabi04vgfvkoz",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "m5TFI6rDRdSSGTABXfVF_w",
"version" : {
"number" : "7.6.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
"build_date" : "2020-03-26T06:34:37.794943Z",
"build_snapshot" : false,
"lucene_version" : "8.4.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
[root@iz2zegbm5gxabi04vgfvkoz es]#
安装logstash-7.6.2
1.建立logstash软件安装的目录
mkdir -p /usr/local/logstash
2.将logstash解压缩至/usr/local/logstash目录
cd /home/xiazai
tar zxvf logstash-7.6.2.tar.gz -C /usr/local/logstash/
3.进入目录
cd /usr/local/logstash/logstash-7.6.2/bin
4.测试运行
./logstash -e 'input { stdin { } } output { stdout { } }'
等待后显示如下 证明启动成功
Successfully started Logstash API endpoint {:port=>9600}
配置logstash
cd /usr/local/logstash/logstash-7.6.2/config
vi logstash.conf
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
beats {
port => 5044
}
}
output {
elasticsearch {
#修改esticsearch地址
hosts => ["http://127.0.0.1:9200"]
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
#user => "elastic"
#password => "changeme"
}
}
启动服务并自动刷新
cd /usr/local/logstash/logstash-7.6.2
./bin/logstash -f ./config/logstash.conf --config.reload.automatic
配置自动启动
本次试验必须加Java的配置才能正常启动,原因不详
[Unit]
Description=Logstash
Documentation=https://www.elastic.co/guide/en/logstash/current/index.html
[Service]
Environment="JAVA_HOME=//usr/local/jdk11.0.20"
Environment="PATH=/usr/local/jdk11.0.20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
ExecStart=/usr/local/logstash/logstash-7.6.2/bin/logstash -f /usr/local/logstash/logstash-7.6.2/config/logstash.conf --config.reload.automatic
WorkingDirectory=/usr/local/logstash/logstash-7.6.2
User=root
Restart=always
RestartSec=10
TimeoutStopSec=30
KillMode=process
[Install]
WantedBy=multi-user.target
安装filebeat-7.6.2
#1.rpm安装
rpm -ivh filebeat-7.6.2-x86_64.rpm
#2.配置主配置文件
vim /etc/filebeat/filebeat.yml
#3.启动文件
/usr/share/filebeat/bin/filebeat
#4.主配置文件目录
/etc/filebeat/filebeat.yml
#5.启动服务
systemctl start filebeat
#6.重启动服务
systemctl restart filebeat
#7.查看服务
systemctl status filebeat
#8.开机自启动
systemctl enable filebeat
#9. 查看所有服务状态
systemctl list-unit-files --type=service
配置filebeat-7.6.2
vi /etc/filebeat/filebeat.yml
#1.数据输入的设置
#a.改为true
enabled: true
#b.写你的log目录
paths:
- /usr/local/nginx/logs/*.log
#数据输出设置
#1.注释掉下面的 我们不使用输出到elasticsearch 我们要输出到刚刚安装的logstash上
#output.elasticsearch:
# Array of hosts to connect to.
#hosts: ["localhost:9200"]
#2,取消注释并更改为自己的logstash服务器IP
#----------------------------- Logstash output --------------------------------
output.logstash:
# The Logstash hosts
hosts: ["localhost:5044"]
安装kibana-7.6.2
#建立安装目录
mkdir -p /usr/local/kibana
#1.解压缩至/usr/local/kibana目录
tar -xzf kibana-7.6.2-linux-x86_64.tar.gz
#2.拷贝到/usr/local/kibana/目录
cp -r kibana-7.6.2-linux-x86_64 /usr/local/kibana/
#3.进入配置文件目录
cd /usr/local/kibana/kibana-7.6.2-linux-x86_64/config
#4.配置主配置文件
vim /usr/local/kibana/kibana-7.6.2-linux-x86_64/config/kibana.yml
#配置如下 在最后一行添加如下
server.host: 0.0.0.0
elasticsearch.hosts: ["http://127.0.0.1:9200"]
i18n.locale: "zh-CN"
#5.启动服务
#进入目录
cd /usr/local/kibana/kibana-7.6.2-linux-x86_64/bin
#启动服务
./kibana --allow-root
#完成
#后台启动
./kibana --allow-root &
测试:
开机自启动
vim /usr/lib/systemd/system/kibana.service
[Unit]
Description=kibana
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/kibana/kibana-7.6.2-linux-x86_64/bin/kibana --allow-root
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#刷新
systemctl daemon-reload
#设置开机启动
systemctl enable kibana.service
# 启动服务
systemctl start kibana.service
# 重启服务
systemctl restart kibana.service
网友评论