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

Linux离线安装elasticsearch|header|kibna插件最详细

1.准备软件安装包

[hadoop@host152 elasticsearch]$ ll
-rw-r--r--. 1 hadoop hadoop 515807354 9月  23 23:40 elasticsearch-8.1.1-linux-x86_64.tar.gz
-rw-r--r--. 1 hadoop hadoop   1295593 9月  23 23:48 elasticsearch-head-master.tar.gz
-rw-r--r--. 1 hadoop hadoop 269733374 9月  23 23:46 kibana-8.1.1-linux-x86_64.tar.gz
-rw-r--r--. 1 hadoop hadoop  22290256 9月  21 17:47 node-v16.3.0-linux-x64.tar.xz

百度云链接:https://pan.baidu.com/s/1BN80_GIw4k9Vd9u-x_RSxg 
提取码:ujph

2.安装elasticsearch-8.1.1

2.1解压安装包

[hadoop@host152 elasticsearch]$ tar -xvf elasticsearch-8.1.1-linux-x86_64.tar.gz

2.2修改配置文件

[hadoop@host152 elasticsearch]$ cd elasticsearch-8.1.1/
[hadoop@host152 elasticsearch-8.1.1]$ cd config/
[hadoop@host152 config]$ vim elasticsearch.yml
cluster.name: my-es8.1.1
node.name: node-1
network.host: 192.168.72.152
http.port: 9200

2.3启动elasticsearch-8.1.1

[hadoop@host152 bin]$ ./elasticsearch -d

2.4启动报错常见问题

