日志平台搭建第一章:Linux 安装elasticsearch-7.5.1

news2025/1/24 22:28:36

相关链接

官⽹: https://www.elastic.co/cn/downloads/elasticsearch
下载: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.1-linux-x86_64.tar.gz
分词器: https://github.com/medcl/elasticsearch-analysis-ik
官网下载可能比较慢,下面提供7.5.1版本的下载地址
百度云链接:https://pan.baidu.com/s/1gQ-TMFAslRK8vxf9kx6eSQ 
提取码:3o1q

一、es安装

1.把elasticsearch-analysis-ik-7.5.1.zip和elasticsearch-7.5.1-linux-x86_64.tar.gz拷贝到目录 /opt/app/elk
2. 解压:
tar xvf elasticsearch-7.5.1-linux-x86_64.tar.gz
3. 查询主机名:hostname
4.修改 elasticsearch-7.5.1/ config/elasticsearch.yml,在最后添加
#主机名,通过 hostname 命令查询到
cluster.initial_master_nodes: ["主机名"]
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
vi elasticsearch-7.5.1/config/elasticsearch.yml

5.修改⽂件描述符: vi /etc/sysctl.conf,在最后面添加

vm.max_map_count=64000

6.执行命令sysctl -p,让配置生效

7.启动

#es不允许root⽤户启动,需要添加新⽤户身份
#创建elsearch⽤户组及elsearch⽤户
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch-7.5.1
#更改elasticsearch⽂件夹及内部⽂件的所属⽤户及组为elsearch:elsearch
chown -R elsearch:elsearch elasticsearch-7.5.1
#切换到elsearch⽤户再启动
su elsearch
#启动
./elasticsearch-7.5.1/bin/elasticsearch

我这里启动报错了

主要报错信息有3个

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max number of threads [3795] for user [elsearch] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [64000] is too low, increase to at least [262144]

8.解决报错

问题1:

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

解决:

#切换到root用户修改
su root
vi /etc/security/limits.conf

#在最后面追加下面内容,elsearch为刚刚创建的es用户
elsearch hard nofile 65536
elsearch soft nofile 65536

问题2:该报错是因为 elasticsearch 启动的时候要求当前用户最大线程数至少为 4096 个线程,而操作系统限制该用户最大线程数为 3795,只需要修改当前用户的最大线程数即可。可以使用ulimit -a查看当前用户允许的最大线程数

[2]: max number of threads [3795] for user [elsearch] is too low, increase to at least [4096]

解决:

#使用root用户修改
vi /etc/security/limits.conf

#在最后面追加下面内容,elsearch为刚刚创建的es用户
elsearch - nproc 4096

问题3:刚刚修改的vm.max_map_count的值为64000还是太小了,根据提示,修改为262144即可

[3]: max virtual memory areas vm.max_map_count [64000] is too low, increase to at least [262144]

解决:执行第5、6步

9.切换elsearch用户,并启动

执行 curl http://localhost:9200,出现下面信息说明启动成功

10.上面的启动,如果关闭控制台,服务则会停止,下面创建一个守护进程的启动脚本

#切换到root用户
su root

#进入到目录: /opt/app/elk/elasticsearch-7.5.1/bin/
cd /opt/app/elk/elasticsearch-7.5.1/bin/

#创建es.sh
vi es.sh

#往es.sh中添加以下内容
nohup sh /opt/app/elk/elasticsearch-7.5.1/bin/elasticsearch > /opt/app/elk/elasticsearch-7.5.1/logs/log.out &
tail -f /opt/app/elk/elasticsearch-7.5.1/logs/log.out

#给es.sh文件赋权给elsearch用户
chown elsearch.elsearch es.sh

#加上执行权限
chmod +x es.sh

11.切换elsearch用户,并执行es.sh

12.别的服务器访问不了,可能是是开启了防火墙,需要开放9200端口

#查看防火墙是否开启
systemctl status firewalld

输出以下信息为开启

#可通过如下命令查看是否生效,输出yes表示开启,no表示未开启
firewall-cmd --zone=public --query-port=9200/tcp

#开启920端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent

#重新载入一下防火墙设置,使设置生效
firewall-cmd --reload

