ElasticSearch启动流程指令及注意事项

2023-11-04

elasticsearch

es的集群部署
第一步:创建普通用户
注意:ES不能使用root用户来启动,必须使用普通用户来安装启动。这里我们创建一个普通用户以及定义一些常规目录用于存放我们的数据文件以及安装包等
创建一个es专门的用户(必须)
#使用root用户在三台机器执行以下命令

useradd es 
mkdir -p /export/servers/es
chown -R es /export/servers/es
passwd es

第二步:为普通用户es添加sudo权限
为了让普通用户有更大的操作权限,我们一般都会给普通用户设置sudo权限,方便普通用户的操作
三台机器使用root用户执行visudo命令然后为es用户添加权限

visudo
es      ALL=(ALL)       ALL

第三步:下载并上传压缩包,然后解压
将es的安装包下载并上传到node01服务器的/home/es路径下,然后进行解压
使用es用户来执行以下操作(断开连接linux的工具,然后重新使用es用户连接上三台linux服务器)
node01服务器使用es用户执行以下命令

cd /home/es/
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz
tar -zxf elasticsearch-6.7.0.tar.gz -C /export/servers/es/

第四步:修改配置文件
修改elasticsearch.yml
node01服务器使用es用户来修改配置文件

cd /export/servers/es/elasticsearch-6.7.0/config
mkdir -p /export/servers/es/elasticsearch-6.7.0/logs
mkdir -p /export/servers/es/elasticsearch-6.7.0/datas
rm -rf elasticsearch.yml
vim elasticsearch.yml

cluster.name: myes
node.name: node01
path.data: /export/servers/es/elasticsearch-6.7.0/datas
path.logs: /export/servers/es/elasticsearch-6.7.0/logs
network.host: 192.168.52.100
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node01", "node02", "node03"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"

修改jvm.option
修改jvm.option配置文件,调整jvm堆内存大小
node01使用es用户执行以下命令调整jvm堆内存大小,每个人根据自己服务器的内存大小来进行调整

cd /export/servers/es/elasticsearch-6.7.0/config
vim jvm.options
-Xms2g
-Xmx2g

第五步:将安装包分发到其他服务器上面
node01使用es用户将安装包分发到其他服务器上面去

cd /export/servers/es/
scp -r elasticsearch-6.7.0/ node02:$PWD
scp -r elasticsearch-6.7.0/ node03:$PWD

第六步:node02与node03修改es配置文件
node02与node03也需要修改es配置文件
node02使用es用户执行以下命令修改es配置文件

cd /export/servers/es/elasticsearch-6.7.0/config

vim elasticsearch.yml

cluster.name: myes
node.name: node02
path.data: /export/servers/es/elasticsearch-6.7.0/datas
path.logs: /export/servers/es/elasticsearch-6.7.0/logs
network.host: 192.168.52.110
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node01", "node02", "node03"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"

node03使用es用户执行以下命令修改配置文件

cd /export/servers/es/elasticsearch-6.0.0/config/
vim elasticsearch.yml
cluster.name: myes
node.name: node03
path.data: /export/servers/es/elasticsearch-6.7.0/datas
path.logs: /export/servers/es/elasticsearch-6.7.0/logs
network.host: 192.168.52.120
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node01", "node02", "node03"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"

第七步:修改系统配置,解决启动时候的问题
由于现在使用普通用户来安装es服务,且es服务对服务器的资源要求比较多,包括内存大小,线程数等。所以我们需要给普通用户解开资源的束缚
解决启动问题一:普通用户打开文件的最大数限制
问题错误信息描述:

max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错
三台机器使用es用户执行以下命令解除打开文件数据的限制
sudo vi /etc/security/limits.conf
添加如下内容: 注意*不要去掉了

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

解决启动问题二:普通用户启动线程数限制
问题错误信息描述

max number of threads [1024] for user [es] likely too low, increase to at least [4096]

修改普通用户可以创建的最大线程数

max number of threads [1024] for user [es] likely too low, increase to at least [4096]

原因:无法创建本地线程问题,用户最大可创建线程数太小
解决方案:修改90-nproc.conf 配置文件。
三台机器使用es用户执行以下命令修改配置文件

sudo vi /etc/security/limits.d/90-nproc.conf

找到如下内容:

  • soft nproc 1024
    #修改为
  • soft nproc 4096

解决启动问题三:普通用户调大虚拟内存
错误信息描述:

max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

调大系统的虚拟内存
原因:最大虚拟内存太小
每次启动机器都手动执行下。
三台机器执行以下命令,注意每次启动ES之前都要执行

