Elasticsearch基础篇(二):Elasticsearch在windows和liunx上的安装部署

Elasticsearch简介

  • 前言
  • 1. Windows环境部署Elasticsearch
    • 1.1 下载并解压Elasticsearch压缩包
    • 1.2 命令行启动elasticsearch
    • 1.3 验证是否成功启动elasticsearch
    • 1.4 关闭Elasticsearch
    • 1.5 在Windows上安装Elasticsearch作为服务
  • 2. Liunx环境部署Elasticsearch
    • 安装 Elasticsearch 7.17.11 并配置
    • 1. 下载es数据库并上传到服务器
    • 2. 创建 Elasticsearch 用户和组
    • 3. 系统配置
      • 3.1 修改文件句柄数和线程数
      • 3.2 修改虚拟内存
      • 3.3 关闭交换空间(Swap)
    • 4. 修改 Elasticsearch 配置
    • 5. 设置目录权限
    • 6. 启动 Elasticsearch 服务
      • startes-single.sh
      • stopes-single.sh
    • 7. 开放防火墙端口
      • CentOS
      • Ubuntu

前言

本文基于官方文档:Installing Elasticsearch
基于官方给出的几种不同环境不同的安装方式,本文将会选择在

  • Install Elasticsearch with .zip on Windows
    使用.zip文件在Windows上安装Elasticsearch

  • Install Elasticsearch from archive on Linux or MacOS
    在Linux或macOS上从存档文件安装Elasticsearch

  • Install Elasticsearch with Docker (此种方式待定)
    使用Docker安装Elasticsearch

在这里插入图片描述

1. Windows环境部署Elasticsearch

  • 本文参考: Install Elasticsearch with .zip on Windows

  • Download Elasticsearch v7.9.3 : Elasticsearch v7.9.3

1.1 下载并解压Elasticsearch压缩包

在这里插入图片描述

Unzip it with your favourite unzip tool. This will create a folder called elasticsearch-7.9.3, which we will refer to as %ES_HOME%. In a terminal window, cd to the %ES_HOME% directory, for instance:

将解压目录作为es的home目录,在 elasticsearch-7.9.3文件夹地址栏输入cmd 进入命令行
在这里插入图片描述

1.2 命令行启动elasticsearch

  • 启动elasticsearch

    Running Elasticsearch from the command line.Elasticsearch can be started from the command line as follows:
    从命令行运行Elasticsearch,可以按以下方式从命令行启动Elasticsearch:

    .\bin\elasticsearch.bat
    
  • 启动页面
    在这里插入图片描述

  • 启动成功页面
    在这里插入图片描述

1.3 验证是否成功启动elasticsearch

Checking that Elasticsearch is running
You can test that your Elasticsearch node is running by sending an HTTP request to port 9200 on localhost:
检查Elasticsearch是否正在运行
可以通过向本地主机的端口9200发送HTTP请求来测试您的Elasticsearch节点是否正在运行:

win+r输入cmd回车后输入下列请求url

curl -X GET "localhost:9200/?pretty"

表示启动成功
在这里插入图片描述
或者在浏览器地址栏输入:localhost:9200
在这里插入图片描述

1.4 关闭Elasticsearch

  • Ctrl+C停止Elasticsearch

    By default, Elasticsearch runs in the foreground, prints its logs to STDOUT, and can be stopped by pressing Ctrl-C.
    默认情况下,Elasticsearch在前台运行,将日志打印到标准输出(STDOUT),可以通过按下Ctrl-C来停止它。

    在这里插入图片描述

  • 验证是否已经关闭(直接关闭上面的命令行窗口也可以停止es)
    在这里插入图片描述

1.5 在Windows上安装Elasticsearch作为服务

Elasticsearch can be installed as a service to run in the background or start automatically at boot time without any user interaction. This can be achieved through the elasticsearch-service.bat script in the bin\ folder which allows one to install, remove, manage or configure the service and potentially start and stop the service, all from the command-line.
Elasticsearch可以安装为服务,在后台运行或在启动时自动启动,而无需任何用户交互。这可以通过bin\文件夹中的elasticsearch-service.bat脚本实现,该脚本允许您从命令行安装、删除、管理或配置服务,并且还可以潜在地启动和停止服务。

