ElasticSearch7.x入门教程之集群安装(一)

文章目录

  • 前言
  • 一、es7.x版本集群安装
  • 二、elasticsearch-head安装
  • 三、Kibana安装
  • 总结


前言

在工作中遇到了,便在此记录一下,以防后面会再次遇到。第一次使用是在2020年末,过了很久了,忘了些许部分了。

在工作当中,如果是小的项目需求其实可以用单机版本的ES即可(不管是Linux上面还是Windows还是WinServer上面),都可以满足需求;数据量稍微大一点点的话,也可以上ES集群;这两种情况我都遇到过,单机版本的安装,比较简单,稍微AI一下就知道;在此主要记录一下,常规操作。
基于es7.x版本的三台服务器安装,这里环境是虚拟机环境。


一、es7.x版本集群安装

首先准备三台虚拟机,IP地址为192.168.1.151、192.168.1.152、192.168.1.153;

tips:在某些情况下,在配置文件中,每次不想都输入IP地址,故配置本地域名映射:
vim /etc/hosts修改如下(每个服务器都要修改):
在这里插入图片描述

新建用户:es要求要非root用户才可以启动;所以我们要创建es用户;

groupadd esgroup
useradd elastic -g esgroup -p your_password
# 修改用户所属
chown -R elastic:esgroup /opt/elasticsearch-7.9.3/

下载es7.9.3的tar.gz包并上传至/opt目录下:
es官网:https://www.elastic.co
文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.9/elasticsearch-intro.html
下载地址:https://www.elastic.co/downloads/elasticsearch

我这里已经下载好并上传至/opt目录下(分别上传至node2、node3的/opt目录下):
在这里插入图片描述
配置文件修改:
node1节点修改:

vim /opt/elasticsearch-7.9.3/conifg/elasticsearch.yml# es集群的名称,三台服务器必须一致
cluster.name: my-es-app
# 当前节点的名称
node.name: node-master
# 节点的数据目录
path.data: /opt/elasticsearch-7.9.3/data
# 节点的日志目录
path.logs: /opt/elasticsearch-7.9.3/logs
# 节点端口
http.port: 9200# 配置跨域,用kibana、es-header访问时候
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: "*"# 配置外网访问地址(node1 => 192.168.1.151)
network.host: node1
# 表示各节点通信
discovery.seed_hosts: ["node1", "node2", "node3"]
# 表示该节点为主节点,取值为node.name的值
cluster.initial_master_nodes: ["node-master"]# 配置ES的登陆认证密码
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: ./certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: ./certs/elastic-certificates.p12

node2节点修改(说明参考node1):

cluster.name: my-es-app
node.name: node-slave01
path.data: /opt/elasticsearch-7.9.3/data
path.logs: /opt/elasticsearch-7.9.3/logs
http.port: 9200http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: "*"network.host: node2discovery.seed_hosts: ["node1", "node2", "node3"]xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: ./certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: ./certs/elastic-certificates.p12

node3节点修改(说明参考node1):

cluster.name: my-es-app
node.name: node-slave02
path.data: /opt/elasticsearch-7.9.3/data
path.logs: /opt/elasticsearch-7.9.3/logs
http.port: 9200http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: "*"network.host: node3discovery.seed_hosts: ["node1", "node2", "node3"]xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: ./certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: ./certs/elastic-certificates.p12

配置安全认证
参考:https://www.elastic.co/guide/en/elasticsearch/reference/7.9/configuring-tls.html

配置证书:es7.x自带配置证书命令工具,在bin目录下,操作如下:

  • 1、给你的es集群创建一个证书;
bin/elasticsearch-certutil ca
  • 2、给你的集群每一个节点生成证书和私钥;
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

在这一过程当中,会提示你输入密码,可以不用输入密码,直接enter,下一步即可;

  • 3、在配置文件创建一个目录certs,存放刚刚生成的证书文件;
    在这里插入图片描述
    说明:以上命令操作均是在node1节点家目录执行的;然后创建config/certs目录,将证书放在该目录下面;然后在修改elasticsearch.yml配置文件;最后把配置文件传至node2、node3节点处,各自添加安全认证配置;

  • 4、配置用户;
    参考:https://www.elastic.co/guide/en/elasticsearch/reference/7.9/built-in-users.html
    elasticsearch内置了一些用户,如:elastic、kibana_system、logstash_system等。一般用elastic即可,他是超级管理员,后面也可以用来登录Kibana。

执行在任意节点,我用的是node1节点,执行以下命令:

bin/elasticsearch-setup-passwords interactive

会让你设置输入每一个用户的密码,会输入两次,我这里已经输入过了所以看不见;
在这里插入图片描述
至此,安全、用户登录便设置完成,使用es集群时候,会让你输入用户名密码;

我们也可以在es的索引中看见该用户列表:
在这里插入图片描述

系统配置
为了es的性能,官方建议设置系统参数,以此提高索引性能;
参考:https://www.elastic.co/guide/en/elasticsearch/reference/7.9/configuring-security.html
在这里插入图片描述
修改系统参数(每一个节点都要修改):

  • 1、关机交换分区;
