[转帖]比快更快的 ELK 8 安装使用指南-Elasticsearch,Kibana,Logstash
https://juejin.cn/post/7133907643386560519
携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第23天,点击查看活动详情
Elastic 8 的新特性
Elastic 8.0 版号称 比快更快 ,其新特性可参考 Elastic 官方博客:
Elastic 8.0 版:在速度、扩展、高相关性和简单性方面开启了一个全新的时代
本篇文章就直接来安装一下 Elastic 8 版本来瞅瞅。
安装 Elastic 三剑客:Elasticsearch,Kibana,Logstash
本文安装 Elastic 版本:8.3.3。
通过安装包安装
安装 Elasticsearch
cd /usr/local
# 下载安装包,文件大小有500多M
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.3-linux-x86_64.tar.gz
# 校验文件,后面校验的时候确保文件传输过程中没有被损坏
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.3-linux-x86_64.tar.gz.sha512
如果无法使用 wget 下载,可先下载到本地,然后上传到服务器。
下载完成后,使用如下方式安装:
# 该步骤比较 tar.gz 安装包与发布的校验和,如果一直则输出 elasticsearch-8.3.3-linux-x86_64.tar.gz: OK
shasum -a 512 -c elasticsearch-8.3.3-linux-x86_64.tar.gz.sha512
# 解压
tar -xzf elasticsearch-8.3.3-linux-x86_64.tar.gz
解压之后的 elasticsearch-8.3.3 目录就是 ES 的家目录。
启动:
# 进入 ES 家目录
cd elasticsearch-8.3.3
# 使用如下命令启动 ES
./bin/elasticsearch
这里有几个很明显的提示:
1. 有个告警:warning: ignoring JAVA_HOME=/usr/local/java; using bundled JDK ,Elasticsearch 安装包本身绑定使用的是 OpenJDK 。
Elasticsearch 使用 Java 构建,在每个发行版中都包含 OpenJDK 捆绑版本。 ES 推荐使用默认的 OpenJDK 的 JVM,该 JDK 位于$ES_HOME 的 jdk 目录中。
当然也可以改成使用自己的 Java 版本,设置一下 ES_JAVA_HOME 环境变量,指向自己的 JDK 即可。
建议还是使用 ES 默认的 JDK 进行构建,无需其他额外的配置。
2. can not run elasticsearch as root :不能使用 root 用户来运行 ES。
创建一个 elastic 用户,使用该用户启动。
# 为 Elasticsearch 添加用户
useradd elastic
# 设置用户密码
passwd elastic
(elA3T*c0)
# 设置 $ES_HOME 的拥有者为 elastic
chown -R elastic /usr/local/elasticsearch-8.3.3
切换到 elastic 用户启动:
su elastic
cd elasticsearch-8.3.3
./bin/elasticsearch
启动过程中,打印出了一大堆东西:
这是关于几个密码安全设置的,先放这里后面有用。
控制台最后打印出了如下内容:
这其实是一个 Bug,详见 issue:github.com/elastic/ela…
我们可以通过配置文件设置不使用 GeoIpDownloader 。
另外,当我访问的时候:
连接不上,我们可以设置 conf/elasticsearch.yml 的 network.host 配置项解决访问问题。
修改配置项:
# 修改 network.host
network.host: 0.0.0.0
# 添加如下配置项,禁用 GeoIpDownloader
ingest.geoip.downloader.enabled: false
然后再次启动:
果然该来的还是回来(之前安装 elasticsearch 7.10 就遇到过此问题),报错了:
bootstrap check failure [1] of [3]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [3]: max number of threads [3795] for user [elastic] is too low, increase to at least [4096]
bootstrap check failure [3] of [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
这几个问题我在 这些Elasticsearch 7.10部署的问题,你遇到过吗 这篇文章中也有提及,这里再补充一下解决方案。
解决 max file descriptors 和 max number of threads 不够的问题:
# 在root用户下操作
vim /etc/security/limits.conf
# 修改最大进程数和最大线程数
# 在文件末尾添加
elastic hard nofile 65536
elastic soft nofile 65536
elastic hard nproc 4096
elastic soft nproc 4096
解决 max virtual memory areas vm.max_map_count 不够的问题:
# 在root用户下操作
vi /etc/sysctl.conf
# 在文件末尾添加
vm.max_map_count = 655360
# 保存退出
# 使之生效
sysctl -p
然后再次使用 elastic 用户启动就可以了。
启动完成之后我们来访问一下:http://192.168.242.15:9200 ,竟然还是显示如下错误访问不了:
莫慌,我们再来浏览一下看一下 config/elasticsearch.yml 配置文件,看到这样一段配置:
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
enabled: true
keystore.path: certs/http.p12
可以看到,ES 8 默认开启了 SSL ,我们可以把 xpack.security.http.ssl.enabled 设置为 false,再启动后就可以访问了。
但这里我们不修改这个配置,直接使用 https 访问,也是可以的:
点“高级”,继续前往,选择信任就可以了,然后我们看到和之前的 ES 版本不同的是,这里需要输入密码:
还记得前面第一次启动 ES 的时候有一堆密码的提示吧,那其中就有 elastic 登录密码。不过我们已经重启过好几次了,也没有保存密码,怎么办呢?
我们进入到 $ES_HOME/bin 目录下找找看有没有特别的工具:
使用 elasticsearch-reset-password 可以修改密码,通常有两种方式:
1. 为 elastic 账号自动生成新的随机密码,输出至控制台
./elasticsearch-reset-password -u elastic
2. 为 elastic 账号设置自定义密码
./elasticsearch-reset-password -u elastic -i
OK,万事俱备了,现在再访问那个熟悉的 9200 ,输入用户名 elastic 和刚才自己设置的密码:
这样就成功的安装了 Elasticsearch 8.3.3 了。
安装 Kibana
下面来通过安装包安装 Elastic 三剑客之一的 Kibana 。
Kibana 版本选择和 Elasticsearch 的版本一致即可,官方提供了一致的版本。
在确定 ES 的版本后,Kibana 和 Logstash 以及其他的一些组件均可以和 ES 的版本一致,这一点真是太爽了,不用考虑太多版本 Elastic 各个组件之间的兼容问题。
和安装 ES 的步骤基本相同:
# 下载安装包
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.3.3-linux-x86_64.tar.gz
# 下载校验文件
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.3.3-linux-x86_64.tar.gz.sha512
# 校验
shasum -a 512 -c kibana-8.3.3-linux-x86_64.tar.gz.sha512
# 解压
tar -xzf kibana-8.3.3-linux-x86_64.tar.gz
Kibana 安装包大小 257 M。
以上步骤完成之后,通过安装 ES 的经验,我们先来看一下 kibana 的配置文件 config/kibana.yml,修改其中的 server.host,使其能够外网访问:
server.host: "0.0.0.0"
启动:
[root@elk8 kibana-8.3.3]# ./bin/kibana
Kibana should not be run as root. Use --allow-root to continue.
这个就和 ES 的套路一样了,提示不应该用 root 用户启动,当然 Kibana 可用通过 --allow-root 用 root 用户启动。
不使用 root 用户登录的话,可以新建一个 kibana 用户,并设置 kibana-8.3.3 目录的拥有者为 kibana。
再次启动:
./bin/kibana --allow-root
提示 Kibana 还未配置,我们按照提示,访问 http://192.168.242.15:5601/?code=263850 :
那么这个 token 从哪里来呢?
可以使用 ES 的 elasticsearch-create-enrollment-token 命令为 Elasticsearch 节点和 Kibana 实例创建注册令牌:
执行命令:
./elasticsearch-create-enrollment-token
提示 -s 为必填项,这里我们是要将 kibana 加入,所以可以这样创建 token:
# $ES_HOME/bin 目录下
./elasticsearch-create-enrollment-token -s kibana
复制生成的 token,填写:
然后就会自动配置:
配置完了以后,他竟然让我输入用户名密码:
输入在安装 ES 时设置的用户名密码,即可进入:
找到我们熟悉的 Dev Tools:
美滋滋啊有木有!
安装 Logstash
这个就简单了,直接下载安装包解压使用即可。
# 下载
wget https://artifacts.elastic.co/downloads/logstash/logstash-8.3.3-linux-x86_64.tar.gz
# 解压
tar -zxvf logstash-8.3.3-linux-x86_64.tar.gz
不同的用途有不同的配置,如果我们使用 Elasticsearch + Logstash 进行日志采集,可以这样配置:
拷贝一份 $LOGSTASH_HOME/config/logstash-sample.conf 配置文件,命名为 logstash-app-search.conf ,修改其内容为:
input {
tcp {
# Logstash 作为服务
mode => "server"
host => "192.168.242.15"
# 开放9001端口进行采集日志
port => 9001
# 编解码器
codec => json_lines
}
}
output {
elasticsearch {
# 配置ES的地址
hosts => ["https://192.168.242.15:9200"]
# 在ES里产生的index的名称
index => "app-search-log-collection-%{+YYYY.MM.dd}"
user => "elastic"
password => "elastic"
}
stdout {
codec => rubydebug
}
}
启动 Logstash :
logstash -f $LOGSTASH_HOME/config/logstash-app-search.conf
# 后台启动
# nohup logstash -f $LOGSTASH_HOME/config/logstash-app-search.conf &
具体的使用方式可看我之前的这篇文章,
有 Spring Boot 中用 ELK 采集日志 的说明。
以上,本次导航结束。
点个赞再走吧~
[转帖]比快更快的 ELK 8 安装使用指南-Elasticsearch,Kibana,Logstash的更多相关文章
- ELK搭建(filebeat、elasticsearch、logstash、kibana)
ELK部署(文章有点儿长,搭建时请到官网将tar包下载好,按步骤可以完成搭建使用) ELK指的是ElasticSearch.LogStash.Kibana三个开源工具 LogStash是负责数据的收集 ...
- ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置
注意事项: 1.ELK版本要求5.X以上,本人使用版本:elasticsearch-6.0.0.kibana-6.0.0-linux-x86_64.logstash-6.0.0.tar 2.Elast ...
- 【ELK】【docker】【elasticsearch】2.使用elasticSearch+kibana+logstash+ik分词器+pinyin分词器+繁简体转化分词器 6.5.4 启动 ELK+logstash概念描述
官网地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod ...
- elasticsearch kibana logstash(ELK)的安装集成应用
官网关于kibana的学习指导网址是:https://www.elastic.co/guide/en/kibana/current/index.html Kibana是一个开源的分析和可视化平台,设计 ...
- 比快更快——微软LightGBM
LightGBM介绍 xgboost是一种优秀的boosting框架,但是在使用过程中,其训练耗时过长,内存占用比较大.微软在2016年推出了另外一种boosting框架--lightgbm,在不降低 ...
- ELK+KAFKA安装部署指南
一.ELK 背景 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如: ...
- ELK(elasticsearch+kibana+logstash)搜索引擎(一): 环境搭建
1.ELK简介 这里简单介绍一下elk架构中的各个组件,关于elk的详细介绍的请自行百度 Elasticsearch是个开源分布式搜索引擎,是整个ELK架构的核心 Logstash可以对数据进行收集. ...
- ELK(elasticsearch+kibana+logstash)搜索引擎(二): elasticsearch基础教程
1.elasticsearch的结构 首先elasticsearch目前的结构为 /index/type/id id对应的就是存储的文档ID,elasticsearch一般将数据以JSON格式存储. ...
- Docker安装部署ELK教程(Elasticsearch+Kibana+Logstash+Filebeat)
Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash 是一个完全开 ...
- ELK (elasticsearch+kibana+logstash+elasticsearch-head) 华为云下载地址
https://mirrors.huaweicloud.com/elasticsearch https://mirrors.huaweicloud.com/kibana https://mirrors ...
随机推荐
- 记一次kubernetes获取internal Ip错误流程
本文分享自华为云社区<记一次kubernetes获取internal Ip错误流程>,作者:张俭. 偶尔也回首一下处理的棘手问题吧.问题的现象是,通过kubernetes get node ...
- 云图说|图解云消息服务KooMessage
摘要:云消息服务(KooMessage)是提供数字化营销新入口,覆盖全行业.全场景.全终端的一站式富媒体消息服务. 本文分享自华为云社区<[开天aPaaS]图解云消息服务KooMessage&g ...
- 数仓专家面对面 | 为什么我选择GaussDB(DWS)
摘要:你知道数仓是如何应运而生的吗?你了解数仓未来的发展趋势吗?想知道国内数仓专家的看法吗? 导语 数据仓库的发展一直是备受关注的议题,随着近年来技术的不断演进,数仓也在更新迭代. 你知道数仓是如何应 ...
- Python图像处理丨带你掌握图像几何变换
摘要:本篇文章主要讲解图像仿射变换和图像透视变换,通过Python调用OpenCV函数实. 本文分享自华为云社区<[Python图像处理] 十二.图像几何变换之图像仿射变换.图像透视变换和图像校 ...
- Linux上非root用户jdk环境变量配置
1.设置用户环境变量vi .bash_profile 或者是 vi ~/.bashrc 2.JAVA_HOME=/home/sgmm/jdk1.6.0_13 CLASSPATH=$JAVA_HOME/ ...
- 听说火山引擎推出的 DataLeap,已经可以支持万级表的数据血缘图谱了!
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 数据来源广.量级大.场景多,导致数据之间关系变得异常复杂. 经过读取.清洗.存储.计算等一系列流程之后,数据最终汇 ...
- 解密Prompt系列23.大模型幻觉分类&归因&检测&缓解方案脑图全梳理
上一章我们主要聊聊RAG场景下的幻觉检测和解决方案,这一章我们单独针对大模型的幻觉问题,从幻觉类型,幻觉来源,幻觉检测,幻觉缓解这四个方向进行整理.这里就不细说任意一种方法了,因为说不完根本说不完,索 ...
- 深入探索Android 启动优化(七) - JetPack App Startup 使用及源码浅析
本文首发我的微信公众号:徐公,想成为一名优秀的 Android 开发者,需要一份完备的 知识体系,在这里,让我们一起成长,变得更好~. 前言 前一阵子,写了几篇 Android 启动优化的文章,主要是 ...
- CDS 重命名失败
当创建CDS视图,名称命名错误,后将视图名称更改后,激活报错(例如,第一次创建的视图名称为ZVWM014,后改为ZVMM014) SQL view ZVWM014 cannot be renamed ...
- 基于函数计算自定义运行时快速部署一个 springboot 项目 什么是函数计算?
什么是函数计算? 函数计算是事件驱动的全托管计算服务.使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码.函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询.性能监控和报 ...