当前位置: 首页 > news >正文

Linux环境下Elasticsearch相关软件安装

Linux环境下Elasticsearch相关软件安装

本文将介绍在linux(Centos7)环境下安装Elasticsearch相关的软件。

1、安装Elasticsearch

1.1 Elasticsearch下载

首先去Elasticsearch官网下载相应版本的安装包,下载之后传输到linux服务器上。

官网地址:https://www.elastic.co/cn/downloads/past-releases

我这里下载的是elasticsearch-7.12.1-linux-x86_64.tar.gz

国内加速下载地址:https://www.newbe.pro/tags/Mirrors/

将下载好的tar包传到服务器上指定位置,解压。

在这里插入图片描述

在这里插入图片描述

解压后出现elasticsearch文件夹,一般来讲直接启动就行了,但就是有时候会有问题。

启动命令,直接使用bin下的命令:

./bin/elasticsearch 或者是

./bin/elasticsearch -d

-d代表的是后台运行

在这里插入图片描述

原因是Elasticsearch不能使用root启动,需要新建其它用户进行启动。

# 创建一个叫zsx242030的用户
useradd zsx242030
# 给zsx242030用户设置一个密码,输入两次密码
passwd *************
# 切换zsx242030用户
su zsx242030

切换用户登录重新启动:
在这里插入图片描述

发现存在上面问题,是因为elasticsearch用户没有该文件夹的权限,需要对新用户赋予对目录的操作权限:

# 切换到root用户
su root
# zsx243040是当前登陆用户
chown -R zsx242030:zsx242030 /home/zhangshixing/elasticsearch/elasticsearch-7.12.1
# 或者
chown -R zsx242030 /home/zhangshixing/elasticsearch/elasticsearch-7.12.1

然后再尝试启动,发现没有报错:

在这里插入图片描述

# 查看进程
ps -ef|grep elasticsearch

在这里插入图片描述

我们测试一下:

curl localhost:9200

在这里插入图片描述

此时我们在浏览器试一下,把 localhost: 改成服务器 ip:

在这里插入图片描述

访问不了,因为 elasticsearch 默认只有 localhost 能访问,怎么办呢,修改配置文件:

vim config/elasticsearch.yml

1、打开network.host的注释, 改成 0.0.0.0

2、打开 node.name的注释

3、打开cluster .initial_master_nodes的注释,设置为node-1

4、最下边加两行,允许跨域。

http.cors.enabled: true
http.cors.allow-origin: "*"

重启服务,先kill, 在重启。如果没有问题,会看到下面的界面:

在这里插入图片描述

在这里插入图片描述

如果再次重启的时候有问题,请参考下面遇到的问题,很大概率上是下面的问题。

如果能够正常重启,但是还是无法通过浏览器访问,先进行下面的操作。

那么是防火墙的问题,开放9200端口:

# 查看开放的端口号 
firewall-cmd --list-all
# 设置开放的端口号
firewall-cmd --add-port=9200/tcp --permanent
# 重启防火墙 
firewall-cmd --reload

1.2 安装Elasticsearch遇到的问题

期间还可能遇到的问题:

在这里插入图片描述

需要修改一些系统参数, 先切换回root用户

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

解决: vim /etc/security/limits.conf 最下面加两行

* soft nofile 65536
* hard nofile 65536

在这里插入图片描述

nofile是单个进程允许打开的最大文件个数,soft nofile是软限制,hard nofile是硬限制。

退出回话,重新连接,执行ulimit -Hn 验证。

在这里插入图片描述

错误2:max number of threads [1024] for user [es] is too low, increase to at least [4096]

解决: vim /etc/security/limits.d/20-nproc.conf

在这里插入图片描述

错误3: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least

解决: vim /etc/sysctl.conf,增加配置vm.max_map_count=262144

在这里插入图片描述

执行下面命令,修改内核参数马上生效sysctl -p

如果不生效,重新启动虚拟机reboot

在这里插入图片描述

