1、环境准备
1.1、修改最大文件打开数量
vim /etc/security/limits.conf
# 修改的内容
* soft nofile 65536
* hard nofile 65536
* soft nproc 2048
* hard nproc 4096
1.2、修改进程数
vim /etc/security/limits.d/20-nproc.conf
* soft nproc 4096
root soft nproc unlimited
1.3、修改虚拟内存 和 最大并发连接
vim /etc/sysctl.conf
vm.max_map_count=655360
fs.file-max=655360
vm.swappiness=0
1.4、重启系统
reboot
1.6、创建es普通用户
useradd -s "/bin/bash" elk
1.7、创建相关目录并赋权
mkdir /usr/elk
mkdir /elk
chown -R elk:elk /usr/elk
chown -R elk:elk /elk
1.8、压缩包放到/usr/elk下
1.9、解压
tar -zvxf elasticsearch-7 .8.0 -linux-x86_64 .tar.gz
tar -zvxf kibana-7 .8.0 -linux-x86_64 .tar.gz
tar -zvxf logstash-7 .8.0 .tar.gz
2、elasticserach部署
2.1、赋权
chown -R elk:elk /usr/elk/elasticsearch-7.8.0/
2.2、创建es相关目录
mkdir /elk/es
mkdir /elk/es/data
mkdir /elk/es/logs
2.3、修改配置
cd /usr/elk/elasticsearch-7.8.0
vim config/elasticsearch.yml
cluster.name: elasticsearch
node.name: node-1
node.master: true
node.data: true
cluster.initial_master_nodes: ["node-1" ]
path.data: /elk/es/data
path.logs: /elk/es/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0 .0 .0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
2.4、修改JVM堆大小
vim /usr/elk/elasticsearch-7.8 .0 /config/jvm .options
# 修改内容 一般设置为虚拟机内存的一半,最少为2G,推荐设置为4G,自己玩就没修改了还是保留原来的1g
-Xms1g
-Xmx1g
2.5、切换到elk账号
su - elk
2.6、启动es
cd /usr/elk/elasticsearch-7.8.0
./bin/elasticsearch -d
3、kibana部署
3.1、赋权
chown -R elk:elk /usr/elk/kibana-7.8.0/
3.2、修改kibana配置
cd /usr/elk/kibana-7.8 .0
vim config/kibana.yml
# 修改内容
i18n.locale: "zh-CN"
server.port: 5601
server.host: "192.168.195.101" #kibana本机的地址
elasticsearch.hosts: "http://192.168.195.101:9200" #ES主节点地址+端口
kibana.index: ".kibana"
3.3、切换到elk账号
su - elk
3.4、启动kibana
cd /usr/elk/kibana-7.8.0/bin
nohup ./kibana &
4、logstash部署
4.1、创建logstash相关目录
mkdir /elk/logstash
mkdir /elk/logstash/data
mkdir /elk/logstash/logs
4.1、授权
chown -R elk:elk /usr/elk/logstash-7.8.0/
chown -R elk:elk /elk/logstash/
4.3、修改logstash配置
cd /usr/elk/logstash-7.8.0
vim config/logstash.yml
path.data: /elk/logstash/data
path.logs: /elk/logstash/logs
vim config/input-output.conf
# 修改内容
input {
tcp {
mode => "server"
host => "0.0.0.0"
port => 9060
codec => json_lines
}
}
filter {
}
output {
elasticsearch {
hosts => ["192.168.195.101:9200" ]
index => "logstash-%{+YYYY.MM.dd}"
}
}
4.5、切换到elk账号
su - elk
4.6、启动logstash
cd /usr/elk/logstash-7.8.0
nohup ./bin/logstash -f config/input-output.conf &
5、碰到问题
5.1、logstash启动报错,缺少JDK
5.1.1、将jdk安装包放到自己喜欢的位置,解压
tar -zvxf jdk-8u381-linux-x64.tar.gz
5.1.2、配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_381
export JRE_HOME=/usr/java/jdk1.8.0_381/jre
export CLASSPATH=.:$JAVA_HOME /lib:$JRE_HOME /lib:$CLASSPATH
export PATH=$JAVA_HOME /bin:$JRE_HOME /bin:$PATH
source /etc/profile
java -version
5.2.1 原因 & 解决方案
原因:内存不够
free -h
解决:给虚拟机增加内存到4G
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?