sudo  sysctl -w vm.max_map_count=262144                              

备注:以上三个问题解决完成之后,重新连接secureCRT或者重新连接xshell生效
需要保存、退出、重新登录xshell才可生效。

第八步:启动ES服务

三台机器使用es用户执行以下命令启动es服务

nohup /export/servers/es/elasticsearch-6.7.0/bin/elasticsearch 2>&1 &

启动成功之后jsp即可看到es的服务进程,并且访问页面
http://node01:9200/?pretty
能够看到es启动之后的一些信息
注意:如果哪一台机器服务启动失败,那么就到哪一台机器的

/export/servers/es/elasticsearch-6.7.0/logs

这个路径下面去查看错误日志

node01服务器安装elasticsearch-head插件

由于es服务启动之后,访问界面比较丑陋,为了更好的查看索引库当中的信息,我们可以通过安装elasticsearch-head这个插件来实现,这个插件可以更方便快捷的看到es的管理界面

1 、node01机器安装nodejs

Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js 不是一个 JavaScript 框架,不同于CakePHP、Django、Rails。Node.js 更不是浏览器端的库,不能与 jQuery、ExtJS 相提并论。Node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。
安装步骤参考:https://www.cnblogs.com/kevingrace/p/8990169.html
第一步:下载安装包
node01机器执行以下命令下载安装包,然后进行解压

cd /home/es
wget https://npm.taobao.org/mirrors/node/v8.1.0/node-v8.1.0-linux-x64.tar.gz
tar -zxvf node-v8.1.0-linux-x64.tar.gz -C /export/servers/es/

第二步:创建软连接
node01执行以下命令创建软连接

sudo ln -s /export/servers/es/node-v8.1.0-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
sudo ln -s /export/servers/es/node-v8.1.0-linux-x64/bin/node /usr/local/bin/node

第三步:修改环境变量
node01服务器添加环境变量

sudo vim /etc/profile
export NODE_HOME=/export/servers/es/node-v8.1.0-linux-x64
export PATH=:$PATH:$NODE_HOME/bin

修改完环境变量使用source生效

source /etc/profile

第四步:验证安装成功
node01执行以下命令验证安装生效

node -v
npm -v

2 、node01机器安装elasticsearch-head插件
elasticsearch-head这个插件是es提供的一个用于图形化界面查看的一个插件工具,可以安装上这个插件之后,通过这个插件来实现我们通过浏览器查看es当中的数据
安装elasticsearch-head这个插件这里提供两种方式进行安装,第一种方式就是自己下载源码包进行编译,耗时比较长,网络较差的情况下,基本上不可能安装成功
第二种方式就是直接使用我已经编译好的安装包,进行修改配置即可
1、第一种方式:在线安装elasticsearch-head插件(网速慢,不推荐)
这里选择node01进行安装
第一步:在线安装必须依赖包

初始化目录

cd /export/servers/es

安装GCC

sudo yum install -y gcc-c++ make git

第二步:从git上面克隆编译包并进行安装

cd /export/servers/es
git clone https://github.com/mobz/elasticsearch-head.git

进入安装目录

cd /export/servers/es/elasticsearch-head

intall 才会有 node-modules

npm install

以下进度信息

npm WARN notice [SECURITY] lodash has the following vulnerability: 1 low. Go here for more details: 
npm WARN notice [SECURITY] debug has the following vulnerability: 1 low. Go here for more details: https://nodesecurity.io/advisories?search=debug&version=0.7.4 - Run `npm i npm@latest -g` to upgrade your npm version, and then `npm audit` to get more info.
npm ERR! Unexpected end of input at 1:2096
npm ERR! 7c1a1bc21c976bb49f3ea","tarball":"https://registry.npmjs.org/safer-bu
npm ERR!                                                                      ^
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/es/.npm/_logs/2018-11-27T14_35_39_453Z-debug.log

以上错误可以不用管。

第三步、node01机器修改Gruntfile.js
第一台机器修改Gruntfile.js这个文件

cd /export/servers/es/elasticsearch-head
vim Gruntfile.js

找到以下代码:
添加一行:

hostname: '192.168.52.100',
connect: {
                        server: {
                              options: {
                                     hostname: '192.168.52.100',
                                     port: 9100,
                                     base: '.',
                                     keepalive: travelue
                                }
                        }
                }

第四步、node01机器修改app.js

第一台机器修改app.js

cd /export/servers/es/elasticsearch-head/_site
vim app.js 

