6.6 工具-ELK安装

news2024/11/28 15:43:56

目录

6.6.1 Elasticsearch安装

6.6.1.1 安装

6.6.1.1.1 window

6.6.1.1.2 Linux

6.6.1.2 问题

6.6.1.2.1 问题一

6.6.1.2.2 问题二

6.6.2 Logstash安装

6.6.2.1 安装

6.6.2.1.1 window

6.6.2.1.2 Linux

6.6.2.2 问题

6.6.2.2.1 问题一

6.6.3 Kibana

6.6.3.1 安装


6.6.1 Elasticsearch安装

6.6.1.1 安装

6.6.1.1.1 window

下载地址:下载 Elastic 产品 | Elastic,在下载页面我们需要下载 Elasticsearch和Kibana

下载后解压进入到bin目录下,双击elasticsearch.bat,即可启动。

在浏览器输入http://localhost:9200/ (如果是Linux环境安装,则访问路径http://Linux的IP地址:9200)

6.6.1.1.2 Linux

在opt目录下解压elasticsearch-7.4.2

进入elasticsearch-7.4.2目录下的bin目录

./elasticsearch

注意这里可能会出现用户问题,解决办法看《6.6.1.2.2 问题二》 

6.6.1.2 问题

6.6.1.2.1 问题一

 max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

 elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536

切换到root用户修改

su root
vim /etc/security/limits.conf

在最后面追加下面内容

SHIFT+G 可以直接定位到最后

# * :表示用户
* hard nofile 65536

* soft nofile 65536

 重新su以下,才能使配置生效

su root
或者
# su其他用户是因为es启动不能以root,所以需要添加新的用户来启动es
su 其他用户

查看硬限制 

[sandwich@centos-elk ~]$ ulimit -Hn
65536
[sandwich@centos-elk ~]$ ulimit -Sn
65536

6.6.1.2.2 问题二

3405 -- main class information unavailable
[root@master bin]# [2019-06-20T00:14:04,792][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [es1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-6.8.0.jar:6.8.0]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-6.8.0.jar:6.8.0]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.8.0.jar:6.8.0]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.8.0.jar:6.8.0]
	at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.8.0.jar:6.8.0]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) ~[elasticsearch-6.8.0.jar:6.8.0]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.8.0.jar:6.8.0]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root

不能用root用户启动elasticsearch

创建elsearch用户组及elsearch用户:

groupadd elsearch
useradd elsearch -g elsearch
passwd elsearch

更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch

cd /opt
chown -R elsearch:elsearch  elasticsearch-6.8.0

切换到elsearch用户再启动

su elsearch 
cd /opt/elasticsearch-6.8.0/bin
./elasticsearch

 

6.6.2 Logstash安装

6.6.2.1 安装

6.6.2.1.1 window

 Logstash是一个开源的服务器端数据处理管道,可以同时从多个数据源获取数据,并对其进行转换,然后将其发送到你最喜欢的“存储”。

Logstash的下载地址:Download Logstash Free | Get Started Now | Elastic

下载测试数据集,下载地址:Index of /datasets/movielens,在该网页中下载ml-latest.zip

movies.csv

下载后解压目录,将movies.csv文件拷贝到指定的目录(随便创建一个文件夹如:D:/logstash-datas/)下。

进入到Logstash的解压目录,进入到config目录下,新建logstash.conf,文件内容如下:

input {
  file {
# 注意路径要修改为自己的路径
    path => "D:/logstash-datas/movies.csv"
    start_position => "beginning"
    sincedb_path => "D:/Develop/ELK/logstash-7.4.2/db_path.log"
  }
}
filter {
# 将数据分为三列id,content,genre
  csv {
    separator => ","
    columns => ["id","content","genre"]
  }

  mutate {
# 之后将genre用|去分割,并将"path","host"等删除
    split => { "genre" => "|" }
    remove_field => ["path", "host","@timestamp","message"]
  }

  mutate {
# content 用(分割 前面为title,后面为year
    split => ["content", "("]
    add_field => { "title" => "%{[content][0]}"}
    add_field => { "year" => "%{[content][1]}"}
  }

  mutate {
# year类型转为integer
    convert => {
      "year" => "integer"
    }
    strip => ["title"]
    remove_field => ["path", "host","@timestamp","message","content"]
  }

}
# 将数据存储到指定es中
output {
   elasticsearch {
     hosts => "http://localhost:9200"
# 索引叫movies
     index => "movies"
# 文档id
     document_id => "%{id}"
   }
  stdout {}
}

注意修改路径

input {
  file {
    path => "D:/logstash-datas/movies.csv"  数据集路径
    start_position => "beginning"
    sincedb_path => "D:/Develop/ELK/logstash-7.4.2/db_path.log"  logstash的路径
  }
}

Logstash会转换数据,上面配置的logstash.conf就是转换规则

在命令行进入到logstash的bin目录下,输入如下命令启动Logstash

logstash.bat -f D:\Develop\ELK\logstash-7.4.2\config\logstash.conf

