ElasticSearch 学习(docker,传统方式安装、安装遇到的问题解决,)
目录
简介
什么是ElasticSearch
安装
传统方式安装
开启远程访问
Docker方式安装
Kibana
简介
安装
传统方式安装
Docker方式安装
compose方式安装
简介
什么是ElasticSearch
ElasticSearch简称ES,是基于Apache Lucene构建的开源搜索引擎,是当前最流行的企业级搜索引擎。Lucene本身就可以被认为迄今为止性能最好的一款开源搜索引擎工具包,但是lucene的API相对复杂,需要深厚的搜索理论。很难集成到实际的应用中去。ES是采用java语言编写,提供了简单易用的RestFul API,开发者可以使用其简单的RestFul API,开发相关的搜索功能,从而避免lucene的复杂性。
安装
-
传统方式安装 下载安装包---> 平台 window macos linux
-
Docker 方式安装 推荐
传统方式安装
# 0.环境准备
- centos7.x+、ubuntu、windows、macos
- 安装jdk11.0+ 并配置环境变量 jdk8
# 1.下载ES
- https://www.elastic.co/cn/start# 2.安装ES不用使用root用户,创建普通用户# 添加用户名
$ useradd ***
# 修改密码
$ passwd ***
# 普通用户登录# 3.解压缩ES安装包
$ tar -zxvf elasticsearch-7.14.0-linux-x86_64.tar.gz
# 4.查看ES解压包中目录结构
- bin 启动ES服务脚本目录
- config ES配置文件的目录
- data ES的数据存放目录
- jdk ES提供需要指定的jdk目录
- lib ES依赖第三方库的目录
- logs ES的日志目录
- modules 模块的目录
- plugins 插件目录
# 5.启动ES服务
[mqm@localhost ~]$ ./elasticsearch-7.14.0/bin/elasticsearch

- 这个错误时系统jdk版本与es要求jdk版本不一致,es默认需要jdk11以上版本,当前系统使用的jdk8,需要从新安装jdk11才行!
- 解决方案:
1.安装jdk11+ 配置环境变量、
2.ES包中jdk目录就是es需要jdk,只需要将这个目录配置到ES_JAVA_HOME环境变即可、
# 6.配置环境变量
$ vim /etc/profile
- export ES_JAVA_HOME=指定为ES安装目录中jdk目录
- source /etc/profile
# 7.从新启动ES服务
# 8.ES启动默认监听9200端口,访问9200
$ curl http://localhost:9200

开启远程访问
# 1.默认ES无法使用主机ip进行远程连接,需要开启远程连接权限
- 修改ES安装包中config/elasticsearch.yml配置文件
$ vim elasticsearch.yml