更改前:http://localhost:9200
更改后:http://node01:9200
2、第二种方式:直接使用提供的编译之后的源码包解压之后修改配置文件即可(强烈推荐)
第一步:上传压缩包到/home/es路径下去
将我们的压缩包 elasticsearch-head-compile-after.tar.gz 上传到node01机器的/home/es路径下面去
第二步:解压安装包
node01执行以下命令解压安装包

cd /home/es/

tar -zxvf elasticsearch-head-compile-after.tar.gz -C /export/servers/es/

第三步、node01机器修改Gruntfile.js
修改Gruntfile.js这个文件

cd /export/servers/es/elasticsearch-head
vim Gruntfile.js

找到以下代码:
添加一行:

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

第四步、node01机器修改app.js
第一台机器修改app.js

cd /export/servers/es/elasticsearch-head/_site
vim app.js 

更改前:http://localhost:9200
更改后:http://node01:9200
3、node01机器启动head服务
node01启动elasticsearch-head插件

cd /export/servers/es/elasticsearch-head/node_modules/grunt/bin/

进程前台启动命令

./grunt server

进程后台启动命令

nohup ./grunt server >/dev/null 2>&1 &

Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://192.168.52.100:9100

如何停止:elasticsearch-head进程
执行以下命令找到elasticsearch-head的插件进程,然后使用kill -9 杀死进程即可

netstat -nltp | grep 9100
kill -9 8328

4、访问elasticsearch-head界面
打开Google Chrome访问

http://192.168.100.100:9100/

node01服务器安装Kibana

kibana的基本介绍
Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。
你用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。
你可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。
Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。
接着使用我们的es用户在node01服务器上面来实现我们的kibana的安装部署
第一步:下载资源上传服务器并解压
node01服务器使用es用户执行以下命令来下载安装包并解压

cd /home/es

在线下载

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.7.0-linux-x86_64.tar.gz
tar -zxf kibana-6.7.0-linux-x86_64.tar.gz -C /export/servers/es/

第二步:修改配置文件
node01服务器使用es用户执行以下命令来修改配置文件

cd /export/servers/es/kibana-6.7.0-linux-x86_64/config/
vi kibana.yml

配置内容如下:

server.host: "node01"
elasticsearch.hosts: ["http://node01:9200"]

第三步:启动服务
node01服务器使用es用户执行以下命令启动kibana服务

cd /export/servers/es/kibana-6.7.0-linux-x86_64
nohup bin/kibana >/dev/null 2>&1 &

如何停止kibana进程:停止kibana服务进程
查看进程号

ps -ef | grep node

然后使用kill -9杀死进程即可

第四步:浏览器访问
浏览器地址访问kibana服务
http://node01:5601

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ElasticSearch启动流程指令及注意事项 的相关文章

