百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

ELK集群部署 - elasticsearch-7.9.3

nanshan 2025-01-13 16:33 12 浏览 0 评论

介绍:

  1. Elasticsearch(ES) 是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
  2. Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
  3. Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的Web 界面,可以帮助汇总、分析和搜索重要数据日志。

注:部署ELK版本要一致

  • 本篇elasticsearch-7.9.3安装部署

1、LINUX服务器3台:

# 3台部署步骤都一样(下面配置中有指定主节点)
主节点: 127.18.9.30 
从节点: 127.18.9.31
从节点: 127.18.9.32

2、环境要求:

JDK:jdk-11.0.9
ES:  elasticsearch-7.9.3  #  (jdk版本不得低于JDK11)
#  es也有内嵌jdk,根据自己情况选择(建议安装jdk环境,后面其他服务需要用到)。
#  三台服务都需要安装ES和JDK。

3、安装&下载

jdk安装配置请参考:

jdk安装参考:https://www.toutiao.com/i6892997105107862027

方式1:下载

ES下载:https://www.elastic.co/cn/downloads/elasticsearch

方式2:wget命令下载:

#进入目录
在opt路径下 /opt
mkdir service
cd  /opt/serice
# elasticsearch-7.9.3
wget  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.3-linux-x86_64.tar.gz

解压文件:

[dmsadmin@prod-dms-0930 elk]$ tar -zxvf  elasticsearch-7.9.3-linux-x86_64.tar.gz

4、参数配置

4.1 调整内核参数

[root@prod-dms-0930 ~]$ vim  /etc/sysctl.conf
 # 修改以下参数
vm.max_map_count= 262144
 
 # 保存退出 :  !wq   ,继续修改
 [root@prod-dms-0930 ~]$ vim  /etc/security/limits.conf

# 最下方添加以下参数
*              soft    nproc          65536
*              hard    nproc          65536
*              soft    nofile          65536
*              hard    nofile          65536

保存退出后,让修改的文件生效:

 [root@prod-dms-0930 ~]$ sysctl -p

4.2 修改 jvm.options文件参数

[root@prod-dms-0930 ~]$ cd  /opt/elk/elasticsearch-7.9.3/config
 vim  jvm.options

# 改为以下参数:
-Xms512m
-Xmx512m

4.3 修改 elasticsearch.yml文件

#  进入目录
[root@prod-dms-0930 ~]$ cd  /opt/elk/elasticsearch-7.9.3/config
#  编辑文件
[root@prod-dms-0930 config]$ vim  elasticsearch.yml


---------------------------在最下方添加以下参数----------------------
#我是3台服务
discovery.seed_hosts : [ "127.18.9.30:9300" , "127.18.9.31:9300" , "127.18.9.32:9300" ]
cluster.initial_master_nodes : ["127.18.9.30:9300"]
# 集群的名字  
cluster.name : elasticsearch
# 节点名字  
node.name : node-1
# 数据存储目录(多个路径用逗号分隔)  
path.data : /opt/es/data
# 日志目录  
path.logs : /opt/es/logs
# 修改一下ES的监听地址,这样别的机器才可以访问  
network.host : 0.0.0.0
# 设置节点间交互的tcp端口(集群),默认是9300  
transport.tcp.port : 9300
# 监听端口(默认的就好)
http.port : 9200
# true主节点,子节点可无需配置此项
node.master : true
# 增加新的参数,这样head插件才可以访问es  
http.cors.enabled : true
http.cors.allow-origin : "*"

保存退出 : :wq

到这里,配置已经ok了,继续 ↓↓↓

5、创建用户(用来启动es)

ES默认不允许使用root用户运行,如果使用root会报如下图的错误:

创建用户:

# 创建一个用户名为:elasticsearch
[root@prod-dms-0930 ~]$ useradd  elasticsearch
# 为elasticsearch用户创建密码
[root@prod-dms-0930 ~]$ passwd  elasticsearch

# 接下来输入两次密码 就ok了,
# 为了方便记,我的用户名和密码是一样的

# 用root用户给elasticsearch用户授权
[root@prod-dms-0930 ~]$ chown -R  elasticsearch@elasticsearch  /opt
  
#  给需要操作的目录添加权限,根据情况而定
# 比如:日志输出目录,opt目录等
  
# 切换用户
[root@prod-dms-0930 ~]$ su elasticsearch
   
# 进入bin目录
[elasticsearch@prod-dms-0930  ~]$ cd  /opt/elk/elasticsearch-7.9.3/bin

# 启动
 [elasticsearch@prod-dms-0930  bin]$  ./elasticsearch -d &


elasticsearch的默认端口为9200,启动成功后,执行以下命令:

在浏览器中访问: http://127.18.9.30:9200

返回以下的信息,则证明启动成功:

{
 "name" : "VM_0_5_centos",
 "cluster_name" : "elasticsearch",
 "cluster_uuid" : "gst98AuET6a648YmAkXyMw",
 "version" : {
 "number" : "7.2.0",
 "build_flavor" : "default",
 "build_type" : "rpm",
 "build_hash" : "508c38a",
 "build_date" : "2019-06-20T15:54:18.811730Z",
 "build_snapshot" : false,
 "lucene_version" : "8.0.0",
 "minimum_wire_compatibility_version" : "6.8.0",
 "minimum_index_compatibility_version" : "6.0.0-beta1"
 },
 "tagline" : "You Know, for Search"
}