sudo swapoff -a
  • 2、修改系统资源限制符;
# 临时修改
sudo ulimit -n 65535# 永久修改
vim /etc/security/limits.conf
# 添加如下:
elasticsearch  -  nofile  65535# 刷新
sudo systemctl daemon-reload
  • 3、虚拟内存vm修改;
# 临时修改
sysctl -w vm.max_map_count=262144# 永久修改
vim /etc/sysctl.conf
添加:
vm.max_map_count=262144

配置这个三个即可。

最后分别启动:
在这里插入图片描述
注意:上面启动截图有一个小问题,需要切换到es的用户,我这里是root用户,直接启动会失败;

查看端口,看见9200、9300说明启动成功;
在这里插入图片描述

访问测试(任意一个):192.168.1.151:9200,192.168.1.152:9200,192.168.1.153:9200;
在这里插入图片描述

二、elasticsearch-head安装

Elasticsearch-head 插件,可以通过可视化的方式查看集群信息。

第一种方式:浏览器插件安装

hrome 直接在 App Store 搜索 Elasticsearch-head,点击安装即可。

第二种方式:下载插件安装

git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start

在这里插入图片描述

启动成功,页面如下:
在这里插入图片描述

三、Kibana安装

Kibana 是一个 Elastic 公司推出的一个针对 es 的分析以及数据可视化平台,可以搜索、查看存放在 es 中的数据。

  • 1、下载:https://www.elastic.co/cn/downloads/kibana;然后上传解压;
    在这里插入图片描述
  • 2、修改配置文件
vim config/kibana.yml# kibana访问地址
server.host: "192.168.1.151"
# es集群地址
elasticsearch.hosts: ["http://192.168.1.151:9200","http://192.168.1.152:9200", "http://192.168.1.153:9200"]
# es集群的用户名及密码(我们上面配置的)
elasticsearch.username: "kibana_system"
elasticsearch.password: "your_kibana_password"# 可选配置,上面那些配置基本上就配置完成,启动即可访问,不影响使用;
# 但是,观看启动日志,会有些报错日志,是因为版本原因和确实没有配置一些其它东西,
# 下面一些配置可以减少报错日志,看着舒服点
monitoring.cluster_alerts.email_notifications.email_address: 123@qq.com
xpack.security.encryptionKey: encryptionKeysecurity12345678909876543210
xpack.reporting.encryptionKey: encryptionKeyreporting12345678909876543210
xpack.encryptedSavedObjects.encryptionKey: encryptedSavedObjects12345678909876543210xpack.reporting.capture.browser.chromium.disableSandbox: true
  • 3、启动:
    执行:./bin/kibana

最后访问:localhost:5601
需要输入用户名和密码。
在这里插入图片描述
Kibana 安装好之后,首次打开时,可以选择初始化 es 提供的测试数据,也可以不使用。


总结

以上就是ES基础用法常规操作,基础使用下次再记录。

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

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

相关文章

I.MX6U 裸机开发18.GPT定时器实现高精度延时