随机推荐

  • 【Flutter 3-5】Flutter进阶教程——在Flutter中使用Lottie动画

    作者 弗拉德 来源 弗拉德 公众号 fulade me Lottie动画 在移动开发中总是需要展示一些动画特效 作为程序员的我们并不是很擅长用代码做动画 即便是有些动画可以实现 在跨平台的过程中也会因为API的差异性导致动画在各个平台中展示
  • VS2019企业版安装

    安装环境VMware Win7sp1 Net Framework 4 6 win7sp1update VS企业版下载地址 链接 https pan baidu com s 1ToBLr8sZJ9KbNKWG 6YREg 提取码 m9dr N
  • vue如何实现el-menu与el-tabs联动,通过点击el-menu导航中的选项动态添加el-tabs页面

    Vue如何实现el menu与el tabs联动 通过点击el menu导航中的选项动态添加tab页面 老规矩 先上效果图 达成这个效果 首先我们先了解下原理 在el menu中有一个属性router 开发文档中写的非常清晰 选择该属性后即
  • c#使用多线程的几种方式介绍

    本文主要介绍了c 使用多线程的几种方式 通过示例学习c 的多线程使用方式 大家参考使用吧 1 不需要传递参数 也不需要返回参数 ThreadStart是一个委托 这个委托的定义为void ThreadStart 没有参数与返回值 代码如下
  • Docker使用

    1 下载安装 在linux下安装docker一共有三步 更新软件包列表 sudo apt get update 安装docker sudo apt get install docker ce 检查docker是否安装成功 docker ve
  • MES管理系统项目失败的原因,总结三点

    MES是一款管理系统 建设效果参差不齐 但是MES管理系统项目以胜利的寥寥无几 因为MES管理系统 主要面向管理人员 管理人员希望打开工厂黑河 然而工厂的数据来源基本都是由执行层提供的 建设MES生产管理系统的诉求与国家统计局需求是一样的
  • Chat GPT介绍

    推荐一个在线使用网站 ChatGPT Next Web chatnext top 可以免费使用 但有次数限制 体验一下ChatGPT还是不错的 次数用完可以充钱28 8元成为永久会员 我不是打广告 我只想让更多的人体验和接触ChatGPT
  • android 难题,Android开发中遇到的难题与解决方案

    引用资源文件错误 导致运行失败 无法确定错误位置 解决方案 在Android Studio的Terminal控制台输入 gradlew compileDebugSources 获取webView的高度 public void initVie
  • [windows][UI] WM_MOUSEACTIVATE

    当用户单击一个非激活的顶级窗体 或非激活的顶级窗体的子窗体时 系统就会发送WM MOUSEACTIVATE消息 还包括其他消息 给顶级窗体或子窗体 该消息在WM NCHITTEST消息之后 但在button down消息之前 当把 WM M
  • swift 类型判断 Dictory Array

    一 类型的判断 1 is 的介绍 Swift 中类型的判断的关键词是 is is操作用来判断某一个对象是否是某一个特定的类 它会返回一个bool类型的值 2 is的使用方法 1 gt is 的一般判断 Swift 系统也会自动判断 类型的一
  • C++/Python程序读取命令行参数

    C 程序读取命令行参数 include
  • 傅里叶变换(FT)数学解析推导学习总结

    写在前面 本文是一篇非常容易理解 同时会很有收获的傅里叶变换推导教程 文章是学习B站DR CAN老师傅里叶级数和傅里叶变换系列课程后的学习总结 主要目的以个人复习巩固为主 同时也分享给大家一些心得以及非常好的一位老师 附上链接 DR CAN
  • 串口的基本定义以及RS232,RS485和UART,USAT,SPI的联系和区别

    1 什么是串口 一个bit一个bit传输数据的方式称之为串口 串行接口 2 串口的种类 同步串口 带有同步时钟线的串口传输方式 异步串口 不带同步时钟线的串口传输方式 需要双方约定传输速度 3 串口的组成 串口由物理电气层和协议层组成 3
  • java字符串判断相等_java判断字符串是否相等的方法

    java判断字符串是否相等的方法 1 java中字符串的比较 我们经常习惯性的写上if str1 str2 这种写法在java中可能会带来问题 example1 String a abc String b abc 那么a b将返回true
  • 转载:算力计算

    一 GOPS与FLOPS 1 1 FLOPS FLOPS定义 是 每秒所执行的浮点运算次数 floating point operations per second 的缩写 它常被用来估算电脑的执行效能 尤其是在使用到大量浮点运算的科学计算
  • 1334. 阈值距离内邻居最少的城市

    1334 阈值距离内邻居最少的城市 原题链接 完成情况 解题思路 参考代码 Dijkstra Dijkstra 小顶堆 Floyd martix方法 原题链接 1334 阈值距离内邻居最少的城市 https leetcode cn prob
  • 裸机服务器和虚拟机的用途和好处

    裸机服务器 用户可以根据需要自定义存储区域 用户几乎可以在世界的每个角落访问他们的数据 用户还将拥有最高级别的数据加密 只有使用最新技术的用户才能访问 由于这些服务器有专门的用户 因此具有安全性和监管优势 它具有很高的处理能力 用户可以完全
  • Poi版本升级优化

    Poi 3 17前后版本api使用差异 1 升级缘由 最近公司prod环境出现因为Excel文件下载数据量过大导致应用out of memory 然后就需要找到内存溢出的原因及优化方案 经分析 得出以下结论 1 1 事故原因 1 应用场景发
  • 四合天地软件测试系统,GZ-2017025软件测试赛题.-全国职业院校技能大赛.doc

    GZ 2017025软件测试赛题 全国职业院校技能大赛 doc 2017年全国职业院校技能大赛高职组 软件测试 项目竞赛任务书 2017年全国职业院校技能大赛 高职组 软件测试 赛项执委会制 2017年5月 目录 一 赛程说明3 二 竞赛技
  • ElasticSearch启动流程指令及注意事项

    elasticsearch es的集群部署 第一步 创建普通用户 注意 ES不能使用root用户来启动 必须使用普通用户来安装启动 这里我们创建一个普通用户以及定义一些常规目录用于存放我们的数据文件以及安装包等 创建一个es专门的用户 必须