ElasticSearch搜索与分析引擎-Linux离线环境安装教程

目录

一、下载安装包

网盘链接:

二、安装流程及遇到的问题和解决方案

(1)JDK安装

(2)Elasticsearch安装

(3)Kibana安装

​(4)Ik分词器安装

三、启动过程中的问题

(1)日志输出

(2)日志一直输出

(3)告警日志

(4)设置密码

(5)failed to authencated user [xxxx]

(6)Es和Kibana启动停止命令


一、下载安装包

Jdk官网:Java Downloads | OracleEs+Kibana官网:Download Elasticsearch | ElasticIk分词器:https://github.com/medcl/elasticsearch-analysis-ik

网盘链接:

Es链接: https://pan.baidu.com/s/1u4a_3w_2271jkdbgoD9pXg 提取码: 865r 
Kibana链接: https://pan.baidu.com/s/1pwBk5gIjgegzFg4eAOPoew 提取码: 7zz4 
Ik分词器链接: https://pan.baidu.com/s/10wK4TOfGJsAItRoewQPN0Q 提取码: 3gzx 
JDK11链接: https://pan.baidu.com/s/1m1IpkF6ResRyb1WQveeZJQ 提取码: bwk8 

二、安装流程及遇到的问题和解决方案

(1)JDK安装

(1)将下载好的jdk安装包放到/usr/local/java目录下,解压缩:tar -zxvf jdk-11.0.22_linux-x64_bin.tar.gz(2)修改环境变量配置文件:vim /etc/profileexport JAVA_HOME=/usr/local/java/jdk-11.0.22  export JRE_HOME=${JAVA_HOME}/jre  export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  export PATH=${JAVA_HOME}/bin:$PATH(3)保存:source /etc/profile(4)查看是否安装成功:java -versionPS : JDK这个安装过程,可装可不装,Es有自己封装好的jdk。

(2)Elasticsearch安装

(2.1) 将下载好的安装包,放到服务器上,例如:/app/elastic目录下,然后解压缩:tar -zxvf elasticsearch-7.16.3-linux-x86_64.tar.gz(2.2)进入elasticsearch目录下,再进入config目录,编辑配置文件:vim elasticsearch.yml,修改好配置文件后,wq保存并退出#设置集群名和节点名cluster.name: my-esnode.name: node-1#控制节点是否允许从单个目录启动多个实例。这个参数的目的是防止多个节点共享相同的数据路径,以            #防止数据丢失node.max_local_storage_nodes: 256#设置es的data和log目录,data和log目录如果不存在,可以自己创建,然后制定对应的路径path.data: /app/es/es-test/datapath.logs: /app/es/es-test/logs#es启动时,会检测是否有内存锁定的配置,不开启时,启动日志中可能会报错,打开注释后,同步需要        #更改一些系统文件的配置项bootstrap.memory_lock: true#设置对外可访问的地址及端口号network.host: 0.0.0.0http.port: 9200#开启集群模式时,需要指定一个初始化的主节点cluster.initial_master_nodes: ["node-1"]#设置用户名和密码,具体设置请看(三-4)xpack.security.enabled: truexpack.security.enrollment.enabled: true#离线环境,需要将该配置项设为false,这样不会默认去官网更新ingest.geoip.downloader.enabled: false(2.3)启动es,进入bin目录,执行:./elasticsearch

安装Es的时候,会有以下几个常见的问题:

(p1)can not run elasticsearch as root

[2023-01-31T17:42:42,296][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException:can not run elasticsearch as root

(S1)更换一个普通用户

Es出于系统安全设置考虑,不允许root用户启动实例,需要创建一个普通用户# 新建用户组和密码
1. groupadd elsearch#用户组useradd elsearch#普通用户 -g elsearch#用户组 -p elasticsearch#用户密码# 授予普通用户权限
2.chown -R elsearch:elsearch  elasticsearch#Es目录# 切换到elsearch用户
3.su elsearch# 启动es
4. cd /bin./elasticsearch# 查看是否启动成功
5. 服务器请求:curl http://ip:9200浏览器请求:http://ip:9200
若启动成功,可以看到es版本号等信息

(p2)bootstrap checks failed

ERROR: [3] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max number of threads [3780] for user [es] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2018-12-12T21:54:57,353][INFO ][o.e.n.Node               ] [PlbSkhz] stopping ...
[2018-12-12T21:54:57,413][INFO ][o.e.n.Node               ] [PlbSkhz] stopped
[2018-12-12T21:54:57,413][INFO ][o.e.n.Node               ] [PlbSkhz] closing ...
[2018-12-12T21:54:57,473][INFO ][o.e.n.Node               ] [PlbSkhz] closed
[2018-12-12T21:54:57,488][INFO ][o.e.x.m.j.p.NativeController] [PlbSkhz] Native controller process has stopped - no new native processes can be started