ERROR: [2] bootstrap checks failed. You must address the points described in the following [2] lines before starting Elasticsearch.
bootstrap check failure [1] of [2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /home/hadoop/opensource/elasticsearch/elasticsearch-8.1.1/logs/elasticsearch.log

        说上述有两个错误,第一个是说elasticsearch进程为4096太小,请调整为至少65535,解决办法切换root用户在limits.conf末尾添加文件如下(此配置修改后需要退出重新登陆才生效):

[root@host152 ~]# vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 65535
* hard nproc 65535

        另一个错误是说elasticsearch用户拥有的内存权限太小,至少需要262144,解决办法也是切换root用户修改sysctl.conf,添加内容如下:
[root@host152 ~]# vim /etc/sysctl.conf
vm.max_map_count=262144

刷新系统配置即可
[root@host152 ~]# sysctl -p
vm.max_map_count = 262144

2.5再次启动elasticsearch

[hadoop@host152 bin]$ ./elasticsearch  >elasticsearch.log &

启动没报错,但是访问不能成功,把安全关闭,es8默认开启了此开关
xpack.security.enabled: false
xpack.security.enrollment.enabled: false

修改上述配置再重启,即可访问成功
[hadoop@host152 elasticsearch-8.1.1]$ curl 192.168.72.152:9200
{
  "name" : "node-1",
  "cluster_name" : "my-es8.1.1",
  "cluster_uuid" : "a2A4dXZhT6OlJ4Cbao2FPA",
  "version" : {
    "number" : "8.1.1",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "d0925dd6f22e07b935750420a3155db6e5c58381",
    "build_date" : "2022-03-17T22:01:32.658689558Z",
    "build_snapshot" : false,
    "lucene_version" : "9.0.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

2.6本地浏览器访问

输入访问地址http://192.168.72.152:9200/

若果不能访问,请检查防火墙

查看状态
[root@host152 ~]# firewall-cmd --state
running

关闭防火墙
[root@host152 ~]# systemctl stop firewalld.service

禁止开机启动
[root@host152 ~]# systemctl disable firewalld.service

3.安装node

3.1检查服务是否已经安装node

[root@host152 ~]# node -v
bash: node: 未找到命令...
[root@host152 ~]# npm -v
bash: npm: 未找到命令...

3.2安装node

解压node
[hadoop@host152 elasticsearch]$ tar -xvf node-v16.3.0-linux-x64.tar.xz

切换到用户的根目录
[hadoop@host152 node-v16.3.0-linux-x64]$ cd
[hadoop@host152 ~]$ ll -a
[hadoop@host152 ~]$ more .bashrc

修改用户.bashrc,添加node环境变量只给当前用户
[hadoop@host152 ~]$ cd 
[hadoop@host152 ~]$ echo 'export JAVA_HOME=/usr/local/jdk1.8.0' >> .bashrc
[hadoop@host152 ~]$ echo 'export NODE_HOME=/home/hadoop/opensource/elasticsearch/node-v16.3.0-linux-x64' >> .bashrc
[hadoop@host152 ~]$ echo 'export NODE_PATH=$NODE_HOME/lib/node_modules' >> .bashrc
[hadoop@host152 ~]$ echo 'export PATH=$JAVA_HOME/bin:$NODE_HOME/bin:$PATH' >> .bashrc
[hadoop@host152 ~]$ source .bashrc
[hadoop@host152 ~]$ npm -v
7.15.1
[hadoop@host152 ~]$ node -v
v16.3.0

4.离线安装grunt

安装grunt之前必须安装node,即grunt依赖node环境,在线安装node如下
[root@host151 ~]#curl -sL https://rpm.nodesource.com/setup_8.x | bash -
[root@host151 ~]#yum install -y nodejs

4.1安装grunt

先找一台联网的机器,全局安装grunt-cli客户端
[root@host151 lib]# npm install -g grunt-cli
[root@host151 lib]# grunt -version
grunt-cli v1.4.3

此时只能执行grunt --version和grunt --completion两个命令,如果执行grunt --help,则会报错如下:
grunt-cli: The grunt command line interface (v1.3.2)
If you're seeing this message, grunt hasn't been installed locally to
your project. For more information about installing and configuring grunt,
please see the Getting Started guide:
https://gruntjs.com/getting-started

再安装局部grunt
[root@host151 lib]#npm install grunt
[root@host151 elasticsearch-head-master]$ grunt --version
grunt-cli v1.4.3
grunt v1.6.1

为了防止后面运行es-heaer报下出错误:
>> Local Npm module "grunt-contrib-concat" not found. Is it installed?
>> Local Npm module "grunt-contrib-watch" not found. Is it installed?
>> Local Npm module "grunt-contrib-connect" not found. Is it installed?
>> Local Npm module "grunt-contrib-copy" not found. Is it installed?
>> Local Npm module "grunt-contrib-jasmine" not found. Is it installed?

还应该提前安装的模块如下:
[root@host151 lib]#npm install grunt-contrib-clean --registry=https://registry.npm.taobao.org
[root@host151 lib]#npm install grunt-contrib-concat --registry=https://registry.npm.taobao.org
[root@host151 lib]#npm install grunt-contrib-watch --registry=https://registry.npm.taobao.org
[root@host151 lib]#npm install grunt-contrib-connect --registry=https://registry.npm.taobao.org
[root@host151 lib]#npm install grunt-contrib-copy --registry=https://registry.npm.taobao.org
[root@host151 lib]#npm install grunt-contrib-jasmine --registry=https://registry.npm.taobao.org

找到grunt-cli安装目录node_modules目录
[root@host151 lib]# which grunt
/bin/grunt
[root@host151 lib]# ll /bin/grunt
lrwxrwxrwx. 1 root root 35 9月  24 12:21 /bin/grunt -> ../lib/node_modules/grunt/bin/grunt
[root@host151 lib]# 

打包ftp上传或者scp到对应内网机器,这里是152作为内网机器为例
[root@host151 node_modules]# scp -r node_modules hadoop@192.168.72.152:/home/hadoop/opensource/elasticsearch

登陆152机器,找到bin目录,测试grunt是否移植成功,若出现版本号即可
[hadoop@host152 elasticsearch]$ cd grunt-cli
[hadoop@host152 grunt-cli]$ ll
总用量 16
drwxr-xr-x.  2 hadoop hadoop   19 9月  24 11:10 bin
-rw-r--r--.  1 hadoop hadoop 1267 9月  24 11:10 CHANGELOG.md
drwxr-xr-x.  2 hadoop hadoop   29 9月  24 11:10 completion
drwxr-xr-x.  2 hadoop hadoop   42 9月  24 11:10 lib
drwxr-xr-x. 61 hadoop hadoop 4096 9月  24 11:10 node_modules
-rw-r--r--.  1 hadoop hadoop 1662 9月  24 11:10 package.json
-rw-r--r--.  1 hadoop hadoop 1731 9月  24 11:10 README.md
[hadoop@host152 grunt-cli]$ cd bin
[hadoop@host152 bin]$ ./grunt --version
grunt-cli v1.4.3
grunt v1.6.1

4.2配置grunt的全局环境变量,配置grunt-cli的即可

切换到用户目录,修改用户环境变量.bashrc,注释原来的PATH,复制后保存
[hadoop@host152 ~]$ vim .bashrc
export GRUNT_CLIENT_HOME=/home/hadoop/opensource/elasticsearch/node_modules/grunt-cli
export GRUNT_PATH=$GRUNT_CLIENT_HOME/lib/node_modules
export PATH=$JAVA_HOME/bin:$NODE_HOME/bin:$GRUNT_CLIENT_HOME/bin:$PATH
[hadoop@host152 ~]$ source .bashrc
[hadoop@host152 ~]# grunt --version
grunt-cli v1.4.3
grunt v1.6.1

配置文件最终修改如下:

5.安装header插件

5.1解压安装elasticsearch-head安装包

[hadoop@host152 elasticsearch]$ tar -xvf elasticsearch-head-master.tar.gz

修改Gruntfile.js配置文件,增加hostname: '*' 属性
[hadoop@host152 elasticsearch]$ cd elasticsearch-head-master
[hadoop@host152 elasticsearch-head-master]$ vim Gruntfile.js

修改app.js,设置访问elastic-header地址,搜索关键字localhost,修改为访问ES的http地址
[hadoop@host152 elasticsearch-head-master]$ cd _site/
[hadoop@host152 _site]$ vim app.js 

编写启动header的脚本
[hadoop@host152 elasticsearch-head-master]$ touch start.sh
[hadoop@host152 elasticsearch-head-master]$ vim start.sh 
[hadoop@host152 elasticsearch-head-master]$ more start.sh 
grunt server &
[hadoop@host152 elasticsearch-head-master]$ sh start.sh 
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100

5.2停止grunt任务

[hadoop@host152 elasticsearch-head-master]$ lsof -i:9100
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
grunt   18727 hadoop   21u  IPv6  76547      0t0  TCP *:jetdirect (LISTEN)
[hadoop@host152 elasticsearch-head-master]$ kill -9 18727

5.3修改ES的配置文件并重启访问header

上述发现还是不能访问,请修改elasticsearch.yml添加配置如下
[hadoop@host152 config]$ vim elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"

6.kibana安装

6.1解压安装kibana

解压,并修改配置文件
[hadoop@host152 elasticsearch]$ tar -xvf kibana-8.1.1-linux-x86_64.tar.gz
[hadoop@host152 config]$ vim kibana.yml 
server.port: 5601
server.host: 192.168.72.152
elasticsearch.hosts: ["http://192.168.72.152:9200"]

编写启动脚本
[hadoop@host152 kibana-8.1.1]$ touch start.sh
[hadoop@host152 kibana-8.1.1]$ vim start.sh 
./bin/kibana > start.log &
[hadoop@host152 kibana-8.1.1]$ chmod 755 start.sh 
[hadoop@host152 kibana-8.1.1]$ sh start.sh 

安装启动成功,访问默认端口http://192.168.72.152:5601/

6.2kibana使用

相关文章:

Linux离线安装elasticsearch|header|kibna插件最详细

1.准备软件安装包 [hadoophost152 elasticsearch]$ ll -rw-r--r--. 1 hadoop hadoop 515807354 9月 23 23:40 elasticsearch-8.1.1-linux-x86_64.tar.gz -rw-r--r--. 1 hadoop hadoop 1295593 9月 23 23:48 elasticsearch-head-master.tar.gz -rw-r--r--. 1 hadoop hadoop…...

网络协议学习地图分享

最近在回顾网络知识点的时候,发现华为数通有关报文格式及网络协议地图神仙网站,这里涵盖了各个协议层及每个协议层对应的协议内容,最人性的化的一点是点击每个单独的协议可以跳转到该协议详细报文格式页面,有对应的说明和解释&…...

nlohmann/json——NLOHMANN_JSON_SERIALIZE_ENUM

目录 源码如下: 源码分析: 使用示例: 源码如下: /*! brief macro to briefly define a mapping between an enum and JSON def NLOHMANN_JSON_SERIALIZE_ENUM since version 3.4.0 */ #define NLOHMANN_JSON_SERIALIZE_ENUM(EN…...

类和对象:运算符重载

本篇文章来介绍一下C中的运算符重载,以及与运算符重载有关的三个默认默认成员函数:赋值运算符重载,普通对象取地址与const对象取地址操作符重载,也就是下面图片中6个默认成员函数的后三个,前三个默认成员函数在之前文章…...

Vue中使用VueAMap

npm 安装 npm install vue-amap --save注册:高德地图 // 在main.js中注册:高德地图 import VueAMap from "vue-amap"; Vue.use(VueAMap); VueAMap.initAMapApiLoader({key: "你的高德key",plugin: ["AMap.AutoComplete", //输入提示插件"A…...

Vue中的路由介绍以及Node.js的使用

🏅我是默,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《Vue》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,这个专栏…...

将本地项目上传至Github详解

目录 1 前言2 本地代码上传2.1 命令行方法2.2 图形界面法2.3 结果 1 前言 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub 。开发者常常将github作为代码管理平台,方便代码存储、版本…...

Vivado下PLL实验

文章目录 前言一、CMT(时钟管理单元)1、CMT 简介2、FPGA CMT 框图3、MMCM 框图4、PLL 框图 二、创建工程1、创建工程2、PLL IP 核配置3、进行例化 三、进行仿真1、创建仿真文件2、进行仿真设置3、进行行为级仿真 四、硬件验证1、引脚绑定2、生成比特流文…...

简单理解推挽输出和开漏输出

推挽输出原理图: 特点: 1、INT1时,OUTVDD;INT0时,OUTGND。 2、推挽输出的两种输出状态,一种是PMOS管S级端的电压VDD,一种是NMOS管S端的地GND。 开漏输出原理图: 特点: …...

C++之va_start、vasprintf、va_end应用总结(二百二十六)

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

OpenCV自学笔记十一:形态学操作(一)

目录 1、腐蚀 2、膨胀 3、通用形态学函数 4、开运算 5、闭运算 1、腐蚀 腐蚀(Erosion)是数字图像处理中的一种形态学操作,用于消除图像中边界附近的细小区域或缩小对象的大小。腐蚀操作通过卷积输入图像与结构元素(也称为腐…...

封装全局异常处理

文章目录 1 定义错误码类2 定义业务异常类3 全局异常处理器4 使用5 前端请求效果总结 1 定义错误码类 ​ 可以定义各种错误码枚举,比如业务,系统相关的报错信息 /*** 错误代码* 错误码** author leovany* date 2023/09/23*/ public enum ErrorCode {SU…...

python的requests响应请求,结果乱码,即使设置了response.encoding也没有用的解决方法

一、问题 如图: 一般出现乱码,我们会有三种解决方式,如下但是图中解决了发现还是不行, response.encodingresponse.apparent_encoding通过看网页源码对response.encodingutf8指定编码格式或者直接通过response.content.decode()来获得源码 出…...

PyCharm 手动下载插件

插件模块一直加载失败,报错信息: Marketplace plugins are not loaded. Check the internet connection and refresh. 尝试了以下方法,均告失败: pip 换源Manage Plugin Repositories...HTTP 代理设置...关闭三个防火墙 最后选…...

Gnomon绑定基础(约束 IK 节点)

点约束 方向约束 父约束 目标约束 修改后 对象方向 IK控制柄 直的骨骼,指定IK怎么弯曲 直的骨骼,指定IK怎么弯曲 样条曲线 数学节点 乘除节点 混合节点 注意...

STL常用遍历,查找,算法

目录 1.遍历算法 1.1for_earch 1.2transform 2.常用查找算法 2.1find,返回值是迭代器 2.1.1查找内置数据类型 2.1.2查找自定义数据类型 2.2fin_if 按条件查找元素 2.2.1查找内置的数据类型 2.2.2查找内置数据类型 2.3查找相邻元素adjeacent_find 2.4查找指…...

BCC源码内容概览(1)

接前一篇文章:BCC源码编译和安装 本文参考官网中的Contents部分的介绍。 BCC源码根目录的文件,其中一些是同时包含C和Python的单个文件,另一些是.c和.py的成对文件,还有一些是目录。 跟踪(Tracing) exam…...

mysql限制用户登录失败次数,限制时间

mysql用户登录限制设置 mysql 需要进行用户登录次数限制,当使用密码登录超过 3 次认证链接失败之后,登录锁住一段时间,禁止登录这里使用的 mysql: 8.1.0 这种方式不用重启数据库. 配置: 首先进入到 mysql 命令行:然后需要安装两个插件: 在 mysql 命令行中执行: mysql> INS…...

从利用Arthas排查线上Fastjson问题到Java动态字节码技术(下)

上一篇从Arthas的源码引出了Java动态字节码技术,那么这一篇就从几种Java字节码技术出发,看看Arthas是如何通过动态字节码技术做到无侵入的源码增强; Java大部分情况下都是解释执行的,也就是解释.class文件,所以如果我们…...

Ubuntu中安装Anaconda 如何将 路径导入为全局变量

第一步:将你的anaconda 路径复制下来,在终端输入对应路径。 echo export PATH"/home/你的用户名/anaconda3/bin:$PATH" >> ~/.bashrc 第二步:在终端输入下面命令或者重启系统。 source ~/.bashrc 在对应的anaconda安装目…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...

深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙

WebGL&#xff1a;在浏览器中解锁3D世界的魔法钥匙 引言&#xff1a;网页的边界正在消失 在数字化浪潮的推动下&#xff0c;网页早已不再是静态信息的展示窗口。如今&#xff0c;我们可以在浏览器中体验逼真的3D游戏、交互式数据可视化、虚拟实验室&#xff0c;甚至沉浸式的V…...

未授权访问事件频发,我们应当如何应对?

在当下&#xff0c;数据已成为企业和组织的核心资产&#xff0c;是推动业务发展、决策制定以及创新的关键驱动力。然而&#xff0c;未授权访问这一隐匿的安全威胁&#xff0c;正如同高悬的达摩克利斯之剑&#xff0c;时刻威胁着数据的安全&#xff0c;一旦触发&#xff0c;便可…...

轻量安全的密码管理工具Vaultwarden

一、Vaultwarden概述 Vaultwarden主要作用是提供一个自托管的密码管理器服务。它是Bitwarden密码管理器的第三方轻量版&#xff0c;由国外开发者在Bitwarden的基础上&#xff0c;采用Rust语言重写而成。 &#xff08;一&#xff09;Vaultwarden镜像的作用及特点 轻量级与高性…...