1.3 安装Elasticsearch-head插件

head插件主要是一个可以用于监控和操作es的一个图形化界面,安装这个插件,需要先安装node.js 从官网下载

最新的稳定版安装包,上传到服务器。

1.3.1 安装node

在这里插入图片描述

解压:tar -xvf node-v16.13.1-linux-x64.tar.gz

在这里插入图片描述

然后配置两个软链,也可以配置环境变量:

ln -s /home/zhangshixing/nodejs/node-v16.13.1-linux-x64/bin/npm /usr/local/bin/npm

ln -s /home/zhangshixing/nodejs/node-v16.13.1-linux-x64/bin/node /usr/local/bin/node

主要目的就是可是识别node,npm命令,执行完毕之后验证一下:

node -v

npm -v

看版本信息是否出现:

在这里插入图片描述

如果nodejs安装过程中出现缺包,yum安装一下。

1.3.2 安装head

下载head插件: 地址 https://github.com/mobz/elasticsearch-head

可以下载zip包传到服务器上解压, 如果机器上有git , 也可以使用git clone 复制下来。
在这里插入图片描述

# 解压
unzip elasticsearch-head-master.zip

下载下来解压之后,cd 进入head 目录

在这里插入图片描述

npm install -g grunt --registry=https://registry.npm.taobao.org

在这里插入图片描述

#检测是否安装成功,如果执行命令后出现版本号就表明成功
./grunt -version

在这里插入图片描述

然后使用npm install 进行编译。

在这里插入图片描述

然后要改一个配置,把localhost改为ip地址,否则head监控的是localhost的地址,如果head和es不在一台机器上

会有问题。

修改Gruntfile.js文件,修改为ES服务器IP:
在这里插入图片描述

connect: {server: {options: {hostname:'192.168.2.186',port: 9100,base: '.',keepalive: true}}}

在这里插入图片描述

最后使用 npm run start 执行,也可以使用 grunt server启动。

在这里插入图片描述

需要关闭防火墙,开放9100端口。

# 查看开放的端口号 
firewall-cmd --list-all
# 设置开放的端口号
firewall-cmd --add-port=9100/tcp --permanent
# 重启防火墙 
firewall-cmd --reload

在这里插入图片描述

连接 http://192.168.2.186:9200/

在这里插入图片描述

1.4 Elasticsearch分词器Elasticsearch-Analysis-ik安装

这个比较简单,下载之后,解压到es安装目录下的plugin目录中即可,注意下载相应的版本。

ik地址:https://github.com/medcl/elasticsearch-analysis-ik

在这里插入图片描述

新建一个ik目录,mkdir ik

解压:unzip -d ik/ elasticsearch-analysis-ik-7.12.1.zip

在这里插入图片描述

在这里插入图片描述

将ik拷贝到elasticsearch的plugins目录下:

在这里插入图片描述

在这里插入图片描述

然后重启es,进行分词测试。

在这里插入图片描述

2、安装ElasticHD

打开Xshell,连接到Linux系统中;

第一步:我们来下载程序压缩包

wget https://github.com/360EntSecGroup-Skylar/ElasticHD/releases/download/1.4/elasticHD_linux_amd64.zip

也可以提前下载好上传到服务器上elasticHD_linux_amd64.zip

在这里插入图片描述

第二步:解压

unzip elasticHD_linux_amd64.zip

提示

Archive: elasticHD_linux_amd64.zip
inflating: ElasticHD

说明解压成功;

在这里插入图片描述

在这里插入图片描述

第三步:授权

chmod 0777 ElasticHD

第四步:启动

./ElasticHD -p 192.168.2.186:9800

在这里插入图片描述

说明启动成功了,需要关闭防火墙,开放9800端口。

# 查看开放的端口号 
firewall-cmd --list-all
# 设置开放的端口号
firewall-cmd --add-port=9800/tcp --permanent
# 重启防火墙 
firewall-cmd --reload

我们用浏览器测试下:

在这里插入图片描述