# 2.重新启动ES服务
- ./elasticsearch
- 启动出现如下错误:
`bootstrap check failure [1] of [4]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
`bootstrap check failure [2] of [4]: max number of threads [3802] for user [chenyn] is too low, increase to at least [4096]
`bootstrap check failure [3] of [4]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
`bootstrap check failure [4] of [4]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers
# 3.解决错误-1
$ vim /etc/security/limits.conf
# 在最后面追加下面内容
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
# 退出重新登录检测配置是否生效:
ulimit -Hn
ulimit -Sn
ulimit -Hu
ulimit -Su
# 3.解决错误-2
#进入limits.d目录下修改配置文件。
$ vim /etc/security/limits.d/20-nproc.conf
# 修改为
启动ES用户名 soft nproc 4096
# 3.解决错误-3
# 编辑sysctl.conf文件
$ vim /etc/sysctl.conf
vm.max_map_count=655360 #centos7 系统
vm.max_map_count=262144 #ubuntu 系统
# 执行以下命令生效:
$ sysctl -p
# 3.解决错误-4
# 编辑elasticsearch.yml配置文件
$ vim conf/elasticsearch.yml
cluster.initial_master_nodes: ["node-1"]
# 4.重启启动ES服务,并通过浏览器访问
{
"name": "localhost.localdomain",
"cluster_name": "elasticsearch",
"cluster_uuid": "OWh3xLYwR-6lZ_fQNhVY3A",
"version": {
"number": "7.14.0",
"build_flavor": "default",
"build_type": "tar",
"build_hash": "dd5a0a2acaa2045ff9624f3729fc8a6f40835aa1",
"build_date": "2021-07-29T20:49:32.864135063Z",
"build_snapshot": false,
"lucene_version": "8.9.0",
"minimum_wire_compatibility_version": "6.8.0",
"minimum_index_compatibility_version": "6.0.0-beta1"
},
"tagline": "You Know, for Search"
}
Docker方式安装
# 1.获取镜像 - docker pull elasticsearch:7.14.0 # 2.运行es - docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.14.0 # 3.访问ES - http://10.15.0.5:9200/
Kibana
简介
Kibana Navicat是一个针对Elasticsearch mysql的开源分析及可视化平台,使用Kibana可以查询、查看并与存储在ES索引的数据进行交互操作,使用Kibana能执行高级的数据分析,并能以图表、表格和地图的形式查看数据。
安装
传统方式安装
# 1. 下载Kibana - https://www.elastic.co/downloads/kibana # 2. 安装下载的kibana - $ tar -zxvf kibana-7.14.0-linux-x86_64.tar.gz # 3. 编辑kibana配置文件 - $ vim /Kibana 安装目录中 config 目录/kibana/kibana.yml # 4. 修改如下配置 - server.host: "0.0.0.0" # 开启kibana远程访问 - elasticsearch.hosts: ["http://localhost:9200"] #ES服务器地址 # 5. 启动kibana - ./bin/kibana # 6. 访问kibana的web界面 - http://10.15.0.5:5601/ #kibana默认端口为5601
Docker方式安装
# 1.获取镜像 - docker pull kibana:7.14.0 # 2.运行kibana - docker run -d --name kibana -p 5601:5601 kibana:7.14.0 # 3.进入容器连接到ES,重启kibana容器,访问 - http://**********:5601 # 4.基于数据卷加载配置文件方式运行 - a.从容器复制kibana配置文件出来 - b.修改配置文件为对应ES服务器地址 - c.通过数据卷加载配置文件方式启动`docker run -d -v /root/kibana.yml:/usr/share/kibana/config/kibana.yml --name kibana -p 5601:5601 kibana:7.14.0
compose方式安装
version: "3.8" volumes:data:config:plugin: networks:es: services:elasticsearch:image: elasticsearch:7.14.0ports:- "9200:9200"- "9300:9300"networks:- "es"environment:- "discovery.type=single-node"- "ES_JAVA_OPTS=-Xms512m -Xmx512m"volumes:- data:/usr/share/elasticsearch/data- config:/usr/share/elasticsearch/config- plugin:/usr/share/elasticsearch/plugins kibana:image: kibana:7.14.0ports:- "5601:5601"networks:- "es"volumes:- ./kibana.yml:/usr/share/kibana/config/kibana.yml
# kibana配置文件 连接到ES server.host: "0" server.shutdownTimeout: "5s" elasticsearch.hosts: [ "http://elasticsearch:9200" ]monitoring.ui.container.elasticsearch.enabled: true
相关文章:
ElasticSearch 学习(docker,传统方式安装、安装遇到的问题解决,)
目录 简介 什么是ElasticSearch 安装 传统方式安装 开启远程访问 Docker方式安装 Kibana 简介 安装 传统方式安装 Docker方式安装 compose方式安装 简介 什么是ElasticSearch ElasticSearch 简称 ES ,是基于Apache Lucene构建的开源搜索引擎,…...
[百度二面]操作系统进程、锁相关面试题
2.22 什么是死锁 在多道程序环境下,多个进程可以竞争有限数量的资源。当一个进程申请资源时,如果这时没有可用资源,那么这个进程进入等待状态。有时,如果所申请的资源被其他等待进程占有,那么该等待进程有可能再也无法…...
IP劫持的危害及应对策略
随着互联网的发展,网络安全问题日益凸显,其中IP劫持作为一种常见的网络攻击手段,对个人和企业的信息安全造成了严重的威胁。IP数据云将分析IP劫持的危害,并提出相应的应对策略。 IP地址查询:IP数据云 - 免费IP地址查询…...
Mac安装oh-my-zsh
目录 命令下载 卸载命令 注意 命令下载 curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh 卸载命令 uninstall_oh_my_zsh 注意 终端init的时候并不会执行~/.bash_profile、~/.bashrc等脚本了, 这是因为其默认启动执行脚本…...
【Web开发】深度学习HTML(超详细,一篇就够了)
💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录文章:【Web开发】深度学习html(超详细,一篇就够了) 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 HTML1. HTML基础1.1 什么是HTML1.2 认识HTML标签1.3 HTML文件基本…...
深入了解二叉搜索树:原理、实现与应用
目录 一、介绍二叉搜索树 二、二叉搜索树的基本性质 三、二叉搜索树的实现 四、总结 在计算机科学中,数据结构是构建算法和程序的基础。其中,二叉搜索树(Binary Search Tree,简称 BST)作为一种常见的数据结构&#…...
【MybatisPlus】BaseMapper详解,举例说明
一、BaseMapper 简介 MyBatis-Plus 的核心类 BaseMapper 主要是用于提供基本的 CRUD(创建、读取、更新、删除)操作的接口定义。它是 MyBatis-Plus 框架中的一个重要组成部分,可以大大简化基于 MyBatis 的数据访问层代码的编写。 BaseMapper…...
LightDB24.1 oracle_fdw支持服务端GBK编码
功能介绍 oracle_fdw是一个PG的插件,用于连接oracle数据库,由于原生PG不支持服务端GBK编码,所以原生的oracle_fdw也不支持服务端GBK编码。在LightDB23.3中支持了服务端GBK编码,导致在GBK编码的数据库中使用oracle_fdw时报错。 Li…...
算法 环形数组是否存在循环 力扣执行速度击败100%
目录 题目 leetcode 457 求解思路 代码 结果 题目 leetcode 457 存在一个不含 0 的 环形 数组 nums ,每个 nums[i] 都表示位于下标 i 的角色应该向前或向后移动的下标个数: 如果 nums[i] 是正数,向前(下标递增方向࿰…...
FFmpeg——开源的开源的跨平台音视频处理框架简介
引言: FFmpeg是一个开源的跨平台音视频处理框架,可以处理多种音视频格式。它由Fabrice Bellard于2000年创建,最初是一个只包括解码器的项目。后来,很多开发者参与其中,为FFmpeg增加了多种新的功能,例如编码…...
怎么看待Groq
用眼睛看。 就是字面上的意思用眼睛看。 我属于第一波玩到的,先给大家一个直观的印象,Groq到底有多快。 目前Groq只能选Llama的70b,和Mixtral的MoE,那我选7*8的这个MoE模型来实验。 这么好些字大概花了不到1秒,流式响应,其实是不是流式已经没那么重要了 ,然后看每秒Toke…...
Kafka | SpringBoot集成Kafka
SpringBoot集成Kafka 一、前言二、项目1. pom2. application.properties4. 消息生产者-测试5. 消息消费者 三、启动测试四、有总结的不对的地方/或者问题 请指正, 我在努力中 一、前言 该文章中主要对SpringBoot 集成Kafka 主要是 application.properties 与 pom坐标就算集成完…...
python的tqdm库不显示动态进度条的问题
python的tqdm库不显示动态进度条的问题 本质原因是tqdm无法获取内部对象的长度,这可能是因为内部对象是一个迭代器,问题经常发生在同时使用tqdm与enumerate的场合,例如深度学习中经常可能出现的: tqdm.tqdm(enumerate(train_loade…...
【prompt四】Domain Prompt Learning for Efficiently Adapting CLIP to Unseen Domains
motivation 领域泛化(DG)是一个复杂的迁移学习问题,旨在学习未知领域的可泛化模型。最近的基础模型(FMs)对许多分布变化都具有鲁棒性,因此,应该从本质上提高DG的性能。在这项工作中,我们研究了采用视觉语言基础模型CLIP来解决图像分类中的DG问题的通用方法。虽然ERM使用标…...
利用Amazon Bedrock畅玩Claude 3等多种领先模型,抢占AI高地(体验倒计时4小时)
快乐的时间总是短暂的,Claude 3 在亚马逊云科技上限时体验仅剩4小时,上次分享了入门级操作教程,本期给大家带来AWS Lambda Amazon Bedrock一起构建可以便捷使用的Claude 3接口 AWS Lambda AWS Lambda 是一项计算服务,可以运行您…...
MySql分布式事务
1 seata 底层原理 Seata(Simple Extensible Autonomous Transaction Architecture)是一个开源的分布式事务解决方案,其底层原理主要基于改进的传统2PC(Two-Phase Commit,两阶段提交)协议,并结合…...
android基础学习
从上面的描述就可以知道,每一个Activity组件都有一个对应的ViewRoot对象、View对象以及WindowManager.LayoutParams对象。这三个对象的对应关系是由WindowManagerImpl类来维护的。具体来说,就是由WindowManagerImpl类的成员变量mRoots、mViews和mParams所…...
解决方案:Python画图汉字丢失显示小方块
解决方案: linux python解决中文字体 - jingsupo - 博客园 (cnblogs.com) 在找字体缓存文件的时候我找了一会儿,我的路径是这里: 做了所有更改之后,最后一定要把缓存文件删掉,不然还是会报同样的错误的。 这里再贴一…...
JWT的是什么
session共享 什么是session共享 Session共享是指在分布式系统中,在多个服务器之间共享同一个用户的会话数据。在传统的Web应用中,用户的会话信息通常存储在服务器端的Session中,而每个用户的请求在同一个服务器上处理,因此可以轻…...
git常用命令集合
1.差异对比 显示出branch1和branch2中差异的部分 git diff branch1 branch2 --stat显示出所有有差异的文件的详细差异 git diff branch1 branch2查看branch1分支有,而branch2中没有的log git log branch1 ^branch22.分支 列出所有本地分支 git branch列出所有远…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
SQL Server 触发器调用存储过程实现发送 HTTP 请求
文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...
沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...
论文阅读:Matting by Generation
今天介绍一篇关于 matting 抠图的文章,抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法,已经有很多的工作和这个任务相关。这两年 diffusion 模型很火,大家又开始用 diffusion 模型做各种 CV 任务了&am…...