二、中文分词器安装

1.创建文件夹/opt/app/elk/elasticsearch-7.5.1/plugins/ik

2.将解压到ik目录中

unzip /opt/app/elk/elasticsearch-analysis-ik-7.5.1.zip -d /opt/app/elk/elasticsearch-7.5.1/plugins/ik/

3.给elsearch用户授权: chown elsearch.elsearch -R /opt/app/elk/elasticsearch-7.5.1/plugins/ik/

4.重启es

#查询进程
ps -ef | grep elastic

#杀进程
kill -9 3372

#切换elsearch用户
su elsearch

#执行es.sh启动es
./bin/es.sh 

5.验证分词器

命令验证

curl http://localhost:9200/_analyze -X POST -H 'Content-Type:application/json' -d '{"text":"test elasticsearch 测试分词效果","analyzer": "ik_smart"}'

postman验证

日志平台搭建第一章:Linux 安装elasticsearch-7.5.1_bill447的博客-CSDN博客

日志平台搭建第二章:Linux使用docker安装elasticsearch-head_bill447的博客-CSDN博客

日志平台搭建第三章:Linux安装logstash_bill447的博客-CSDN博客

日志平台搭建第四章:Linux安装kibana_bill447的博客-CSDN博客

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

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

相关文章

来看看Sublime Text运行Python程序(包含下载和安装)

py Sublime Text 是一款流行的文本编辑器,它体积小、运行速度快、文本功能强大、可以运行在 Windows、Linux 和 Mac OS X 平台上。 在程序员眼里,Sublime Text 还是一款非常好用的代码编辑器,它支持运行 C/C、Python、Java 等多种语言编写的程…

PyCharm集成开发环境安装、启动与设置

作为非开发工程师职业,大家多多少少都会对编程有抵触,其实没有必要对Python有太大的“戒心" ,把Python当做你的一个工具就可以了。——扎克伯格 一、Python的定义: Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有…

21.添加websocket模块

这里默认读者了解websocket协议,若是还不了解可以看下这篇文章wesocket协议。 websocket主要有三个步骤,1通过HTTP进行握手连接,2进行双向通信,3.协商断开连接 第一步的握手连接需要HTTP,所以还需要使用到上一节讲解…

《C++ primer plus》精炼(OOP部分)——对象和类(2)

“学习是人类成长的喷泉。” - 亚里士多德 文章目录 内联函数对象的方法和属性构造函数和析构函数构造函数的种类使用构造函数析构函数列表初始化 const成员函数this指针对象数组类作用域作用域为类的常量类作用域内的枚举 内联函数 定义位于类声明中的函数自动成为内联函数。…

代码随想录第46天|139.单词拆分,了解多重背包,背包总结

139.单词拆分 动规五部曲 1.确定valid数组以及下标的含义 valid[i] : 字符串长度为i的话,valid[i]为true,表示可以拆分为一个或多个在字典中出现的单词。 2.valid初始化 valid[0]一定要为true,否则递推下去后面都都是false了 3.递推公式…

TDesign WXS语法

目录 一、输出函数返回值如何获取? 二、WXS语法 三、WXS案例 一、输出函数返回值如何获取? 写在js的方法中 wxml中{{方法名()}}输出: 发现不显示?? 所以不能使用这种方式!! 二、WXS语法 1.…

idea启动缓慢解决办法

idea启动缓慢解决办法 文章目录 idea启动缓慢解决办法前言一、修改内存大小二、虚拟机运行大小三、插件禁用1、安卓相关2、构建工具3、Code Coverage 代码覆盖率4、数据库5、部署工具6、html和xml7、ide settings8、JavaScript框架和工具9、jvm框架10、Keymap快捷键映射11、kot…

c语言练习43:深入理解strcmp

深入理解strcmp strcmp的主要功能是用来比较两个字符串 模拟实现strcmp 比较两个字符串对应位置上的大小 按字典序进行比较 例如: 输入:abc abc 输出:0 输入:abc ab 输出:>0的数 输入:ab abc …

BUUCTF ciscn_2019_n_1 1

