ELK快速搭建

本文介绍了Elasticsearch的全文搜索能力、Logstash的数据收集和预处理功能,以及Kibana的数据可视化工具。详细步骤包括Elasticsearch的搭建、配置节点、ik分词器安装,以及Logstash和Kibana的搭建和配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ELK(ElasticsearchLogstashKibana

1、Elasticsearch

Elasticsearch是一个高度可扩展的全文搜索和分析引擎,基于Apache Lucence(事实上,Lucence也是百度所采用的搜索引擎)构建,能够对大容量的数据进行接近实时的存储、搜索和分析操作。

2、Logstash

Logstash是一个数据收集引擎,它可以动态的从各种数据源搜集数据,并对数据进行过滤、分析和统一格式等操作,并将输出结果存储到指定位置上。Logstash支持普通的日志文件和自定义Json格式的日志解析。

3、Kibana

Kibana是一个数据分析和可视化平台,通常与Elasticsearch配合使用,用于对其中的数据进行搜索、分析,并且以统计图标的形式展示。

Logstash收集数据库的数据让Elasticsearch执行新增,在Kibana上可视化操作数据

ElasticSearch搭建:

下载对应版本压缩包,创建文件夹解压(使用华为镜像搜索对应版本下载

解压:tar -xzf elasticsearch-7.10.0-linux-x86_64.tar.gz

复制两份,也就是一个有三个节点的es集群。

elasticsearch.yml配置(每个节点都要)

#设置集群名称。一个节点只能加入一个集群中,默认的集群名称是 elasticsearch

cluster.name: search-7.10.0

#可以配置每个节点的名称。用来提供可读性高的 ES 实例名称,它默认名称是机器的 hostname,可以自定义

node.name: node-1

#数据存储路径

path.data: /data/elasticsearch/data

#日志存储路径

path.logs:/data/elasticsearch/logs

#设置访问的地址。默认仅绑定在回环地址 127.0.0.1 和 [::1]。如果需要从其他服务器上访问以及多态机器搭建集群,我们需要设定 ES 运行绑定的 Host,节点需要绑定非回环的地址。建议设置为主机的公网 IP 或 0.0.0.0

network.host: 0.0.0.0

#默认端口是 9200

http.port: 9200

#初始的候选 master 节点列表。初始主节点应通过其 node.name 标识,默认为其主机名。确保 cluster.initial_master_nodes 中的值与 node.name 完全匹配

cluster.initial_master_nodes:

#发现设置。有两种重要的发现和集群形成配置,以便集群中的节点能够彼此发现并且选择一个主节点

discovery.seed_hosts:  ["172.xx.xx.xx:9301", "172.xx.xx.xx:9302"]

#REST 客户端通过 HTTP 将请求发送到您的 Elasticsearch 集群,但是接收到客户端请求的节点不能总是单独处理它,通常必须将其传递给其他节点以进行进一步处理。它使用传输网络层(transport networking layer)执行此操作。传输层用于集群中节点之间的所有内部通信,与远程集群节点的所有通信,以及 Elasticsearch Java API 中的 TransportClient。

#transport.port 绑定端口范围。默认为 9300-9400

transport.port: 9301

http.cors.enabled: true

http.cors.allow-origin: true

ik分词器:

在每个节点plugins目录下创建目录ik

执行命令:

​
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.0/elasticsearch-analysis-ik-7.10.0.zip


​

下载对应es需要的jdk

使用root用户 vim /etc/sysctl.conf,增加vm.max_map_count = 655360,保存退出。

执行sysctl -p

启动:

切换到非root用户
给非root用户授权:chown -R myuser:myuser  /opt/elk

#节点1

./elasticsearch -p /tmp/elasticsearch_9200_pid -d

#节点2

./elasticsearch -p /tmp/elasticsearch_9201_pid -d

#节点3

./elasticsearch -p /tmp/elasticsearch_9202_pid -d

Logstash搭建

下载压缩包,创建文件夹解压
tar -zxvf logstash-7.10.0.tar.gz

在config目录下创建xxx.conf配置文件,Input连接数据库,output连接es

启动:-f 后面跟创建的conf配置文件路径

nohup bin/logstash -f yourconfpath > /dev/null 2>&1 &

Kibana搭建

下载压缩包,创建文件夹解压
进入kibana根目录下的config文件夹下,修改kibana.yml

server.port: 5601
server.host: "0.0.0.0"
i18n.locale: "zh-CN"

elasticsearch.username: "elastic"
elasticsearch.password: "123456"

授权:chown -R xx /opt/elk/kibana

启动

nohup bin/kibana > /dev/null 2>&1 &

ES节点关闭

停用节点

kibana控制台执行代码

PUT /_cluster/settings
{
  "transient" : {
    "cluster.routing.allocation.exclude._name" : "node-3"
  }
}

这将导致Elasticsearch将该节点上的分片分配给其余节点,而不会将群集状态更改为黄色或红色(即使您的副本数设置为0)。重新分配所有分片后,您可以关闭节点并执行您需要执行的任何操作。 完成后,Elasticsearch将再剩余节点上再次重新平衡分片。

查看分片情况

kibana控制台执行代码

GET  /_cat/shards?v&pretty&s=state:desc

查看分片是否已经重新平衡到剩余的节点上了

kill掉es节点进程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值