(S2)修改系统文件中的部分配置项

如果非root用户创建es的话,普通用户就需要root授予sudo权限,用于修改一些系统文件的配置。#查询当前用户是否有sudo权限
sudo cat /etc/sudoers# max virtual memory areas vm.max_map_count [65530] is too low,increase to at least 262144]
修改命令:打开文件:sudo vi /etc/sysctl.conf 添加内容:vm.max_map_count = 262144保存修改:sysctl -p# max file descriptors [4096] for elastic process is too low,increase to at least [65536]
修改命令:打开文件:sudo vi /etc/security/limits.conf添加内容:* soft nofile 65536* hard nofile 65536* soft nproc 65536* hard nproc 65536* soft memlock unlimited* hard memlock unlimited# es默认的内存大小可能需要手动修改,如果启动日志中有告警提示的话,可以酌情修改参数值
修改命令:打开文件:vi /es/config/jvm.options修改内容:-Xms 2g-Xmx 2g

 (P3)es自7.x之后,都有自带的jdk环境,如果安装版本和服务器本机jdk版本不符,可以使用es自带的jdk。

(S3)如图

(P4)安装ik重启后报错

# org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: failed to obtain node locks,tried [[/data/elasticsearch/data/elasticsearch]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?

(S4)解决方案,设置节点数

# 打开config/elasticsearch.yml添加内容:node.max_local_storage_nodes: 256保存,重启es 

(3)Kibana安装

(3.1)上传Kibana安装包,解压缩,tar -zxvf kibana-7.16.3-linux-x86_64.tar.gz(3.2)进入config目录,修改配置信息# 指定kibana访问主机地址和端口号server.host: "localhost"server.port: 5601# 关联的es实例地址elasticsearch.hosts: ["http://localhost:9200"]# 关联的es的用户名和密码elasticsearch.username: "kibana_system"elasticsearch.password: "pass"# 设置Kibana的日志存储路径logging.dest: /var/logs/kibana.log#Kibana汉化i18n.locale: "zh-CN"#以下设置为8.12版本的格式#logging.root.level: debug#logging.appenders.default:#  type: file#  fileName: /var/logs/kibana.log#  layout:#    type: json(3.3)wq保存退出,进入bin目录,启动实例命令:./kibana & #后台启动(3.4)启动成功,浏览器输入:http://ip:5601 查看是否成功

(4)Ik分词器安装

(4.1)Ik分词器是zip包,如果机器上没有zip相关命令,需要先安装一下在线:yum -y install unzip离线:下载unzip离线包-unzip-6.0-19.el7.x86_64.rpm,放入指定目录,并执行以下命令安装:rpm -Uvh unzip-6.0-19.el7.x86_64.rpm 安装成功后,输出rpm -qa | grep unzip 查看是否安装成功(4.2)对Ik安装包解压缩后,将其移动到/elasticsearch/plugins目录下,重启es

Ik分词器有两种分词粒度,分别是“粗粒度-ik_max_word”和“细粒度-ik_smart ”,elastic也有自己的分词策略-standard,三种测试情况如下:

三、启动过程中的问题

Kibana启动时遇到的错误:

(1)日志输出

(2)日志一直输出

如果Kibana启动后,日志一直如下图所示,在不停地输出info信息,其中可能会夹杂着一些warning信息,这些其实目前我并没有弄清楚它具体的原因。但是现在有两种方法,可以解决日志一直输出的问题。(2.1)在kibana.yml文件中,将以下注释掉的选项,打开并修改:logging.quiet: ture
该配置项设为true时,日志文件中就只会输出error级别的日志。(2.2)对Es和Kibana设置密码,具体设置流程见(3).在一直输出的日志里,会看到部分warning信息,具体如下图2,告警信息主要是说明,如果es未设置用户名和密码,可能会导致任何人都可以访问你的es实例,不安全,系统就会一直提示设置用户名和密码。设置了密码并重启机器之后,日志确实不会一直输出了,我理解的话是因为,Kibana不再一致刷新es的监控状态了,所以就不会一直发请求,日志自然就不再一直输出了,等一定的时间间隔才会有新的日志输出。!!!!如果有哪位大佬知道,Kibana启动后,一直有日志输出的这个问题的原因,劳烦帮忙给解释一下,万分感谢!!!!!!!!

(3)告警日志