6.6.2.1.2 Linux

将logstash7.4.2解压到opt目录下

进入到Logstash的解压目录,进入到config目录下,新建logstash.conf

 logstash.conf

input {
  file {
    path => "/opt/logstash-datas/movies.csv" # 这里指定数据集路径
    start_position => "beginning"
# 这里指定db_path.log路径,起初elasticsearch-7.4.2/目录下是没有db_path.log的,跑完数据集会自动生成db_path.log
    sincedb_path => "/opt/elasticsearch-7.4.2/db_path.log"
  }
}
filter {
  csv {
    separator => ","
    columns => ["id","content","genre"]
  }

  mutate {
    split => { "genre" => "|" }
    remove_field => ["path", "host","@timestamp","message"]
  }

  mutate {

    split => ["content", "("]
    add_field => { "title" => "%{[content][0]}"}
    add_field => { "year" => "%{[content][1]}"}
  }

  mutate {
    convert => {
      "year" => "integer"
    }
    strip => ["title"]
    remove_field => ["path", "host","@timestamp","message","content"]
  }

}
output {
   elasticsearch {
# es的地址
     hosts => "http://localhost:9200"
     index => "movies"
     document_id => "%{id}"
   }
  stdout {}
}

配置完成后进入bin目录,启动logstash,并指定配置文件

./logstash -f config/logstash.conf 

 开始转换数据

 kibana中输入,查看所有索引

GET _cat/indices

6.6.2.2 问题

6.6.2.2.1 问题一

Logstash could not be started because there is already another instance using the configured data directory.  If you wish to run multiple instances, you must change the "path.data" setting. 

删除 logstash-7.4.2/data中的.lock 文件

删除命令
rm  -rf  .lock

6.6.3 Kibana

6.6.3.1 安装

Kibana [kɪbana] 是世界上最受欢迎的开源日志分析平台它为用户提供了一个工具,用于在存储于Elasticsearch集群中的日志数据进行检索,可视化和构建仪表板。

Kibana的核心功能是数据查询和分析

图形化界面,方便操作

如果在Linux环境中

下载后进入到家目录下的bin目录中,首先修改config目录下的kibana.yml文件,修改如下内容:

elasticsearch.hosts: ["http://192.168.27.129:9200"]

进入bin目录下,双加 kibana.bat文件,在浏览器地址栏访问:http://localhost:5601

 打开开发工具

类似于在Navicat操作mysql数据库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/153053.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文投稿指南——中文核心期刊推荐(中国医学)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…

拿捏几道经典的字符串模拟问题

希望本篇对你有所帮助 我发现这种字符串的问题其实写起来很麻烦,可能思路不难多少都能想到一些,主要就是代码的处理,细节问题。太考验代码编写的能力了。这两天写了好多道字符串,模拟之类的问题,今天就分享分享吧 刚…

算法设计与分析-DP习题

7-1 最小路径和给定一个m行n列的矩阵&#xff0c;从左上角开始每次只能向右或者向下移动&#xff0c;最后到达右下角的位置&#xff0c;路径上的所有数字累加起来作为这条路径的和。求矩阵的最小路径和。输入格式:输入第一行&#xff1a;两个正整数m和n(1<m, n<1000)&…

【C++】非类型模板参数、模板特化、模板的分离编译、模板总结

文章目录一、非类型模板参数二、模板特化1.函数模板特化2.类模板特化三、模板的分离编译四、模板总结一、非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参&#xff1a;出现在模板参数列表中&#xff0c;跟在class或者typename之类的参数类型名称。 #define N 10…

Spring_FrameWork_05(AOP)

Spring整合Junit RunWith(SpringJUnit4ClassRunner.class) ContextConfiguration(classes SpringConfig.class)加载test运行类和spring配置文件 使用Junit提供的Runwith注解&#xff0c;将Junit原有的运行器替换成spring提供的SpringJUnit4ClassRunner。 这个注解的值就是运…

【计算机视觉】Softmax代码实现、过拟合和欠拟合的表现与解决方法

Softmax原理 Softmax函数用于将分类结果归一化&#xff0c;形成一个概率分布。作用类似于二分类中的Sigmoid函数。 对于一个k维向量z&#xff0c;我们想把这个结果转换为一个k个类别的概率分布p(z)。softmax可以用于实现上述结果&#xff0c;具体计算公式为&#xff1a; 对于k…

程序员不了解这些投简历的巨坑,面试注定一开始就失败!

目录 前言第一阶段&#xff1a;练手第二阶段&#xff1a;冲刺第三阶段&#xff1a;收尾 前言 之前写了两篇文章&#xff0c;给大家介绍了一下如何利用短期的时间&#xff0c;尽可能充分的为面试做准备&#xff1a; 1.《我只是把握好了这3点&#xff0c;1个月后成功拿下大厂…

2023春节祝福系列第一弹(下)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)