3、安装Kibana

1、下载kibana

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.12.1-linux-x86_64.tar.gz

也可以提前下载好,传输到linux服务器上。

在这里插入图片描述

2、解压

tar -zxvf kibana-7.12.1-linux-x86_64.tar.gz

在这里插入图片描述

3、修改配置文件

vim config/kibana.yml# 放开注释,将默认配置改成如下
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: "http://192.168.2.186:9200"
kibana.index: ".kibana"

4、启动

./bin/kibana

在这里插入图片描述

切换到新建的普通用户

在这里插入图片描述

# 使用root用户赋予权限
chown -R zsx242030:zsx242030 /home/zhangshixing/elasticsearch/kibana-7.12.1-linux-x86_64

然后重新启动:

在这里插入图片描述

5、访问

需要关闭防火墙,开放5601端口。

# 查看开放的端口号 
firewall-cmd --list-all
# 设置开放的端口号
firewall-cmd --add-port=5601/tcp --permanent
# 重启防火墙 
firewall-cmd --reload

http://192.168.87.120:5601

在这里插入图片描述

在这里插入图片描述

可以在config/kibana.yml配置文件中配置:

i18n.locale: "zh-CN"

让界面中文展示:

在这里插入图片描述

4、安装Logstash

1、下载Logstash

本人是从本地上传到服务器上的,使用的7.12.1。

logstash-7.12.1-linux-x86_64.tar.gz

在这里插入图片描述

2、解压Logstash

进入上传目录解压Logstash

tar -zxvf logstash-7.12.1-linux-x86_64.tar.gz

在这里插入图片描述

3、启动

./bin/logstash -e 'input { stdin { } } output { stdout {} }'

在这里插入图片描述

在这里插入图片描述

具体的使用案例请参考《Windows环境下Elasticsearch相关软件安装》。

5、安装Filebeat

1、下载安装包

https://www.elastic.co/cn/downloads/beats/filebeat

在这里插入图片描述

根据自己的需要,点击View past releases →下载相应的版本,这里我下载的是这个版本filebeat-7-12-1

2、上传服务器解压

$ tar -xvf filebeat-7.12.1-linux-x86_64.tar.gz

在这里插入图片描述

3、修改配置文件

编辑filebeat.yml配置文件:

a:配置 filebeat:inputs:path ,这里的路径是所要收集日志的路径

在这里插入图片描述

b:配置 enabled: true 这个配置很重要,只有配置为true之后配置才可生效,否则不起作用。

在这里插入图片描述

c:配置Outputs ,这里的Outputs有elasticsearch,logstash。按照配置文件下面的示例配置即可,只能配置一

个输出,默认是ElasticSearch。

在这里插入图片描述

4、启动

./filebeat -e -c filebeat.yml

在这里插入图片描述

正常情况下,应该有个链接ES的过程,将数据输出到es。

在这里插入图片描述

5、测试

用以下命令向beat.log文件写入内容,以下内容是全量覆盖,不是追加往里面写内容,若想改成追加内容,把下

面的>符号改成 >>即可。

echo "2020-10-31 08:55:09,578 [8] INFO  test.Logging - 2017-06-11 08:55:09--System.ArgumentOutOfRangeException" > /home/zhangshixing/elasticsearch/filebeat-7.12.1-linux-x86_64/logs/beat.log

后台打印信息:

在这里插入图片描述

kinaba查看,多了一个索引:

在这里插入图片描述

默认情况下,Filebeat写事件到名为filebeat-7.12.1-yyyy.MM.dd的索引,其中yyyy.MM.dd是事件被索引的日

期。为了用一个不同的名字,你可以在Elasticsearch输出中设置index选项。

在这里插入图片描述

在这里插入图片描述

到目前为止,和Elasticsearch相关的一些常用的软件都介绍完毕。

相关文章:

Linux环境下Elasticsearch相关软件安装