e:\elasticsearch-7.9.3\bin>elasticsearch-service.batUsage: elasticsearch-service.bat install|remove|start|stop|manager [SERVICE_ID]

在这里插入图片描述

The script requires one parameter (the command to execute) followed by an optional one indicating the service id (useful when installing multiple Elasticsearch services).
该脚本需要一个参数(要执行的命令),后面可以跟一个可选参数来指示服务ID(在安装多个Elasticsearch服务时很有用)

以下是elasticsearch-service.bat脚本可用的命令及其描述:

命令描述
install安装Elasticsearch作为服务
remove移除已安装的Elasticsearch服务(如果已启动则停止服务)
start启动Elasticsearch服务(如果已安装)
stop停止Elasticsearch服务(如果已启动)
manager打开用于管理已安装服务的GUI界面
  • 指定服务名安装
    安装为服务,服务ID(务必唯一):elasticsearch-9200-test
    elasticsearch-service.bat install elasticsearch-9200-test
    
  • 命令行启动或停止服务
    • 启动服务
      elasticsearch-service.bat start elasticsearch-9200-test
      
      在这里插入图片描述
    • 停止服务
      elasticsearch-service.bat stop elasticsearch-9200-test
      
      在这里插入图片描述
  • 服务页面启动或停止服务
    win+r回车输入services.msc进入服务列表,右击选择启动或者停止
    在这里插入图片描述
  • 设置为开机自启
    右击服务名,点击属性,选择启动类型为自动
    在这里插入图片描述

2. Liunx环境部署Elasticsearch

安装 Elasticsearch 7.17.11 并配置

本文介绍如何在 Linux 操作系统上下载、安装 Elasticsearch 7.17.11,并进行必要的配置。在centos或者是unbuntu中配置启动的流程基本一致,开放端口处的脚本不相同。

1. 下载es数据库并上传到服务器

首先,访问 Elasticsearch 下载页面 并下载 Elasticsearch 7.17.11
在这里插入图片描述
点击 “下载” 并将下载的文件上传到服务器指定目录中
在这里插入图片描述

在服务器上,使用以下命令解压 Elasticsearch:

tar -zxvf elasticsearch-7.17.11-linux-x86_64.tar.gz

在这里插入图片描述

2. 创建 Elasticsearch 用户和组

创建一个名为 “es” 的用户和一个名为 “es” 的群组,然后将用户添加到该群组中:

# 新建群组esgroupadd es
# 新建用户es并指定群组为esuseradd -g es es
# 设置用户密码 passwd es  
# usermod 将用户添加到某个组groupusermod -aG root es

3. 系统配置

3.1 修改文件句柄数和线程数

为了防止 Elasticsearch 用户拥有的可创建文件描述符权限过低而导致错误,需要修改文件句柄数和线程数。编辑 /etc/security/limits.conf 文件并添加以下内容:

# 文件句柄
es  soft nofile 65536
es  hard nofile 65536
# 线程
es  soft nproc 4096
es  hard nproc 4096

保存退出后,需要重新启动系统

以上配置是为了解决:

报错问题:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
问题描述:elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536;

3.2 修改虚拟内存

编辑 /etc/sysctl.conf 文件并添加以下内容:

vm.max_map_count=262144

保存退出后,刷新配置文件:

sysctl -p

验证是否修改成功:

sysctl vm.max_map_count

以上配置是为了解决:
报错问题:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

3.3 关闭交换空间(Swap)

官方建议:把内存的一半给Lucene+不要超过32G+关闭swap
ES建议要关闭 swap 内存交换空间,禁用swapping。因为当内存交换到磁盘上,一个100微秒的操作可能变成 10毫秒,然后100 微秒的操作时延累加起来,可以看出 swapping 对于性能的影响是致命的

vim /etc/fstab

注释含有swap一行
在这里插入图片描述
注释前:
在这里插入图片描述

保存退出后需要系统重启!

注释后:
在这里插入图片描述

4. 修改 Elasticsearch 配置

编辑 Elasticsearch 配置文件 conf/elasticsearch.yml 并根据你的需求进行配置,以下是一些示例配置项:

