ELK日志分析平台(一)----elasticsearch

本文介绍了Elasticsearch的特性,如分布式、实时分析等,并详细阐述了其在日志分析、业务数据和运维监控等场景的应用。接着,讨论了ES的分布式安装与配置,包括节点角色的配置、集群的扩展与缩容策略,强调了在生产环境中合理划分节点职责的重要性。
摘要由CSDN通过智能技术生成

1.介绍

ElasticSearch是一个分布式,高性能、高可用、可伸缩、RESTful 风格的搜索和数据分析引擎。通常作为Elastic Stack的核心来使用,Elastic Stack大致是如下这样组成的:

 

 

ES是一个近实时(NRT)的搜索引擎,一般从添加数据到能被搜索到只有很少的延迟(大约是1s),而查询数据是实时的。一般我们可以把ES配合logstash,kibana来做日志分析系统,或者是搜索方面的系统功能,比如在网上商城系统里实现搜索商品的功能也会用到ES。

- Elasticsearch 是一个开源的分布式搜索分析引擎,建立在一个全文搜索引擎库 Apache Lucene基础之上。
  Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎:
        一个分布式的实时文档存储,每个字段 可以被索引与搜索
        一个分布式实时分析搜索引擎
        能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据 

- 基础模块
    cluster:管理集群状态,维护集群层面的配置信息。
    alloction:封装了分片分配相关的功能和策略。
    discovery:发现集群中的节点,以及选举主节点。
    gateway:对收到master广播下来的集群状态数据的持久化存储。
    indices:管理全局级的索引设置。
    http:允许通过JSON over HTTP的方式访问ES的API。
    transport:用于集群内节点之间的内部通信。
    engine:封装了对Lucene的操作及translog的调用。

- elasticsearch应用场景
    信息检索    
    日志分析
    业务数据分析    
    数据库加速    
    运维指标监控

2.ES分布式安装和配置

官方网站   https://www.elastic.co/cn/ 

- 软件下载:
	https://elasticsearch.cn/download/
  安装软件
	# rpm -ivh jdk-8u171-linux-x64.rpm
	# rpm -ivh elasticsearch-7.6.1.rpm	//7.6版本自带jdk(虚拟机内存需要在2048及以上)
  设置服务自启:
	# systemctl daemon-reload
	# systemctl enable elasticsearch
 
- 修改配置文件:
	# vim /etc/elasticsearch/elasticsearch.yml
		cluster.name: my-es			#集群名称
		node.name: server1			#主机名需要解析
		path.data: /var/lib/elasticsearch	#数据目录
		path.logs: /var/log/elasticsearch	#日志目录
		bootstrap.memory_lock: true	#锁定内存分配
		network.host: 0.0.0.0		#主机ip(0.0.0.0也可以)
		http.port: 9200			#http服务端口
		cluster.initial_master_nodes: ["server1","server2","server3"]
		discovery.seed_hosts: ["server1", "server2","server3"]    ##节点 
 
- 修改系统限制
	# vim /etc/security/limits.conf
		elasticsearch soft memlock unlimited
		elasticsearch hard memlock unlimited
		elasticsearch 	   - 	nofile 	65536
		elasticsearch	   -	nproc 	4096
	# vim jvm.options
		-Xms1g
		-Xmx1g
		Xmx设置不超过物理RAM的50%,以确保有足够的物理RAM留给内核文件系统缓存。但不要超过32G。
 
- 修改systemd启动文件
	# vim /usr/lib/systemd/system/elasticsearch.service
		[Service]		#在service语句块下添加
		LimitMEMLOCK=infinity
		# systemctl daemon-reload
		# systemctl start elasticsearch

修改配置文件,并启动服务 

[root@server1 ~]# rpm -ivh elasticsearch-7.6.1-x86_64.rpm 
[root@server1 elasticsearch]# vim elasticsearch.yml   ##修改配置文件
[root@server1 elasticsearch]# systemctl start elasticsearch.service   ##启动失败
Job for elasticsearch.service failed because the control process exited with error code. See "systemctl status elasticsearch.service" and "journalctl -xe" for details.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值