[warning][config][plugins][security] 
# xpack.security.encryptionKey 为32位随机keyGenerating a random key for xpack.security.encryptionKey. 
# 为防止kibana重启 用户会话失效,配置文件增加 xpack.security.encryptionKey 配置;或者 使用 kibana-encryption-keys启动
To prevent sessions from being invalidated on restart, please set xpack.security.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command.[warning][config][plugins][reporting]
Generating a random key for xpack.reporting.encryptionKey. 
To prevent sessions from being invalidated on restart, please set xpack.reporting.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command.[warning][encryptedSavedObjects][plugins] 
# xpack.encryptedSavedObjects.encryptionKey 未设置,kibaba 部分功能受限Saved objects encryption key is not set. This will severely limit Kibana functionality. 
Please set xpack.encryptedSavedObjects.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command.[warning][actions][plugins] # API功能关闭; 设置 xpack.encryptedSavedObjects.encryptionKey 启用
APIs are disabled because the Encrypted Saved Objects plugin is missing encryption key. 
Please set xpack.encryptedSavedObjects.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command.

在kibana.yml中新增如下配置,配置项的值,可以随机生成32位字符串:

xpack.encryptedSavedObjects.encryptionKey: encryptedSavedObjects12345678909876543210
xpack.security.encryptionKey: encryptionKeysecurity12345678909876543210
xpack.reporting.encryptionKey: encryptionKeyreporting12345678909876543210参考:https://blog.csdn.net/h952520296/article/details/112017739
Linux命令行:
head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32Windows命令行:
New-Guid | ForEach-Object { $_ -replace '-', '' } | Set-Content encryptionKey.txt

(4)设置密码

首先,在elasticsearch.yml中添加几句配置项:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true添加后,wq保存退出。然后,执行命令:
./elasticsearch-setup-passwords interactive
会提示要设置多项的密码,选择y后,直接输出密码即可,如图。最后,密码设置成功后,需要重启es。然后是更新Kibana的配置文件kibana.yml,将其中两句注释掉的配置打开,并修改成自己es的用户名和密码:
#添加以下内容
elasticsearch.username: "elastic"
elasticsearch.password: "你在es中设置的密码"修改完成后,wq保存退出,并重启Kibana。

(5)failed to authencated user [xxxx]

Es如果中途宕机,重启后报上述错误:(5.1)停止es,修改配置文件,将设置的密码的两行配置项先注释掉
(5.2)然后删除config下的elasticsearch.keystore文件
(5.3)打开配置文件,将注释去掉
(5.4)保存,重启es
(5.5)按照(4)步骤重置密码
(5.6)再次重启es

(6)Es和Kibana启动停止命令

(1)Elasticsearch启动,进入bin目录,执行命令:./elasticsearch 后台启动命令:./elasticsearch -d然后打开logs目录下的xxx.log查看日志。(2)Kibana启动,进入bin目录,执行命令:./kibana后台启动命令:./kibana &然后打开logs目录下的kibana.log查看日志。(3)均适用的服务停止命令:netstat -tnpl | grep 9200/5601 根据端口号查看各个进程的进程号,然后执行:kill -9 'Es.PID/Kibana.PID'

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zabbix监控mariadb数据库

zabbix监控mariadb数据库 1.创建监控用户及授权 [rootchang ~]# mysql -uroot -p123qqq.A MariaDB [(none)]> CREATE USER monitor% IDENTIFIED BY 123qqq.A; MariaDB [(none)]> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO monitor%; Maria…

【复现】WordPress html5-video-player SQL 注入漏洞_39

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 在WordPress中播放各种视频文件。一个简单,可访问,易于使用和完全可定制的视频播放器,适用于所…

Android SELinux:保护您的移动设备安全的关键

Android SELinux:保护您的移动设备安全的关键 1 引言 移动设备在我们的生活中扮演着越来越重要的角色,我们几乎把所有重要的信息都存储在这些设备上。然而,随着移动应用程序的数量不断增加,安全性也变得越来越关键。这就是为什么…

Android14之Selinux报错:unknown type qemu_device at token (一百八十三)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

PyTorch使用

前言 系统环境:win10 使用Anaconda,Anaconda的安装自行百度。 conda 23.7.4 目录 前言 创建虚拟环境 1、查看当前有哪些虚拟环境 2、创建虚拟环境pytorch 3、激活及关闭pytorch虚拟环境 4、删除pytorch虚拟环境 使用yolov5测试 1、切换至yolo…

ubuntu离线安装k8s

目录 一、前期准备 二、安装前配置 三、安装docker 四、安装cri-dockerd 五、部署k8s master节点 六、整合kubectl与cri-dockerd 七、网络等插件安装 八、常见问题及解决方法 一、前期准备 ①ubuntu系统 本地已安装ubuntu系统,lsb_release -a命令查看版本信…