# 禁用了 es 的机器学习功能(Machine Learning)减少资源消耗
xpack.ml.enabled: false
# 设置 Elasticsearch 集群的名称
cluster.name: es-single
# 设置当前 Elasticsearch 节点的名称
node.name: node
# 数据目录
path.data: /home/es/path/node/data
# 日志目录
path.logs: /home/es/path/node/logs
# 当前主机的 IP
network.host: 192.168.0.10
# 暴露的 HTTP 端口
http.port: 11700
# 暴露的 Transport 端口
transport.port: 11710
# 设置节点发现的种子主机列表
discovery.seed_hosts: ["192.168.0.10:11710"]
# 设置初始的主节点列表,新节点将联系这些主节点以加入集群
cluster.initial_master_nodes: ["node"]

5. 设置目录权限

设置 Elasticsearch 数据目录所属的用户和组:

chown -R es:es /mnt/data/elasticsearch-7.17.11

6. 启动 Elasticsearch 服务

注意当前目录是在 ../elasticsearch-7.17.11

创建启动和停止 Elasticsearch 服务的脚本:

startes-single.sh

#!/bin/bash
cd "$(dirname "$0")"
# -d:后台(daemon)方式运行 Elasticsearch
./bin/elasticsearch -d -p pid

stopes-single.sh

#!/bin/bash
cd "$(dirname "$0")"
if [ -f "pid" ]; thenpkill -F pid
fi

给这两个脚本赋予执行权限:

chmod 755 startes-single.sh stopes-single.sh
chown es:es startes-single.sh stopes-single.sh

然后,以 Elasticsearch 用户身份启动 Elasticsearch 服务:

su - es
cd /mnt/data/elasticsearch-7.17.11
./startes-single.sh

7. 开放防火墙端口

CentOS

# 查看防火墙状态
systemctl status firewalld
# 查看开放的端口
firewall-cmd --query-port=9200/tcp
# 添加端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent
# 重载防火墙
firewall-cmd --reload
# 再次查看端口是否已经开放
firewall-cmd --query-port=9200/tcp

Ubuntu

# 查看防火墙状态
sudo ufw status
# 开放端口 9200
sudo ufw allow 9200/tcp
# 查看已添加的规则
sudo ufw status numbered
# 查看防火墙状态
sudo ufw status

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

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

相关文章

UI自动化测试 | Jenkins配置优化

前一段时间帮助团队搭建了UI自动化环境,这里将Jenkins环境的一些配置分享给大家。 背景: 团队下半年的目标之一是实现自动化测试,这里要吐槽一下,之前开发的测试平台了,最初的目的是用来做接口自动化测试和性能测试&…

java框架-Springboot-快速入门

文章目录 组件注册条件注解属性绑定自动装配原理自定义组件yaml属性配置日志日志级别日志分组文件输出文件归档与文件切割自定义配置切换日志组合 组件注册 Configuration、SpringBootConfigurationBean、ScopeController、Service、Repository、ComponentImportComponentScan…

探索网络世界:常见应用程序详解与实战演练

网络技术已成为现代生活中不可或缺的一部分,各种网络应用也层出不穷。本文将介绍一些常见的网络应用及其使用方法,包括Ping、Tracert、Telnet、FTP、TFTP等,帮助读者更好地理解和使用这些工具。 目 录 Ping和Tracert:网络诊断的好…

brew 安装MySQL 5.7

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…

vue pc端/手机移动端 — 下载导出当前表格页面pdf格式

一、需求:在手机端/pc端实现一个表格页面(缴费单/体检报告单等)的导出功能,便于用户在本地浏览打印。 二、实现:之前在pc端做过预览打印的功能,使用的是print.js之类的方法让当前页面直接唤起打印机的打印预…

【项目】在线音乐播放器测试报告

目录 项目背景 项目功能 测试计划 功能测试 登录页面的测试 测试用例 测试结果 注册页面的测试 测试用例 测试结果 音乐列表页面的测试 测试用例 测试结果 出现的bug 搜索功能的bug 问题解决 删除功能的bug 问题解决 喜欢列表页面的测试 测试用例 测试结果…

计算机MSVCP90.dll怎么重新安装?MSVCP90.dll丢失的解决方法分享

在计算机使用过程中,可能会遇到 MSVCP90.dll 丢失的问题。MSVCP90.dll 是 Microsoft Visual Studio 2008 编译的程序所使用的一个动态链接库(DLL)文件。当该文件丢失或损坏时,可能会导致一些应用程序无法正常运行。本文将详细介绍…

