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

 
sh

复制代码
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 下载,可先下载到本地,然后上传到服务器。

下载地址:www.elastic.co/downloads/e…

下载完成后,使用如下方式安装:

 
sh

复制代码
# 该步骤比较 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 的家目录。

启动:

 
sh

复制代码
# 进入 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 用户,使用该用户启动。

 
sh

复制代码
# 为 Elasticsearch 添加用户
useradd elastic
# 设置用户密码
passwd elastic
(elA3T*c0)
# 设置 $ES_HOME 的拥有者为 elastic
chown -R elastic /usr/local/elasticsearch-8.3.3

切换到 elastic 用户启动:

 
sh

复制代码
su elastic
cd elasticsearch-8.3.3
./bin/elasticsearch

启动过程中,打印出了一大堆东西:

这是关于几个密码安全设置的,先放这里后面有用。

控制台最后打印出了如下内容:

这其实是一个 Bug,详见 issue:github.com/elastic/ela…

我们可以通过配置文件设置不使用 GeoIpDownloader 。

另外,当我访问的时候:

连接不上,我们可以设置 conf/elasticsearch.yml 的 network.host 配置项解决访问问题。

修改配置项:

 
yaml

复制代码
# 修改 network.host
network.host: 0.0.0.0
# 添加如下配置项,禁用 GeoIpDownloader
ingest.geoip.downloader.enabled: false

然后再次启动:

果然该来的还是回来(之前安装 elasticsearch 7.10 就遇到过此问题),报错了:

 
sh

复制代码
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 不够的问题:

 
sh

复制代码
# 在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 不够的问题:

 
sh

复制代码
# 在root用户下操作
vi /etc/sysctl.conf # 在文件末尾添加
vm.max_map_count = 655360 # 保存退出
# 使之生效
sysctl -p

然后再次使用 elastic 用户启动就可以了。

启动完成之后我们来访问一下:http://192.168.242.15:9200 ,竟然还是显示如下错误访问不了:

莫慌,我们再来浏览一下看一下 config/elasticsearch.yml 配置文件,看到这样一段配置:

 
yaml

复制代码
# 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 账号自动生成新的随机密码,输出至控制台

 
sh

复制代码
./elasticsearch-reset-password -u elastic

2. 为 elastic 账号设置自定义密码

 
sh

复制代码
./elasticsearch-reset-password -u elastic -i

OK,万事俱备了,现在再访问那个熟悉的 9200 ,输入用户名 elastic 和刚才自己设置的密码:

这样就成功的安装了 Elasticsearch 8.3.3 了。

安装 Kibana

下面来通过安装包安装 Elastic 三剑客之一的 Kibana 。

Kibana 版本选择和 Elasticsearch 的版本一致即可,官方提供了一致的版本。

在确定 ES 的版本后,Kibana 和 Logstash 以及其他的一些组件均可以和 ES 的版本一致,这一点真是太爽了,不用考虑太多版本 Elastic 各个组件之间的兼容问题。

下载地址:www.elastic.co/downloads/k…

和安装 ES 的步骤基本相同:

 
sh

复制代码
# 下载安装包
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,使其能够外网访问:

 
yml

复制代码
server.host: "0.0.0.0"

启动:

 
shell