《vtk9 book》 官方web版 第3章 - 计算机图形基础 (2 / 6)

3.4 表面特性 当光线穿过空间时,其中一些光线会与我们的物体相交。当这种情况发生时,光线会与物体表面相互作用,产生一种颜色。部分由此产生的颜色实际上并不是由直接光线产生的,而是来自其他物体反射或散射的环境光。环境光照模型…

物联网与智慧景区的未来:机遇与挑战并存

随着科技的不断发展,物联网技术在智慧景区中的应用越来越广泛,为旅游业带来了巨大的变革。然而,在物联网与智慧景区的未来发展中,机遇与挑战并存。本文将探讨物联网与智慧景区面临的机遇和挑战,并提出应对措施&#xf…

Spring框架——主流框架

文章目录 Spring(轻量级容器框架)Spring 学习的核心内容-一图胜千言IOC 控制反转 的开发模式Spring快速入门Spring容器剖析手动开发- 简单的 Spring 基于 XML 配置的程序课堂练习 Spring 管理 Bean-IOCSpring 配置/管理 bean 介绍Bean 管理包括两方面: Bean 配置方式基于 xml 文…

网络空间内生安全数学基础(2)——编码信道数学模型

目录 (零)这篇博客在干什么(一)内生安全与香农信道编码定理(二)基本定义(三)编码信道存在定理(三.壹)编码信道存在第一定理(三.贰)编码…

[python] 过年燃放烟花

目录 新年祝福语 一、作品展示 二、作品所用资源 三、代码与资源说明 四、代码库 五、完整代码 六、总结 新年祝福语 岁月总是悄然流转,让人感叹时间的飞逝,转眼间又快到了中国传统的新年(龙年)。 回首过去&#xf…

LLM - Qwen-72B LoRA 训练与推理实战

目录 一.引言 二.模型简介 1.Qwen-Model 总览 2.Qwen-Chat-72B - PreTrain - Tokenizer - Base Line - SFT / RLHF 3.Qwen-72 模型架构 - Config.json - c_attn/c_proj - Attention Forward - ROPE - Qwen MLP - Qwen Block 三.QLoRA 与 Infer 实战 1.SFT 指…

JavaScript鼠标拖放(Drag and Drop)

🧑‍🎓 个人主页:《爱蹦跶的大A阿》 🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 拖放是现代界面不可或缺的交互方式之一。本文将介绍如何用JavaScript…

【蓝桥杯冲冲冲】 [SCOI2005] 骑士精神

蓝桥杯备赛 | 洛谷做题打卡day28 文章目录 蓝桥杯备赛 | 洛谷做题打卡day28[SCOI2005] 骑士精神题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示题解代码我的一些话[SCOI2005] 骑士精神 题目描述 输入格式 第一行有一个正整数 T T T( T ≤ 10

随机森林超参数的网格优化(机器学习的精华--调参)

随机森林超参数的网格优化(机器学习的精华–调参) 随机森林各个参数对算法的影响 影响力参数⭐⭐⭐⭐⭐几乎总是具有巨大影响力n_estimators(整体学习能力)max_depth(粗剪枝)max_features(随机…

系统架构设计师考试大纲2023

一、 考试方式(机考) 考试采取科目连考、 分批次考试的方式, 连考的第一个科目作答结束交卷完成后自动进 入第二个科目, 第一个科目节余的时长可为第二个科目使用。 高级资格: 综合知识科目考试时长 150 分钟&#xff…

使用goland IDE编写go windows ui

最近突发奇想,想实现一款工作节奏的提示安排小闹钟。那首先解决的就是UI。本人擅长go语言。那go在windows ui的探索肯定有人做过了吧。一查还真有,通过知乎,csdn等查到目前支持最好的就是walk库了。那走起试试。 一、拷贝go代码 将官网例子…

idea中找到所有的TODO

idea中找到所有的TODO (1)快捷键 Alt6 (2)View -> Tool Windows -> TODO

kafka客户端生产者消费者kafka可视化工具(可生产和消费消息)

点击下载《kafka客户端生产者消费者kafka可视化工具(可生产和消费消息)》 1. 前言 因在工作中经常有用到kafka做消息的收发,每次调试过程中,经常需要查看接收的消息内容以及人为发送消息,从网上搜寻了一下&#xff0…

css1基础选择器

大纲 一.标签选择器 比较简单,前面直接写目标标签 二.类选择器 应用 例子 三.多类名选择器(调用时中间用空格隔开) 四.id选择器 应用 五.通配符选择器 应用 六.总结