Elasticsearch-linux环境部署
本文主要介绍linux下elasticsearch的部署。通过在一台linux服务器中分别对elasticsearch-6.7.2版本,elasticsearch-7.3.0版本来进行安装,记录在安装elasticsearch-7.3.0版本时出现的异常情况,以及elasticsearch-head的安装。
基础环境
本机已经安装、配置了jdk 1.8 版本的继续环境,nodejs环境(elasticsearch-head安装需要)。
使用以下网盘地址,下载需要版本的elasticsearch包
通过网盘分享的文件:elasticsearch-7.3.0-linux-x86_64.tar.gz
链接: https://pan.baidu.com/s/1hSRQgoOvz-aOj1MqcGgMow 提取码: xiao
通过网盘分享的文件:elasticsearch-6.7.2.tar.gz
链接: https://pan.baidu.com/s/1uoHF70mqxB2o_sjx3WzsUA 提取码: xiao
在github中,下载最新的elasticsearch-head包
源码地址:https://github.com/mobz/elasticsearch-head/
安装包地址:https://github.com/mobz/elasticsearch-head/releases/tag/v5.0.0
启动elasticsearch服务不能使用root账号,所以需要新建一个用户,用来启动elasticsearch服务
adduser es
passwd es
安装6.7.2版本
-
解压压缩文件
cd /data2 tar -zxvf elasticsearch-6.7.2.tar.gz -
更改配置文件
elasticsearch.ymlpath.data: /data2/elasticsearch-6.7.2/data path.logs: /data2/elasticsearch-6.7.2/logs network.host: 0.0.0.0 http.port: 8099 -
切换es用户启动
su es cd /data2/elasticsearch-6.7.2 # 后台启动elasticsearch服务 ./bin/elasticsearch -d -
查看是否启动成功
-
查看日志
cd /data2/elasticsearch-6.7.2/logs # 查看日志是否正常启动 tail -f elasticsearch.log -
查看进程
ps -ef |grep elasticsearch -
查看api:
http://10.10.87.20:8099/{"name" : "6W3MY3q","cluster_name" : "elasticsearch","cluster_uuid" : "Obz1OlM9S4KcLEKN6SYkdg","version" : {"number" : "6.7.2","build_flavor" : "default","build_type" : "tar","build_hash" : "56c6e48","build_date" : "2019-04-29T09:05:50.290371Z","build_snapshot" : false,"lucene_version" : "7.7.0","minimum_wire_compatibility_version" : "5.6.0","minimum_index_compatibility_version" : "5.0.0"},"tagline" : "You Know, for Search" }
-
安装7.3.0版本
elasticsearch 7以上版本开始内置了jdk,如本文中部署的7.3.0版本就内置了jdk 11,如果使用的服务器已经安装配置了jdk 1.8的话,可以直接使用elasticsearch-7.3.0自带的jdk。
-
解压压缩文件
cd /data2 tar -zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz -
更改配置文件
elasticsearch.ymlpath.data: /data2/elasticsearch-7.3.0/data path.logs: /data2/elasticsearch-7.3.0/logs network.host: 0.0.0.0 http.port: 19200 # 以下配置都是出现异常后的,新增的配置 一台服务器中部署两个elasticsearch不同版本的服务 # 注:node.name 的值要与 cluster.initial_master_nodes 的值保持一致 node.name: node-2 discovery.seed_hosts: ["127.0.0.1"] cluster.initial_master_nodes: ["node-2"] -
更改配置文件
jvm.options# 由于在启动时,出现了异常,需要更换GC算法 #-XX:+UseConcMarkSweepGC -XX:+UseG1GC -
更换脚本文件
elasticsearch-env#if [ ! -z "$JAVA_HOME" ]; then # JAVA="$JAVA_HOME/bin/java" #else # if [ "$(uname -s)" = "Darwin" ]; then # # OSX has a different structure # JAVA="$ES_HOME/jdk/Contents/Home/bin/java" # else # JAVA="$ES_HOME/jdk/bin/java" # fi #fi # 将以上原始的脚本段注释掉,使用以下内容;JAVA 为 elasticsearch自带的jdk的路径 if [ ! -z "$JAVA_HOME" ]; thenJAVA="/data2/elasticsearch-7.3.0/jdk/bin/java" elseif [ "$(uname -s)" = "Darwin" ]; then# OSX has a different structureJAVA="/data2/elasticsearch-7.3.0/jdk/bin/java"elseJAVA="/data2/elasticsearch-7.3.0/jdk/bin/java"fi fi -
切换es用户启动
su es cd /data2/elasticsearch-7.3.0 # 后台启动elasticsearch服务 ./bin/elasticsearch -d -
查看是否启动成功
-
查看日志
cd /data2/elasticsearch-7.3.0/logs # 查看日志是否正常启动 tail -f elasticsearch.log -
查看进程
ps -ef |grep elasticsearch -
查看api:
http://10.10.87.20:19200/{"name" : "centos74-0.novalocal","cluster_name" : "elasticsearch","cluster_uuid" : "_na_","version" : {"number" : "7.3.0","build_flavor" : "default","build_type" : "tar","build_hash" : "de777fa","build_date" : "2019-07-24T18:30:11.767338Z","build_snapshot" : false,"lucene_version" : "8.1.0","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search" }
-
安装elasticsearch异常情况
-
出现以下错误,说明默认走的内置的jdk 11的,便需要更改启动脚本
elasticsearch-env中的配置信息bash-4.2$ ./bin/elasticsearch -d future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/java/jdk1.8.0_73/jre] does not meet this requirementvim elasticsearch-env# 注释以下 内容 # now set the path to java #if [ ! -z "$JAVA_HOME" ]; then # JAVA="$JAVA_HOME/bin/java" #else # if [ "$(uname -s)" = "Darwin" ]; then # # OSX has a different structure # JAVA="$ES_HOME/jdk/Contents/Home/bin/java" # else # JAVA="$ES_HOME/jdk/bin/java" # fi #fi # 将被注释的配置块,复制一份,将JAVA的信息更给为 elasticsearch自带的jdk的路径 if [ ! -z "$JAVA_HOME" ]; thenJAVA="/data2/elasticsearch-7.3.0/jdk/bin/java" elseif [ "$(uname -s)" = "Darwin" ]; then# OSX has a different structureJAVA="/data2/elasticsearch-7.3.0/jdk/bin/java"elseJAVA="/data2/elasticsearch-7.3.0/jdk/bin/java"fi fi -
出现以下错误,说明需要更换GC算法,便需要更改
jvm.options中的配置信息OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.cd jvm.options # 从ConcMarkSweepGC切换到G1GC #-XX:+UseConcMarkSweepGC -XX:+UseG1GC -
当启动时出现以下异常信息时,需要更给配置文件
elasticsearch.yml中的配置信息[2024-11-04T16:58:51,926][ERROR][o.e.b.Bootstrap ] [centos74-0.novalocal] node validation exception [1] bootstrap checks failed [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured [2024-11-04T16:58:51,929][INFO ][o.e.n.Node ] [centos74-0.novalocal] stopping ... [2024-11-04T16:58:51,951][INFO ][o.e.n.Node ] [centos74-0.novalocal] stopped [2024-11-04T16:58:51,951][INFO ][o.e.n.Node ] [centos74-0.novalocal] closing ... [2024-11-04T16:58:51,965][INFO ][o.e.n.Node ] [centos74-0.novalocal] closed [2024-11-04T16:58:51,968][INFO ][o.e.x.m.p.NativeController] [centos74-0.novalocal] Native controller process has stopped - no new native processes can be starteddiscovery.seed_hosts: ["127.0.0.1"] cluster.initial_master_nodes: ["node-1"]
安装elasticsearch-head
-
解压压缩文件
cd /data2 tar -zxvf elasticsearch-head-5.0.0.tar.gz -
编辑
Gruntfile.js,添加hostnamevim Gruntfile.jshostname: '*', port: 9100, base: '.', keepalive: true -
更改配置文件
elasticsearch.yml# 进入安装目录 cd elasticsearch-head-5.0.0 # 安装 npm install --registry=https://registry.npmmirror.com/ -
启动服务
#前台启动 npm run start # 后台启动: nohup npm run-script start & -
查看是否启动成功,访问
http://10.10.87.20:9100/
安装elasticsearch-head异常情况
当elasticsearch-head启动正常,elasticsearch也启动正常,但是无法通过elasticsearch-head连接elasticsearch服务。

需要更改elasticsearch的配置文件elasticsearch.yml,进行跨域访问。
# 在配置文件末尾添加以下配置
http.cors.enabled: true
http.cors.allow-origin: "*"
重启elasticsearch后,访问http://10.10.87.20:9100/

相关文章:
Elasticsearch-linux环境部署
本文主要介绍linux下elasticsearch的部署。通过在一台linux服务器中分别对elasticsearch-6.7.2版本,elasticsearch-7.3.0版本来进行安装,记录在安装elasticsearch-7.3.0版本时出现的异常情况,以及elasticsearch-head的安装。 基础环境 本机已…...
LeetCode 每日一题 长度为 K 的子数组的能量值
长度为 K 的子数组的能量值 给你一个长度为 n 的整数数组 nums 和一个正整数 k 。 一个数组的 能量值 定义为: 如果 所有 元素都是依次 连续 且 上升 的,那么能量值为 最大 的元素。 否则为 -1 。 你需要求出 nums 中所有长度为 k 的 子数组 的能量值。 …...
人工智能——小白学习指南
知孤云出岫 目录 1. **智能评测系统**2. **个性化学习路径推荐**3. **虚拟学习助手**4. **学习行为分析**5. **数据驱动的教学决策**6. **自动化课程推荐**7. **数据隐私与安全保护** 人工智能知识点的总结和学习路线,以数据表格形式呈现,并附带在教育行…...
go 集成Gin Web开发框架
引入gin的依赖 下载并安装 gin go get -u github.com/gin-gonic/gin 将 gin 引入到代码中 import "github.com/gin-gonic/gin" 开始 package mainimport "github.com/gin-gonic/gin"func main() {r : gin.Default()r.GET("/ping", func(c …...
c++ 多态性
类的多态 多态概念入门 #include <iostream> using namespace std;/* 多态的前提: 拥有继承关系的类中有相同的函数(返回类型、函数名、形参列表) 多态解决的问题:1、派生类的对象被赋值给基类对象时2、派生类的对象初始化基类的引用时3、基类的指针指向派生…...
块存储、文件存储和对象存储详细介绍
块存储、文件存储和对象存储介绍 块存储:像跑车,因为它们都能提供快速的响应和高性能,适合需要即时数据访问的场景,比如数据库和虚拟化技术。 文件存储:像货车,因为它们都能承载大量货物(文件&…...
移植 AWTK 到 纯血鸿蒙 (HarmonyOS NEXT) 系统 (9) - 编译现有的AWTK应用程序
AWTK 应用程序开发完成后,在配置文件中添加 harmonyos 的选项,通过create_project.py脚本即可生成 DevEco Studio的工程。 安装开发环境 DevEco Studio HarmonyOS 的开发工具。 Python 运行环境。 git 源码管理工具。 下载 awtk 和 awtk-harmonyos…...
ssm基于BS的仓库在线管理系统的设计与实现+vue
系统包含:源码论文 所用技术:SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习,获取源码看文章最下面 需要定制看文章最下面 目 录 第一章 绪论 1 1.1 研究背景 1 1.2 研究意义 1 1.3 研究内容 2 第二章 开发环境与技术3 …...
面试题:Spring(一)
1. Spring框架中bean是单例么? Service Scope("singleton") public class UserServiceImpl implements UserService { }singleton : bean在每个Spring IOC容器中只有一个实例。prototype:一个bean的定义可以有多个实例。 2. Spring框架中的…...
MySQ怎么使用语法介绍(详细)
一、什么是库结构 库结构的意思就是指数据库的结构。所以,理解“库结构”就要先理解“库”是什么。 在数据库的上下文中,库指的是一个数据库。简单来说,数据库(库)是用来存储和管理数据的容器。它不仅存储实际的数据…...
新能源汽车与公共充电桩布局
近年来,全球范围内对新能源汽车产业的推动力度不断增强,中国新能源汽车市场也呈现蓬勃发展的势头,在政策与市场的共同推动下,新能源汽车销量持续增长。然而,据中国充电联盟数据显示,充电基础设施建设滞后于新能源汽车数量增长的现状导致充电桩供需不平衡,公共充电桩服务空白区域…...
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
GIT三款经典可视化 由上文文档得出灵感写出此篇 这三个概念在 Git 操作中都是很常见的, 来逐个解析: 1. 当前分支 “当前分支”就是你目前正在工作的分支。你在进行任何代码修改、提交等操作时,都会应用到“当前分支”上。换句话说…...
【Git】如何在 Git 中高效合并分支:完整指南
目录 引言1. 切换到主分支1.1 切换分支命令1.2 相关命令1.3 切换分支示意图 2. 合并分支2.1 基本合并命令2.2 合并选项2.3 合并流程示意图 3. 解决冲突3.1 解决冲突的步骤3.2 相关命令3.3 解决冲突示意图 4. 本地更新分支4.1 拉取远程更改4.2 更新主分支4.3 拉取远程更新到本地…...
成都睿明智科技有限公司抖音电商服务效果如何?
在这个短视频风起云涌的时代,抖音电商以其独特的魅力,成为了众多商家竞相追逐的新蓝海。而在这片波澜壮阔的商海中,成都睿明智科技有限公司犹如一艘稳健的航船,引领着无数企业驶向成功的彼岸。今天,就让我们一起揭开成…...
收集的linux命令/Docker命令/git命令
查看linux发行版本 lsb_release -a显示操作系统的发行版号 uname -r1. 启动 Docker。 sudo systemctl start docker2. 通过运行映像来验证 Docker 引擎安装是否成功。hello-world sudo docker run hello-world查看docker版本 docker -v查看docker配置信息 docker infodoc…...
DNS域名解析实验
准备工作 [rootlocalhost ~]# setenforce 0 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# mount /dev/sr0 /mnt [rootlocalhost ~]# dnf install bind -y DNS正向解析: 对主配置文件进行修改 [rootlocalhost ~]# vim /etc/named.conf 正向解析…...
Dify 本地部署指南
一、前置条件 Clone Dify 代码: git clone https://github.com/langgenius/dify.git 在启用业务服务之前,我们需要先部署 PostgresSQL / Redis / Weaviate(如果本地没有的话),可以通过以下命令启动: cd…...
15分钟学 Go 第 38 天:数据库基础
第38天 - 数据库基础 学习目标 学习如何连接和操作数据库,包括基本的增、删、改、查功能,以及如何使用Go语言中的database/sql包进行数据库交互。 内容概述 在现代应用程序中,数据库是数据持久化的重要部分。Go语言通过database/sql包提供…...
【Python】图片处理
一、获取图片尺寸 优点缺点Pillow功能丰富,支持多种图像处理操作。使用简单,适合快速原型开发。对于处理大型图像或批量图像时,性能可能不如OpenCV。OpenCV性能强大,适合处理大型图像和视频处理。提供了丰富的计算机视觉算法。相…...
面相小白的php反序列化漏洞原理剖析
前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理反序列化漏洞的一些成因原理 建议学习反序列化之前 先对php基础语法与面向对象有个大体的了解 (我觉得我整理的比较细致,了解这俩是个啥就行) 漏洞实战情况 这个漏洞黑盒几乎不会被发现&am…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