注:三台服务部署步骤、配置一样


9300端口是使用tcp客户端连接使用的端口;(es之间通讯的端口)

9200端口是通过http协议连接es使用的端口;(外部与es通讯的端口)


ELK的本质:

elasticsearch是做存储的,
kibana是做展示的,
logstash是抽取日志到elasticsearch的.


es启动报错的一些问题请参考:

https://blog.csdn.net/u013641234/article/details/80792416

相关推荐

Linux 的磁盘系统,和你了解的Windows差别很大

我的C盘去哪了?一个系统,如果没有存储,那么也就不能称之为系统。存储性是一个完整系统的重要组成部分。例如AWS最开始的服务就是S3(用来存储数据的云服务),足以见得存储对于一个应用平台是多么的重要。...

一文读懂 Linux 硬盘挂载:从问题到解决方案

各位互联网大厂的后端开发伙伴们!在咱们日常工作中,操作Linux系统是常有的事儿吧。你们有没有遇到过这样的场景:新添加了一块硬盘,满心欢喜准备用来存储重要数据或者部署新的应用服务,却突然发现不知道...

硬盘分区(硬盘分区格式)

 磁盘(硬盘)分区,可以分C、D、E等分区,大家可能都会用,会根据自已的需要确定所需的空间,但分区是如何工作的呢,内容如下。Windows中有3类:MBR分区:MasterBootRecord,也...

parted命令工具分区介绍(particle命令)

linux系统磁盘分区通常可以使用fdisk和parted命令,当分区大小小于2TB的时候,两种皆可以使用,当分区大于2TB的话,就需要用parted分区。以下介绍parted命令相关使用,以sdb为...

Linux 服务器上查看磁盘类型的方法

方法1:使用lsblk命令lsblk输出说明:TYPE列显示设备类型,如disk(物理磁盘)、part(分区)、rom(只读存储)等。NAME列显示设备名称(如sda、nvme0n1)。TR...

Linux分区命令fdisk和parted使用介绍

摘要:一般情况下,Linux分区都是选择fdisk工具,要求硬盘格式为MBR格式,能支持的最大分区空间为2T。但是目前在实际生产环境中使用的磁盘空间越来越大,呈TB级别增长;而常用的fdisk这个工具...

linux 分区原理与名词解释(linux操作系统中的分区类型)

分区的意义将磁盘分成几份,每份挂在到文件系统的那个目录在linux里的文件系统Ext2:早期的格式,不支持日志功能Ext3:ext2改良版,增加了日志功能,是最基本且最常用的使用格式了Ext4:针对e...

linux 分区合并(linux合理分区)

查看虚拟机当前磁盘挂载情况fdisk-l选择磁盘fdisk/dev/sda查看磁盘分区情况p重新选择分区n选择主分区p保存w创建物理卷pvcreate/dev/sda3查看物理卷信息pvdi...

如何在 Linux 系统中永久禁用交换分区 ?

Linux操作系统中的交换分区或交换文件充当硬盘上的临时存储区域,当物理内存(RAM)满时,系统使用该存储区域。它用于交换较少使用的内存页,这样系统就不会因为运行应用程序而耗尽物理内存。随着技术的发...

Linux 如何知道硬盘已用多少空间、未用多少空间

刚出社会时,去了一家公司上班,老板为了省钱,买的服务器是低配的,硬盘大小只有40G,有一次网站突然不能访问了,排查半天才知道原来服务器的硬盘空间已用完,已无可用空间。第一步是查看硬盘的使用情况,第二步...

用Linux系统管理磁盘空间 就该这么来

要想充分有效的管理使用Linux系统中的存储空间,用户必须要做的就是双管齐下,一边扩充空间一边限制空间。不得不说的就是很多时候磁盘空间就像水资源,需节制水流。说到要如何实现限制空间就离不开使用LVM技...

Windows 11 磁盘怎么分区?(windows11磁盘怎么分区)

Windows11磁盘分区技术解析与操作指南:构建高效存储体系一、磁盘分区的技术本质与系统价值磁盘分区作为存储系统的基础架构,通过逻辑划分实现数据隔离与管理优化。Windows11采用NTF...

linux上创建多个文件分区,格式化为 ext2、ext3、ext4、XFS 文件

以下是在Linux系统上创建多个20GB文件分区并格式化为不同文件系统的分步指南:步骤1:创建基础文件(4个20GB文件)bash#创建4个20GB稀疏文件(实际占用空间随写入量增长)ddif=/...

救命的U盘低格哪家最强?(低格优盘)

周二时有位童鞋留言说U盘之前做过引导盘,现在格式化不了,用各种工具都不行,而且因为U盘厂商的关系,查不到U盘主控,无法量产恢复,特来求助。小编花了点时间特意弄坏一个U盘分区,终于试出方法了,特来分享一...

Linux 查看硬件磁盘存储大小和磁盘阵列(RAID)的组合方式

一、查看硬件磁盘存储大小查看所有磁盘信息:#lsblk该命令会列出所有磁盘(如/dev/sda、/dev/nvme0n1)及其分区和挂载点。查看磁盘总容量:fdisk-l#或parted-...

取消回复欢迎 发表评论: