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使用

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

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

相关文章

SSRF漏洞

Server-Side Request Forgery:服务器端请求伪造 目标:网站的内部系统 形成的原因 攻击者构造形成由服务器端发起请求的译者安全漏洞。 由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内…

Mybatis-分页插件

Mybatis-分页插件 前言一、分页插件的使用步骤1.添加依赖2.配置分页插件3. 分页插件的使用 前言 可以通过分页插件在实现以下前端样式时更加方便: 首页 上一页 2 3 4 5 6 下一页 末页 limit index,pageSize pageSize:每页显示的条数 pageNum&#xff…

RASP初识

需要了解的东西. 是什么 拦截日志:rasp/logs/alarm/alarm.log RASP(Runtime application self-protection)运行时应用自我保护。 官方英译应用程序不应将大部分运行时保护委托给外部设备。应用程序应该能够自我保护(即&#xf…

如何进行销售漏斗管理?

本文将为大家讲解:如何进行销售漏斗管理? 销售漏斗管理是现代销售管理的核心概念之一。它将销售过程分解为一系列阶段,从而帮助销售团队更有效地跟踪和管理潜在客户。本文将深入探讨销售漏斗管理的方法,并结合简道云CRM的实际应用…

LeetCode 494.目标和 (动态规划 + 性能优化)二维数组 压缩成 一维数组

494. 目标和 - 力扣(LeetCode) 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums [2, 1] ,可以在 2…

Java中如何将String类型的2023年09月21日这个值变成DATE相关的类型

Java中如何将String类型的2023年09月21日这个值变成DATE 可以通过使用Java中的SimpleDateFormat类完成。以下是一个例子: import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.Date;public class Main {public static void ma…

Linux动态库

定义:动态函数库,是在程序执行时动态(临时)由目标程序去调用 优点: 调用时不复制,程序运行时动态加载到内存,供程序调用,系统只加载一次,多个程序可以共用,…

大厂面试之算法篇

目录 前言 算法对于前端来说重要吗? 期待你的答案 算法 如何学习算法 算法基础知识 时间复杂度 空间复杂度 前端 数据结构 数组 最长递增子序列 买卖股票问题 买卖股票之交易明细 硬币找零问题 数组拼接最小值 奇偶排序 两数之和 三数之和 四数之…

9.19号作业

2> 完成文本编辑器的保存工作 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QFontDialog> #include <QFont> #include <QMessageBox> #include <QDebug> #include <QColorDialog> #include <QColor&g…

Python 打印素数

"""打印素数介绍&#xff1a;素数是指只有两个正因数&#xff08;1和它本身&#xff09;的自然数&#xff0c;而且必须大于1。例如&#xff1a;2、3、5、7、11、13、17、19、23、29等等都是素数。小于2的数不是素数&#xff0c;因为它没有两个正因数。例如&…

对话ChatGPT:AIGC时代下,分布式存储的应用与前景

随着科技的飞速发展&#xff0c;我们正步入一个被称为AIGC时代的全新阶段&#xff0c;人工智能、物联网、大数据、云计算成为这个信息爆炸时代的主要特征。自2022年11月以来&#xff0c;ChatGPT的知名度迅速攀升&#xff0c;引发了全球科技爱好者的极大关注&#xff0c;其高超的…

java框架-Springboot3-web开发

文章目录 自动配置默认效果WebMvcAutoConfigurationWebMvcConfigurer接口静态资源访问首页Favicon缓存 自定义静态资源路径1、配置方式2、代码方式 路径匹配规则内容协商默认支持json配置支持xml内容协商原理自定义支持ymal 模板引擎模板引擎Thymeleaf整合基础语法遍历判断属性…

静态资源的动态引入

有常用的2种方式&#xff1a; 1、css中的静态路径 2、img中的src静态路径 运行的环境是打包后的图片路径&#xff0c;而打包后的图片通常会生成一个文件指纹&#xff0c;而我们在写代码时&#xff0c;写的是源码中的路径和文件名&#xff0c;如果是静态路径&#xff0c;则会自动…

升级iOS17后可以降级吗?iOS17退回iOS16方法教程分享

iOS 17已上线几天&#xff0c;从网上用户的反馈和媒体机构的报告来看&#xff0c;iOS17系统对旧机型来说并不友好&#xff0c;除了电池续航下降以外&#xff0c;占用大量储存空间&#xff0c;BUG也不少。 苹果于 9 月 7 日发布了 iOS 16.6.1 版本&#xff0c;如果升级iOS17后发…

What is the difference between Parseval‘s theorem and Plancherel Theorem

Plancherel定理是调和分析里的一个结论, 最早由Michel Plancherel证明, 其可表述为 对同时属于 L 1 ( R ) L^{1}(R) L1(R) 和 L 2 ( R ) L^{2}(R) L2(R) 的函数f来说,其傅立叶变换F属于 L 2 ( R ) L^{2}(R) L2(R) ,且傅立叶变换是等距变换.数学表述为&#xff1a; ∥ f ^ ∥ 2…

正确生成hashCode和equals方法,以及联合Map,set集合达到去重目的

Idea自动生成HashCode和equals视频链接 https://live.csdn.net/v/330419实体类 对name和age两个属性重写hashCode&#xff0c;equals方法 package TestEqualsHashCode; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok…

使用命令行快速创建Vite项目

一、构建项目 在终端中使用如下命令行&#xff1a; npm create vite 二、定义项目名称 三、选择项目类型 Vanilla是我们常用的JavaScript&#xff0c;Vue和React是常用前端框架&#xff0c;可以根据自己的需要进行选择 通过上下键进行选择&#xff0c;按下回车进行确认 创建…

Python中使用EMD(经验模态分解)

在Python中使用EMD&#xff08;经验模态分解&#xff09;进行信号分解时&#xff0c;通常可以设置信号分解的数目。EMD算法的目标是将信号分解成多个称为“本征模态函数”&#xff08;Intrinsic Mode Functions&#xff0c;简称IMF&#xff09;的成分&#xff0c;每个IMF都代表…

2023/09/20 day4 qt

做一个动态指针钟表 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPainter> //绘制事件类 #include <QPaintEvent> //画家类 #include <QTime> #include <QTimer> #include <QTimerEvent> QT_BEGIN…

简单而经典:Java中的冒泡排序算法详解

当谈到简单的排序算法时&#xff0c;冒泡排序&#xff08;Bubble Sort&#xff09;通常是其中之一。虽然它不是最高效的排序算法之一&#xff0c;但它的简单性和易于理解使它成为学习排序算法的良好起点。在本文中&#xff0c;我们将详细介绍Java中的冒泡排序。 冒泡排序的基本…