Linux环境下Elasticsearch相关软件安装 本文将介绍在linux(Centos7)环境下安装Elasticsearch相关的软件。 1、安装Elasticsearch 1.1 Elasticsearch下载 首先去Elasticsearch官网下载相应版本的安装包,下载之后传输到linux服务器上。 官网地址:http…...

【趟坑记录】d3.zoom()的正确使用姿势 @d3.v7

【趟坑记录】d3.zoom()的正确使用姿势 d3.v7 文章目录 【趟坑记录】d3.zoom()的正确使用姿势 d3.v7问题重现原因分析解决方案放缩平移写法特殊修改transform函数的写法 总结 在开发一个D3应用的时候遇到了一个 zoom相关的问题,记录解决思路与方案 问题重现 最近在…...

基于 Docker + Nginx + Gitlab-runner 实现前端自动化部署流程

本篇会用到Docker,Gitlab-runner等相关工具,如果对其不是特别了解,可以参考下相关文档: GitLab RunnerDocker 快速入门CI/CD:持续集成/持续部署 在早期部署前端项目时,我们通常会通过ftp把前端代码直接传…...

make/makefile的使用

make/makefile 文章目录 make/makefile初步认识makefile的工作流程依赖关系和依赖方法make的使用 总结 make是一个命令,是一个解释makefile中指令的命令工具,makefile是一个文件,当前目录下的文件,两者搭配使用,完成项…...

Flutter中Navigator 跳转传参数和反向传参数