2023春节祝福系列第一弹&#xff08;下&#xff09; &#xff08;放飞祈福孔明灯&#xff0c;祝福大家身体健康&#xff09; &#xff08;附完整源代码及资源免费下载&#xff09; 目录 四、画一朵真实的祥云 &#xff08;1&#xff09;、画一个渐变的白色径向渐变背景 &a…

外业调查工具助手,照片采集、精准定位、导航、地图查看

你是不是在外业调查时要背着一堆图纸 是不是一不小心图纸污损或丢失&#xff0c;工作又得重做 是不是经常会出现图纸标注的空间不足 是不是外业采集中要携带一大堆繁琐的仪器 是不是每次收集的数据、照片等在整理的过程中发现工作量巨大 是不是经常会出现采集回来的内容跟…

《MySQL 入门教程》第 36 篇 Python 访问 MySQL

本篇我们介绍如何利用 Python DB API 连接和操作 MySQL 数据库&#xff0c;包括数据的增删改查操作、存储过程调用以及事务处理等。 Python 是一种高级、通用的解释型编程语言&#xff0c;以其优雅、准确、 简单的语言特性&#xff0c;在云计算、Web 开发、自动化运维、数据科…

Spark / Java - atomic.LongAccumulator 与 Spark.util.LongAccumulator 计数使用

目录 一.引言 二.atomic.LongAccumulator 1.构造方法 2.使用方法 3.创建并使用 三.Spark.util.LongAccumulator 1.构造方法 2.使用方法 一.引言 使用 Spark 进行大数据分析或相关操作时&#xff0c;经常需要统计某个步骤或多个步骤的相对耗时或数量&#xff0c;java.u…

Java设计模式-适配器模式Adapter

介绍 适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示&#xff0c;主的目的是兼容性&#xff0c;让原本 因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)适配器模式属于结构型模式主要分为三类&#xff1a;类适配器模式、…

树莓派自带的python3.9->python3.7

卸载python3.9&#xff1a;sudo apt-get remove python3卸载之后一些包可以使用sudo apt autoremove这个命令删除卸载成功如果出现问题后续再来更新&#xff08;出现问题后后续安装python也会失败&#xff09;&#xff08;先不要安装先看&#xff09;安装python3.7&#xff1a;…

C语言第30课笔记

1.strerror(errno要包含头文件errno.h) 2.perror头文件为stdio.h 3.一些字符函数 4.字母大小写转换函数 5.memmove理论上是memcpy的升级版(可以自己拷贝自己)。 6.匿名结构体类型在类型创建好了之后直接创建变量&#xff0c;只能用一次。两个完全相同的匿名结构体类型&#xf…

【八】Netty HTTP协议--文件服务系统开发

Netty HTTP协议--文件服务系统开发介绍HTTP-文件系统场景描述流程图代码展示netty依赖服务端启动类 HttpFileServer服务端业务逻辑处理类 HttpFileServerHandler结果展示错误路径文件夹路径文件路径遗留bugbug版本总结介绍 由于Netty天生是异步事件驱动的架构&#xff0c;因此…

java EE初阶 — Synchronized 的原理

文章目录1. Synchronized 的优化操作1.1 偏向锁1.2 轻量级锁&#xff08;自旋锁&#xff09;1.3 重量级锁2. 其他的优化操作2.1 锁消除2.2 锁粗化3. 相关面试题1. Synchronized 的优化操作 两个线程针对同一个对象加锁&#xff0c;就会产生阻塞等待。 Synchronized 内部其实还有…

ubuntu docker elasticsearch kibana安装部署

ubuntu docker elasticsearch 安装部署 所有操作尽量在root下操作. 安装docker 1. 由于是基于宝塔面板安装的所以简答的点击操作即可完成安装. 我这里已经是正常的安装好了. 2.dcoker 镜像加速 https://cr.console.aliyun.com/cn-hangzhou/instances访问这个网址进去进行了…

快速上手Golang

自动推导赋值:自动推导赋值Go中 不同的数据类型不能进行计算对于浮点型默认都是float64 精确到小数点后15位单引号的 为字节类型 一位0~255的字符转换双引号的 为字符串类型多重赋值多重赋值a,b:1,2格式输出格式输出printf“%3d”三位整数&#xff0c;不满足三位时头部补空格“…

录制课程用什么软件好?3款超好用的课程视频录课软件

在互联网技术的飞速发展下&#xff0c;在线教学已经成为一种新型的教学形式&#xff0c;与传统的教学方法相比&#xff0c;在线教学具有低成本、突破地域、时间灵活、形式多样的教学方式。那录制课程用什么软件好&#xff1f;今天小编就跟大家分享3款超好用的课程视频录课&…

认真研究MySQL的主从复制(一)

【1】主从复制概述 ① 如何提升数据库并发能力 在实际工作中&#xff0c;我们常常将Redis作为缓存与MySQL配合使用&#xff0c;当有请求的时候&#xff0c;首先会从缓存中进行查找。如果存在就直接取出&#xff0c;如果不存在再访问数据库。这样就提升了读取的效率&#xff0…