CentOS7部署ELK

CentOS7部署ELK

ELK是Elasticsearch、Logstash、Kibana三个组件首字母

Elasticsearch: 全文检索工具

Kibana:页面管理工具,可以通过Kibana的管理界面操作Elasticsearch

Logstash:日志收集的工具,通过此工具可以实现日志内容收集及格式转换

为Elasticsearch提供系统配置

Elasticsearch在CentOS7中安装部署的时候,需要系统为其提供若干系统配置。如:应用可启动的线程数、应用可以在系统中划分的虚拟内存、应用可以最多创建多少文件等

修改限制信息
vim /etc/security/limits.conf

Linux默认来说,一般限制应用最多创建的文件是65535个。但是Elasticsearch至少需要65536的文件创建权限。修改后的内容为:

* soft nofile 65536
* hard nofile 65536

*代表任意用户,soft表示内存中虚拟文件(软文件),hard表示落地到磁盘的具体文件(硬文件), nofile表示权限,65536表示个数

修改线程开启限制
vim /etc/security/limits.conf

默认的Linux限制root用户开启的进程可以开启任意数量的线程,其他用户开启的进程可以开启1024个线程。必须修改限制数为4096+。因为Elasticsearch至少需要4096的线程池预备。Elasticsearch在5.x版本之后,强制要求在Linux中不能使用root用户启动Elasticsearch进程。所以必须使用其他用户启动Elasticsearch进程才可以

* soft nproc 4096
root soft nproc unlimited

Linux低版本内核为线程分配的内存是128K。4.x版本的内核分配的内存更大。如果虚拟机的内存是1G,最多只能开启3000+个线程数。至少为虚拟机分配1.5G以上的内存,建议2G以上

修改完成后如下图所示:

在这里插入图片描述

修改系统控制权限
vim /etc/sysctl.d/99-sysctl.conf

系统控制文件是管理系统中的各种资源控制的配置文件。Elasticsearch需要开辟一个65536字节以上空间的虚拟内存。Linux默认不允许任何用户和应用直接开辟虚拟内存,新增内容为:

vm.max_map_count=655360

使用以下命令,让系统控制权限配置生效

sysctl -p

安装Elasticsearch

创建目录/app,将安装包上传到该目录,并解压,之后重命名文件名

mkdir -p /app
cd /app
tar -zxvf elasticsearch-7.17.0.tar.gz
mv elasticsearch-7.17.0 es

配置环境变量

vim /etc/profile

export JAVA_HOME=/app/jdk/jdk1.8.0_171
export ROCKETMQ_HOME=/app/rocketMQ/rocketmq-all-5.1.0-bin-release
export MAVEN_HOME=/app/maven/apache-maven-3.9.1
export ES_HOME=/app/es
export PATH=$ES_HOME/bin:$MAVEN_HOME/bin:$ROCKETMQ_HOME/bin:$JAVA_HOME/bin:$PATH

source /etc/profile  #环境变量生效

elasticsearch默认不允许root账号运行,需要创建账户

groupadd elasticsearch
useradd -r -g elasticsearch
chown -R elasticsearch:elasticsearch /app/es/
chmod 755 /app/es/
su elasticsearch

修改配置

cd /app/es/config

修改elasticsearch.yml

mkdir /app/es/data
mkdir /app/es/logs
vim elasticsearch.yml

path.data: /app/es/data # 数据目录位置
path.logs: /app/es/logs # 日志目录位置
network.host: 0.0.0.0   # 绑定到0.0.0.0,允许任何ip来访问
node.name: node-1       # 此节点在集群中的名字
http.port: 9200         # 访问端口号
cluster.initial_master_nodes: ["node-1"] # 集群中节点名称,此名称要和node.name对应

修改内存占用

vim jvm.options

-Xms512m
-Xmx512m

运行elasticsearch

su elasticsearch
cd /app/es/bin
./elasticsearch
./elasticsearch -d  # 后台启动

测试

curl http://localhost:9200

在这里插入图片描述

安装Kibana

Kibana是一个基于WEB的Elasticsearch管理控制台

root用户创建目录/app/kibana,将安装包上传到该目录,并解压

mkdir -p /app/kibana
cd /app/kibana
tar -zxvf kibana-7.17.0.tar.gz
cd /app/kibana/kibana-7.17.0

创建日志存放目录

mkdir -p /app/kibana/logs

修改config/kibana.yml

vim config/kibana.yml

#编辑内容:
server.host: "0.0.0.0"
server.publicBaseUrl: "http://127.0.0.1:5601"
elasticsearch.hosts: ["http://127.0.0.1:9200"]
logging.dest: /app/kibana/logs/kibana.log

授权,让elasticsearch用户可以访问kibana目录

 chown -R elasticsearch:elasticsearch /app/kibana

启动kibana

cd /app/kibana/kibana-7.17.0
bin/startup.sh start

浏览器访问:http://127.0.0.1:5601/

在这里插入图片描述

安装ik分词器

创建目录/app/es/plugins/ik,将ik安装包上传到该目录,并解压

mkdir -p /app/es/plugins/ik
cd /app/es/plugins/ik
unzip elasticsearch-analysis-ik-7.17.0.zip

使用jps和kill -9关闭elasticsearch,之后重新启动elasticsearch

cd /app/es/bin
./elasticsearch

测试ik分词器

ik分词器提供了两种analyzer,分别是ik_max_word和ik_smart。

GET _analyze
{
 "text" : "数据科学与大数据技术",
 "analyzer": "ik_max_word"
}

GET _analyze
{
  "text" : "数据科学与大数据技术",
  "analyzer": "ik_smart"
}

安装Logstash

root用户创建目录/app/logstash,将安装包上传到该目录,并解压

mkdir -p /app/logstash
cd /app/logstash
tar -zxvf logstash-7.17.0.tar.gz
cd /app/logstash/logstash-7.17.0

修改配置文件

vim config/biz-logs-logstash.conf
input {
  tcp {
    port => 4560
    mode => "server"
    codec => json_lines
  }
}

output {
  elasticsearch {
     hosts => ["127.0.0.1:9200"]
     index =>"logstash-%{+YYYY.MM.dd}"
  }
}

授权,让elasticsearch用户可以访问logstash目录

 chown -R elasticsearch:elasticsearch /app/logstash

启动logstash

cd /app/logstash/logstash-7.17.0/bin
 ./logstash -f /app/logstash/logstash-7.17.0/config/biz-logs-logstash.conf
 #或者
 sh startup.sh start
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

E2S

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值