复制代码
[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。

再次启动:

 
sh

复制代码
./bin/kibana --allow-root

提示 Kibana 还未配置,我们按照提示,访问 http://192.168.242.15:5601/?code=263850 :

那么这个 token 从哪里来呢?

可以使用 ES 的 elasticsearch-create-enrollment-token 命令为 Elasticsearch 节点和 Kibana 实例创建注册令牌:

执行命令:

 
sh

复制代码
./elasticsearch-create-enrollment-token

提示 -s 为必填项,这里我们是要将 kibana 加入,所以可以这样创建 token:

 
sh

复制代码
# $ES_HOME/bin 目录下
./elasticsearch-create-enrollment-token -s kibana

复制生成的 token,填写:

然后就会自动配置:

配置完了以后,他竟然让我输入用户名密码:

输入在安装 ES 时设置的用户名密码,即可进入:

找到我们熟悉的 Dev Tools:

美滋滋啊有木有!

安装 Logstash

这个就简单了,直接下载安装包解压使用即可。

 
sh

复制代码
# 下载
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 ,修改其内容为:

 
ini

复制代码
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 :

 
sh

复制代码
logstash -f $LOGSTASH_HOME/config/logstash-app-search.conf

# 后台启动
# nohup logstash -f $LOGSTASH_HOME/config/logstash-app-search.conf &

具体的使用方式可看我之前的这篇文章,

10分钟部署一个ELK日志采集系统

有 Spring Boot 中用 ELK 采集日志 的说明。

以上,本次导航结束。

点个赞再走吧~

[转帖]比快更快的 ELK 8 安装使用指南-Elasticsearch,Kibana,Logstash的更多相关文章

  1. ELK搭建(filebeat、elasticsearch、logstash、kibana)

    ELK部署(文章有点儿长,搭建时请到官网将tar包下载好,按步骤可以完成搭建使用) ELK指的是ElasticSearch.LogStash.Kibana三个开源工具 LogStash是负责数据的收集 ...

  2. 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 ...

  3. 【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 ...

  4. elasticsearch kibana logstash(ELK)的安装集成应用

    官网关于kibana的学习指导网址是:https://www.elastic.co/guide/en/kibana/current/index.html Kibana是一个开源的分析和可视化平台,设计 ...

  5. 比快更快——微软LightGBM

    LightGBM介绍 xgboost是一种优秀的boosting框架,但是在使用过程中,其训练耗时过长,内存占用比较大.微软在2016年推出了另外一种boosting框架--lightgbm,在不降低 ...

  6. ELK+KAFKA安装部署指南

    一.ELK 背景 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如: ...

  7. ELK(elasticsearch+kibana+logstash)搜索引擎(一): 环境搭建

    1.ELK简介 这里简单介绍一下elk架构中的各个组件,关于elk的详细介绍的请自行百度 Elasticsearch是个开源分布式搜索引擎,是整个ELK架构的核心 Logstash可以对数据进行收集. ...

  8. ELK(elasticsearch+kibana+logstash)搜索引擎(二): elasticsearch基础教程

    1.elasticsearch的结构 首先elasticsearch目前的结构为 /index/type/id  id对应的就是存储的文档ID,elasticsearch一般将数据以JSON格式存储. ...

  9. Docker安装部署ELK教程(Elasticsearch+Kibana+Logstash+Filebeat)

    Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash 是一个完全开 ...

  10. ELK (elasticsearch+kibana+logstash+elasticsearch-head) 华为云下载地址

    https://mirrors.huaweicloud.com/elasticsearch https://mirrors.huaweicloud.com/kibana https://mirrors ...

随机推荐

  1. 赶在520之前,程序员如何用Python送上最特别的“我爱你”表白

    摘要:每到情人节.七夕节,不少小伙伴大伙伴们都会遇到这样一个世纪问题--怎么给女朋友/老婆一个与众不同的节日惊喜.今天给大家分享一个独特的表白方法--用"我爱你"拼出心爱人的模样! ...

  2. 共筑数字化未来,金山办公携手华为云完成文档中心和GaussDB适配

    摘要:金山办公携手华为云完成金山办公自主研发的"WPS文档中心系统"与华为云GaussDB相互兼容性测试认证,并获得华为云授予的<技术认证书>. 本文分享自华为云社区& ...

  3. PPT 图片框架排版万能能公式

    图片作用 提升设计感 辅助表达 传递情感 如何选择一张高大上的图片? 星空.地球.城市.海洋.线条.粒子.山脉.壁纸(系统.手机厂商千挑万选的) https://cn.bing.com/images ...

  4. 万物皆可秒——淘宝秒杀Python脚本,扫货618,备战双11!

    更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 总是抢不到想要的宝贝?试试Python脚本 对于淘宝.天猫,相信大家已经无比的熟悉,在每年的双十一.双十 ...

  5. Android WebView 踩坑日记,字体怎么突然变小了???

    背景 最近,端内在做 webView 统一的时候,个性签名中的 WebView 替换为 CustomWebView 之后,发现字体突然变小. 一开始不知道是什么原因,通过二分法查找最近的提交,排查之后 ...

  6. CMake + Protobuf 自动生成 cpp 文件(pb.h, pb.cc)

    [Protoc]VS2019 (VS平台) 使用 CMake 编译安装.使用 Protobuf 库 本文介绍在 macOS 系统下 cmake 和 protobuf 一起使用的一种方式--使用 cma ...

  7. JSP 学习笔记 | 三、EL 表达式简述

    前文:JSP 学习笔记 | 二.JSP 脚本 & 案例实现 & 缺点分析 前文:JSP 学习笔记 | 一.JSP 原理理解 概述 EL(全称Expression Language )表 ...

  8. springBoot项目打jar包

    系列导航 springBoot项目打jar包 1.springboot工程新建(单模块) 2.springboot创建多模块工程 3.springboot连接数据库 4.SpringBoot连接数据库 ...

  9. vue 状态管理 三、Mutations和Getters用法

    系列导航 vue 状态管理 一.状态管理概念和基本结构 vue 状态管理 二.状态管理的基本使用 vue 状态管理 三.Mutations和Getters用法 vue 状态管理 四.Action用法 ...

  10. <vue 路由 6、动态路由-方法传递参数>

    一.query效果 点击query按钮 二.param效果 点击param按钮 注意点 1:重新刷新浏览器后,参数都不在了. 2:url中能看不到传递的参数 3.分别用{{$route. params ...