《The Rise and Potential of Large Language Model Based Agents: A Survey》全文翻译

The Rise and Potential of Large Language Model Based Agents: A Surve - 基于 LLMs 的代理的兴起和潜力:一项调查 论文信息摘要1. 介绍2. 背景2.1 AI 代理的起源2.2 代理研究的技术趋势2.3 为什么大语言模型适合作为代理大脑的主要组件 3. 代理的诞生&#xff1a…

APP渗透测试

APP反抓包突破 抓包失败分析 工具证书未配置 app不使用HTTP/S协议 反模拟器 1.使用真机进行抓包 2.用模拟器模拟真机 3.逆向删除反模拟器代码打包重新测试 反证书 SSL证书绑定分为单向校验和双向校验,单向校验就是客户端校验服务端的证书,双向…

Jenkins 权限管理

关于Role-based Authorization Strategy 使用Jenkins自身的权限管理过于粗糙,无法对单个、一类项目做管理,我们可以使用 Role-based Authorization Strategy插件来管理项目、角色。 首先安装该插件:在Jenkins查看该插件有无安装 在Jenkins-…

机器学习 09 随机森林

三、 偏差和方差 偏差度量了学习算法的期望预测与真实结果的偏离程度, 即刻画了学习算法本身的拟合能力。 方差:离散程度, 也就是该随机变量在其期望值附近的波动程度 噪声表达了在当前任务上,任何学习算法所能达到的期望泛化误差的下界, 即刻画了学习问题本身的难…

【AI绘画】Stable Diffusion WebUI

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

react悬浮球效果展示

1.需求 在开发项目时,当用户登录后,需要在主页显示一个悬浮球(可以自由拖动),点击悬浮球后,进入目标页面,如图所示: 2.实现 把上面需要实现的悬浮球功能写成一个组件,页面…

【python入门篇】列表简介及操作(2)

列表是什么? 列表是由一系列按特定顺序排列的元素组成。你可以创建包含字母表中的所有字母、数字 0~9 或所有家庭成员的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。列表通常包含多个元素,因此给列表指定一…

企业知识库一站式搭建指南,从0到1搞定知识库搭建!

如今,企业组织的可持续发展依靠企业的知识管理和迭代创新,只有一站式的企业知识库的创建,才能保证存储、组织和共享企业内部的知识、信息和资源。 目前业内很多公司都通过HelpLook来搭建知识库,用于集合企业内部的各种知识资产&am…

TikTok海外扩张:亚马逊的新对手崛起

随着社交媒体和电子商务的融合,TikTok正迅速崭露头角,成为亚马逊等传统电商巨头的潜在竞争对手。这一新兴平台的快速发展引发了广泛的关注,特别是在全球范围内。 在这篇文章中,我们将探讨TikTok海外扩张的战略,以及它…

img镜像如何制作虚拟机

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、准备工作二、操作步骤1.把新建的虚拟磁盘挂载到虚拟机2.把需要的文件拷贝到虚机中3、 烧录 总结 前言 一般制作虚拟机都是使用iso镜像,如果遇到…

二、vue2脚手架-组件化开发

| vue中的图片打包后会转换为base64格式 组件的使用 1.创建组件:component文件夹中创建HelloWorld.vue文件 2.在app.vue中引入组件 组件间的通信/传值(常用) 一、prop父传子 1.App.vue中的引入组件中创建需要传递的数据 2.在子组件中接…

【Spring Boot】实战:实现数据缓存框架

🌿欢迎来到@衍生星球的CSDN博文🌿 🍁本文主要学习【Spring Boot】实现数据缓存框架 🍁 🌱我是衍生星球,一个从事集成开发的打工人🌱 ⭐️喜欢的朋友可以关注一下🫰🫰🫰,下次更新不迷路⭐️💠作为一名热衷于分享知识的程序员,我乐于在CSDN上与广大开发者…

修改sqlmap-Tamper脚本

修改sqlmap-Tamper脚本 文章目录 修改sqlmap-Tamper脚本1 sqlmap官网2 sql注入漏洞注入尝试3 环境:sqli-labs/Less-26a/3.1 尝试宽字节注入: 3.2 sqlmap使用3.3准备修改sqlmap使用 4 sqlmap中-tamper工厂(输入输出)4.1 [参考文章:…