I.MX6U 裸机开发18.GPT定时器实现高精度延时 一、GPT定时器简介1. GPT 功能2. 时钟源3. 框图4. 运行模式(1)Restart mode(2)Free-Run Mode 5. 中断类型(1)溢出中断 Rollover Interrupt(2&#x…

key-value存储实现

文章目录 一、项目简介二、项目流程图三、网络3.1、epoll实现3.2、io_uring实现 四、协议五、存储5.1、array实现5.2、rbtree实现5.3、hash实现 六、测试 一、项目简介 key-value存储其实是一个小型的redis,用户在客户端输入存储相关的指令发送给服务器端&#xff…

大公司如何实现打印机共享的?如何对打印机进行管控或者工号登录后进行打印?异地打印机共享的如何实现可以帮助用户在不同地理位置使用同一台打印机完成打印任务?

大公司如何实现打印机共享的?如何对打印机进行管控或者工号登录后进行打印?异地打印机共享的如何实现可以帮助用户在不同地理位置使用同一台打印机完成打印任务? 如果在局域网内,可以不需要进行二次开发,通过对打印机进…

微软发布Win11 24H2系统11月可选更新KB5046740!

系统之家11月22日报道,微软针对Win11 24H2系统推出2024年11月最新可选更新补丁KB5046740,更新后系统版本后升至26100.2454,此次更新后修复当应用程序以PDF和XLSX格式导出图表对象时停止响应、无法使用API查找旋转信息等问题。以下小编将给大家…

探索 RocketMQ:企业级消息中间件的选择与应用

一、关于RocketMQ RocketMQ 是一个高性能、高可靠、可扩展的分布式消息中间件,它是由阿里巴巴开发并贡献给 Apache 软件基金会的一个开源项目。RocketMQ 主要用于处理大规模、高吞吐量、低延迟的消息传递,它是一个轻量级的、功能强大的消息队列系统&…

李宏毅机器学习课程知识点摘要(6-13集)

pytorch简单的语法和结构 dataset就是数据集,dataloader就是分装好一堆一堆的 他们都是torch.utils.data里面常用的函数,已经封装好了 下面的步骤是把数据集读进来 这里是读进来之后,进行处理 声音信号,黑白照片,红…

Wekan看板安装部署与使用介绍

Wekan看板安装部署与使用介绍 1. Wekan简介 ​ Wekan 是一个开源的看板式项目管理工具,它的配置相对简单,因为大多数功能都是开箱即用的。它允许用户以卡片的形式组织和跟踪任务,非常适合敏捷开发和日常任务管理。Wekan 的核心功能包括看板…

【Mysql】开窗聚合函数----SUM,AVG, MIN,MAX

1、概念 在窗口中,每条记录动态地应用聚合函数(如:SUM(),AVG(),MAX(),MIN(),COUNT(),)可以动态计算在指定的窗口内的各种聚合函数值。 2、操作 以下操作将基于employee表进行操作。 sum() 进行sum的时候,没有order …

EWA Volume Splatting

摘要 本文提出了一种基于椭圆高斯核的直接体绘制新框架,使用了一种投影方法(splatting approach)。为避免混叠伪影(aliasing artifacts),我们引入了一种重采样滤波器的概念,该滤波器结合了重建核…

Vue实训---0-完成Vue开发环境的搭建

1.在官网下载和安装VS Code编辑器 完成中文语言扩展(chinese),安装成功后,需要重新启动VS Code编辑器,中文语言扩展才可以生效。 安装Vue-Official扩展,步骤与安装中文语言扩展相同(专门用于为“…

C# 超链接控件LinkLabel无法触发Alt快捷键

在C#中,为控件添加快捷键的方式有两种,其中一种就是Windows中较为常见的Alt快捷键,比如运行对话框,记事本菜单等。只需要按下 Alt 框号中带下划线的字母即可触发该控件的点击操作。如图所示 在C#开发中,实现类似的操作…

赛氪媒体支持“2024科普中国青年之星创作交流活动”医学专场落幕

2024年11月15日下午,由中国科普作家协会、科普中国发展服务中心主办,什刹海文化展示中心承办,并携手国内产学研一体融合领域的领军者——赛氪网共同支持的“2024科普中国青年之星创作交流活动”医学科普专场,在什刹海文化展示中心…

《现代制造技术与装备》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《现代制造技术与装备》是不是核心期刊? 答:不是,是知网收录的第二批认定学术期刊。 问:《现代制造技术与装备》级别? 答:省级。主管单位:齐鲁工业大学&#xff0…

(十一)Python字符串常用操作

一、访问字符串值 Python访问子字符串变量,可以使用方括号来截取字符串。与列表的索引一样,字符串索引从0开始。 hh"LaoTie 666" hh[2] mm"床前明月光" mm[3] 字符串的索引值可以为负值。若索引值为负数,则表示由字符…

数据结构(初阶6)---二叉树(遍历——递归的艺术)(详解)

二叉树的遍历与练习 一.二叉树的基本遍历形式1.前序遍历(深度优先遍历)2.中序遍历(深度优先遍历)3.后序遍历(深度优先遍历)4.层序遍历!!(广度优先遍历) 二.二叉树的leetcode小练习1.判断平衡二叉树1)正常解法2)优化解法 2.对称二叉…

20.100ASK_T113-PRO 开发板开机自动QT程序简单的方法一

本文详细介绍了在嵌入式系统中实现程序开机自启动的多种方法,包括通过修改/etc/profile、/etc/rc.local文件,以及在/etc/init.d目录下创建启动脚本等方式。文章还解释了不同配置文件的作用及它们之间的区别。 开机自动启动QT应用程序 用户模式下的启动 …

Android蓝牙架构,源文件目录/编译方式学习

Android 版本 发布时间 代号(Codename) Android 1.0 2008年9月23日 无 Android 1.1 2009年2月9日 Petit Four Android 1.5 2009年4月27日 Cupcake Android 1.6 2009年9月15日 Donut Android 2.0 2009年10月26日 Eclair Android 2.1 2…

LeetCode 145.二叉树的后序遍历

题目:给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 思路:左 右 根 代码: /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* Tre…

GitLab|数据迁移

注意:新服务器GitLab版本需和旧版本一致 在旧服务器执行命令进行数据备份 gitlab-rake gitlab:backup:create 备份数据存储在 /var/opt/gitlab/backups/ 将备份数据传输到新服务器的/var/opt/gitlab/backups/下,并修改文件权限(下载前和上传…

实验四:构建园区网(OSPF 动态路由)

目录 一、实验简介 二、实验目的 三、实验需求 四、实验拓扑 五、实验步骤 1、在 eNSP 中部署网络 2、设计全网 IP 地址 3、配置二层交换机 4、配置路由交换机并测试通信 5、配置路由接口地址 6、配置 OSPF 动态路由,实现全网互通 一、实验简介 使用路由…