分析 使用file命令查看文件信息 使用IDA64打开文件 进入func函数 如果 v2 等于 11.28125 就可以拿到flag 可以看到v1有栈溢出,并且v1在v2的上面,可以通过溢出v2来覆盖v1的值从而获取flag 首先v1是浮点数 11.28125 的二进制是 0x413480 exp from…

【FPGA零基础学习之旅#13】串口发送模块设计与验证

🎉欢迎来到FPGA专栏~串口发送模块 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒🍹 ✨博客主页:小夏与酒的博客 🎈该系列文章专栏:FPGA学习之旅 文章作者技术和水平有限,如果文中出现错误,希望大家能指正&…

Redis 十大核心数据类型解析

一、Redis 简述 redis是一个开源的使用C语言编写的一个kv存储系统,是一个速度非常快的非关系远程内存数据库。它支持包括String、List、Set、Zset、hash五种数据结构。 除此之外,通过复制、持久化和客户端分片等特性,用户可以很方便地将red…

基于Yolov8的NEU-DET钢材表面缺陷检测,优化组合新颖程度较高:CVPR2023 PConv和BiLevelRoutingAttention,涨点明显

1.钢铁缺陷数据集介绍 NEU-DET钢材表面缺陷共有六大类,分别为:crazing,inclusion,patches,pitted_surface,rolled-in_scale,scratches 每个类别分布为: 2.基于yolov8的训练 原始网络如下: map@0.5为0.733

博客系统(升级(Spring))(三)登录功能,注册功能,注销功能

博客系统 (三) 博客系统登录用户前端后端数据查询(在mapper上添加mapper接口) 注册用户前端后端插入数据 注销 博客系统 博客系统是干什么的? CSDN就是一个典型的博客系统。而我在这里就是通过模拟实现一个博客系统,这…

Spring Boot 中使用 Poi-tl 渲染数据并生成 Word 文档

本文 Demo 已收录到 demo-for-all-in-java 项目中,欢迎大家 star 支持!后续将持续更新! 前言 产品经理急冲冲地走了过来。「现在需要将按这些数据生成一个 Word 报告文档,你来安排下」 项目中有这么一个需求,需要将用户…

Linux平台如何实现采集音视频数据并注入轻量级RTSP服务?

技术背景 好多开发者,问我们最多的问题是,为什么要设计轻量级RTSP服务?轻量级RTSP服务,和RTSP服务有什么区别? 针对这个问题,我们的回答是:轻量级RTSP服务解决的核心痛点是避免用户或者开发者…

59、SpringBoot 自定义JSON的序列化器和反序列化器

Serialization(序列化): 将java对象以一连串的字节码保存在磁盘文件中的过程,也可以说是保存java对象状态的过程。序列化可以将数据永久保存在磁盘上(通常保存在文件中)。 deserialization(反序列化): 将保存在磁盘文件中的java字节码重新转…

关于µC/OS-III 多任务的基本理解

关于C/OS-III 多任务的基本理解 任务和任务管理是 RTOS 的核心,且大多数项目使用 RTOS 的目的就是为了使用 RTOS 的多任务管理能力。 C/OS-III作为经典的RTOS,了解并学习其任务管理机制,是非常有必要的。 文章目录 关于C/OS-III 多任务的基本…

进阶C语言-指针的进阶(中)

指针的进阶 📖5.函数指针📖6.函数指针数组📖7.指向函数指针数组的指针📖8.回调函数 📖5.函数指针 数组指针 - 指向数组的指针 - 存放的是数组的地址 - &数组名就是数组的地址。 函数指针 - 指向函数的指针 - 存放的…

【Java】session的工作原理

文章目录 一、session的概念及特点session概念session主要有以下的这些特点 二、为什么要使用session三、session的工作原理四、session的生命周期Session何时生效Session何时失效 五、session的性能瓶颈六、session实现登录状态的控制 一、session的概念及特点 session概念 …

无涯教程-JavaScript - COUPDAYSNC函数

描述 COUPDAYSNC函数返回从结算日期到下一个息票日期的天数。 语法 COUPDAYSNC (settlement, maturity, frequency, [basis])争论 Argument描述Required/OptionalSettlement 证券的结算日期。 证券结算日期是指在发行日期之后将证券交易给买方的日期。 RequiredMaturity 证…