初始化路由 MaterialApp(routes: <String, WidgetBuilder>{"/Second": (BuildContext context){return Second("");}}, 跳转传参数 String va await Navigator.of(context).push(MaterialPageRoute(builder: (content) {return Second( demo); },…...

kettle开发-Day40-AI分流之case/switch

前言&#xff1a; 前面我们讲到了很多关于数据流的AI方面的介绍&#xff0c;包括自定义组件和算力提升这块的&#xff0c;今天我们来学习一个关于kettle数据分流处理非常重要的组件Switch / Case 。当我们的数据来源于类似日志、csv文件等半结构化数据时&#xff0c;我们需要在…...

MySQL下载与安装

MySQL下载与安装 一、下载 地址&#xff1a;https://dev.mysql.com/downloads/mysql/ 当前最新是8.0版本&#xff0c;我选择上一个最新的mysql-5.7.24-winx64.zip 二、安装 MySQL安装文件分两种 .msi和.zip &#xff0c;.msi需要安装 zip格式是自己解压&#xff0c;解压缩之后…...

c++基础2

文件操作 程序运行时产生的数据属于临时数据&#xff0c;程序一旦运行结束都会被释放 通过文件可以将数据持久化 c中对文件操作需要包含 文件类型分为两种 文本文件&#xff1a;文件以ASCII码形式存储在计算机中二进制文件&#xff1a;文件以文本的二进制存储在计算机中&a…...

虚拟机VMware,linux,centos,如何将项目部署到服务器上面

vmware 是安装虚拟机的软件&#xff0c;centos是系统&#xff0c;linux是系统内核 将本地项目上线到服务器上面&#xff0c;如何实现呢&#xff1f; 准备好服务器&#xff0c;可以选择阿里云服务器 首先需要搭建环境&#xff0c;运行的主要环境是jdktomcatmysql; 通过远程连接…...

R语言 BPNN 反向传播神经网络

##BPNN-neuronet set.seed(123) folds <- createFolds(y=data$Groups,k=10) 建一个放auc值的空向量 auc<-as.numeric() Errorrate<-as.numeric() accuracy<-as.numeric() sensitivity<-as.numeric() specificity<-as.numeric() roc <- vector("li…...

回归预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 ![6 基本介绍 1.MATLAB实现TCN-BiGRU时间卷积双向门控循…...

Qt使用QPixmap类和QScreen类来实现简单截图功能

在Qt中&#xff0c;可以使用QPixmap类和QScreen类来实现截图功能。 以下是一个简单的示例代码&#xff0c;演示了如何在Qt中进行截图&#xff1a; #include <QtWidgets>void captureScreen() {// 获取屏幕对象QScreen *screen QGuiApplication::primaryScreen();// 截…...

【【51单片机LCD1602模块介绍】】

LCD1602的介绍 显示容量16x2 每个字符是5x7的点阵 VDD 是电源正极 4.5-5.5v VO 是对比度调节电压 RS 数据/指令 选择 1为数据0为指令 RW 读写选择1是读 0为写 E 使能 1为数据有效 下降沿执行命令 D0-D7 数据输入输出 A 背光电源正极 K 背光电源负极 LCD1602的操作流程 1.初始…...

【Nginx11】Nginx学习:HTTP核心模块(八)文件处理

Nginx学习&#xff1a;HTTP核心模块&#xff08;八&#xff09;文件处理 继续我们的 HTTP 核心模块之旅。今天主要是文件相关的一些处理操作&#xff0c;包括 DirectIO、文件缓存以及 sendfile 相关的配置。这三个配置中&#xff0c;大家应该会见过 sendfile &#xff0c;但是另…...

STM32MP157驱动开发——按键驱动(休眠与唤醒)

文章目录 “休眠-唤醒”机制&#xff1a;APP执行过程内核函数休眠函数唤醒函数 休眠与唤醒方式的按键驱动程序(stm32mp157)驱动程序框架button_test.cgpio_key_drv.cMakefile修改设备树文件编译测试 “休眠-唤醒”机制&#xff1a; 当应用程序必须等待某个事件发生&#xff0c…...

全面解析 SOCKS5 代理与 HTTP 代理的对比与应用

一、 SOCKS5 代理与 HTTP 代理的基本原理 SOCKS5 代理&#xff1a;SOCKS5 是一种网络协议&#xff0c;它可以在传输层&#xff08;Transport Layer&#xff09;代理 TCP 和 UDP 请求。SOCKS5 代理不解析请求内容&#xff0c;而是直接将数据中转至目标服务器&#xff0c;支持更广…...

STM32 HEX文件和BIN文件格式区别keil中的配置与生成

一、区别 HEX 文件: 是包括地址信息的,在烧写或下载HEX文件的时候,一般都不需要用户指定地址,因为HEX文件内部的信息已经包括了地址。HEX文件是用ASCII来表示二进制的数值。例如一般8-BIT的二进制数值0x3F,用ASCII来表示就需要分别表示字符3和字符F,每个字符需要一个BYTE…...

RabbitMQ优先级队列的使用

RabbitMQ优先级队列的使用 生产者 public class PriorityQueue {public static void Send(){string path AppDomain.CurrentDomain.BaseDirectory;string tag path.Split(/, \\).Last(s > !string.IsNullOrEmpty(s));Console.WriteLine($"这里是 {tag} 启动了。。&…...

MAC 推送证书不受信任

配置推送证书的时候&#xff0c;一打开就变成不受信任&#xff0c;搜了很多解决版本。 由于苹果修改相关规定&#xff0c;推送证书 打开Apple PKI - Apple 下载AppleWWDRCA文件&#xff0c;选择G4,双击安装之后&#xff0c;证书已经变为受信任。 AppleWWDRCA(Apple Worldwid…...

Gitee创建分支

在使用Gitee进行代码托管时&#xff0c;分支是一个非常重要的概念。它可以让我们在不同的开发阶段、不同的团队成员之间协作开发&#xff0c;提高团队工作效率。因此&#xff0c;下面将介绍如何在Gitee仓库中建立分支。 一、在Gitee上创建新的分支 在讲解如何在Gitee上创建新…...

告别Transformer的O(n²)烦恼:手把手带你用Mamba搭建一个长文本摘要Demo

突破长文本处理瓶颈&#xff1a;基于Mamba的高效摘要系统实战指南 当面对动辄数万字的学术论文、企业年报或用户反馈文档时&#xff0c;传统Transformer模型的内存消耗会随着文本长度呈平方级增长。我曾在一个金融数据分析项目中亲历过这种困境——当输入文档超过5000字时&…...

CS61A Week1-2 Hog项目实战:手把手教你用Python写一个骰子游戏(附完整代码)

CS61A Hog项目实战&#xff1a;用Python构建骰子游戏的完整指南 1. 项目介绍与环境准备 Hog是加州大学伯克利分校CS61A课程中的经典Python项目&#xff0c;它不仅仅是一个简单的骰子游戏&#xff0c;更是初学者掌握Python基础语法的完美实践平台。这个项目将帮助你巩固变量、函…...

Tsuru日志聚合性能优化:10个提升吞吐量与降低延迟的终极技巧

Tsuru日志聚合性能优化&#xff1a;10个提升吞吐量与降低延迟的终极技巧 【免费下载链接】tsuru Open source and extensible Platform as a Service (PaaS). 项目地址: https://gitcode.com/gh_mirrors/ts/tsuru Tsuru作为开源且可扩展的Platform as a Service (PaaS)平…...

HiFloat8高效训推技术报告(2):HiFloat8高效低比特推理

1. 低比特推理背景知识深度学习模型在训练和推理阶段通常使用 FP32 (32位浮点数) 或 BF16/FP16 (16位浮点数) 格式。然而&#xff0c;随着模型规模的不断增大&#xff08;尤其是大型语言模型 LLM&#xff09;&#xff0c;对计算效率、显存占用和能耗的要求也越来越高。低比特推…...

Whisper JAX终极错误排查手册:10个常见问题与快速解决方案 ⚡️

Whisper JAX终极错误排查手册&#xff1a;10个常见问题与快速解决方案 ⚡️ 【免费下载链接】whisper-jax JAX implementation of OpenAIs Whisper model for up to 70x speed-up on TPU. 项目地址: https://gitcode.com/gh_mirrors/wh/whisper-jax Whisper JAX是基于JA…...

Adobe Illustrator 2026 v30(AI2026)安装教程及下载

我用夸克网盘给你分享了「矢量绘图Adob...已激活版」&#xff0c;点击链接或复制整段内容&#xff0c;打开「夸克APP」即可获取。筷莱蜴蝮鰉鰗鰘夺郝/~b12b3Y1kyM~:/链接&#xff1a;https://pan.quark.cn/s/38566e6aec26Adobe矢量绘图软件Adobe Illustrator 2026(AI2026)是一款…...

2026年10款高效AI写小说软件全面测评,快速解决卡文与大纲难题(含实测体验)

经常有新人问我&#xff1a;现在ai写小说到底靠不靠谱&#xff1f;是不是生成的都是没有感情的机器味&#xff1f; 说实话&#xff0c;前两年我觉得不行&#xff0c;但到了2026年&#xff0c;如果你还不会用AI辅助&#xff0c;真的会比别人慢半个身位。从灵感枯竭到大纲崩坏&a…...

如何高效提取PDF表格数据?Tabula的非典型使用指南

如何高效提取PDF表格数据&#xff1f;Tabula的非典型使用指南 【免费下载链接】tabula Tabula is a tool for liberating data tables trapped inside PDF files 项目地址: https://gitcode.com/gh_mirrors/ta/tabula 在数字化办公中&#xff0c;PDF文件常被用作数据交换…...

OpCore-Simplify智能配置工具:让系统环境适配不再复杂

OpCore-Simplify智能配置工具&#xff1a;让系统环境适配不再复杂 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 当技术爱好者小张第三次尝试配置系统…...

3步搞定智能字幕下载:GetSubtitles让观影体验再升级

3步搞定智能字幕下载&#xff1a;GetSubtitles让观影体验再升级 【免费下载链接】GetSubtitles 一步下载匹配字幕 项目地址: https://gitcode.com/gh_mirrors/ge/GetSubtitles 您是否曾因找不到匹配的字幕而放弃观看一部精彩的外语影片&#xff1f;GetSubtitles作为一款…...