ElasticSearch学习笔记(一)
计算机软件的学习,最重要的是举一反三,只要大胆尝试,认真验证自己的想法就能收到事办功倍的效果。在开始之前可以看看别人的教程做个快速的入门,然后去官方网站看看官方的教程,有中文教程固然是好,没有中文教程大家也不要怕,硬着头皮看下去一定有收获
本人对ES并不熟悉,虽然十几年前就接触过Lucene,但是无奈当时技术太菜根本就没有深入下去,最近准备认真的研究一下ES,边探索,边记录,可能会有错误的理解,回头再更正吧。我想我这笔记最重要的是给正在学习编程技术的同学点启发,以便能够在编程之路上走的再快些再稳些。
一、安装Elasticsearch
win10下安装
ElasticSearch下载

下载完成后直接解压缩就可以使用了。
解压后的ElasticSearch目录如下图所示。

- bin 可执行文件目录.
- config 配置文件目录
- jdk Elasticsearch是依赖JDK,这里是Elastic内置的JDK环境
- lib 类库
- logs 日志
- modules 模块
- plugins 插件
二、ElasticSearch启动
进入bin目录,双击elasticsearch.bat批处理文件就可以启动ES了。

如果出现下图所示的黑窗口说明ES启动成功,ES启动完成后不要关闭cmd窗口。

打开浏览器,在地址栏中输入https://localhost:9200,应该能够出现ES的登录界面。
👿 ES 8.11默认是开启SSL的,所以一定要注意使用https://localhost:9200

可是我们好像并不知道用户名和密码啊?
三、重置ES内置用户密码
ES内置了一个用户名为elastic的用户,但是这个用户的密码我们却不知道,翻看了ES的启动信息也没有找到。
进入bin目录,仔细观察会发现有个password相关的批处理文件elasticsearch-setup-passwords.bat

双击这个文件一闪就退出了,用编辑器打开看看里面的内容吧。

大胆猜测这个批处理文件其实是调用了安全相关的模块,需要使用cmd命令行来运行它。

进行elasticsearch-reset-password.bat批处理文件,窗口输出了帮助信息。从帮助信息可以得知批处理文件必选参数是-u,后跟用户名。
命令格式如下
elasticsearch-reset-password.bat -u elastic

使用我们重置的新密码就可以登录了。

上图是登录成功的截图。
使用elasticsearch-reset-password.bat命令我们重置了内置用户elastic的密码,可是这个密码的复杂度有点高,很难记忆,作为练习使用的elasticsearch我想设置一个简单易记的密码。好吧,再研究一下elasticsearch-reset-password.bat这个批处理吧。

通过-h帮助我们可以看到上图的输出信息。从这些信息中可以得知批处理后可以加Eabfhisu url v这几个参数,其中-u是必加参数,-i是交互式参数。那么就运行一下-i参数看看有什么输出吧。
提示你将要重置用户[elastic]的密码,你是否继续,[y/N]的意思是如果你在交互模式下输入y,表示你将进入重置密码的流程,大写的N表示默认输入是N,如果你直接回车则不进入重置密码流程。
💁♂ [y/N]和[Y/n]在很多交互模式中都通用的,要学会举一反三。

输入两次新密码后就重置成功了,连原密码都不要,从这里也能让大家明白,所谓的安全都是相对的。很多软件的安全性都是基于操作系统的,操作系统的安全性,是你整个安全系统的第一道屏障。

上图是直接回车的输出。
通过上面的命令重置elastic的密码后,再刷新https://localhost:9200, ES会让你重新输入用户名和密码,这次你就可以使用便于记忆的密码了。
四、用户操作
再仔细查看bin目录,发现还有一个elasticsearch-users.bat批处理文件,见名知义,这个文件肯定是和用户操作相关的,大胆的试一下吧。

两个批处理文件的内容完全相同,可见这个批处理文件是通过文件名传参的,同样运行一下elasticsearch-users.bat看看有什么提示吧。
从帮助说明中不难看出,添加用户的命令是
elasticsearch-users.bat useradd <用户名>

非常的简单。
接下来重置一下内置用户elastic的密码,再刷新页面https://localhost:9200果然又弹出了登录界面,使用上面我们新建的用户和密码登录,下图是新用户登录后的截图。

虽然登录成功了,但是报错了,大概意思是没有给新用户赋角色。

继续探索。

通过上面的命令,我似乎为新用户赋了superuser的角色。
再次刷新https://localhost:9200页面,出现下图。

看来为新用户赋角色成功了。
💁♂ 总结: bin目录是ES的各种可执行文件运行目录,使用cmd命令打开相关的批处理文件。
本文使用了elasticsearch-setup-passwords.bat重置用户密码批处理,和elasticsearch-users.bat新建用户批处理。
💁♂ 要给新建用户赋不同的角色,否则登录后会报错。
💁♂ 常见的用户角色有以下几种:
Known roles: [apm_system, watcher_admin, viewer, alfiy, logstash_system, rollup_user, kibana_user, beats_admin, remote_monitoring_agent, rollup_admin, snapshot_user, data_frame
_transforms_admin, monitoring_user, enrich_user, kibana_admin, logstash_admin, editor, data_frame_transforms_user, machine_learning_user, machine_learning_admin, watcher_user,
apm_user, beats_system, reporting_user, transform_user, kibana_system, transform_admin, transport_client, remote_monitoring_collector, ingest_admin, superuser]
上面的角色各类其实是我从cmd命令中复制出来的,想了解详情到官方文档去看吧。(我还没去看,下次我看到了会在此处加文档链接)。
相关文章:
ElasticSearch学习笔记(一)
计算机软件的学习,最重要的是举一反三,只要大胆尝试,认真验证自己的想法就能收到事办功倍的效果。在开始之前可以看看别人的教程做个快速的入门,然后去官方网站看看官方的教程,有中文教程固然是好,没有中文…...
go写文件后出现大量NUL字符问题记录
目录 背景 看看修改前 修改后 原因 背景 写文件完成后发现: size明显也和正常的不相等。 看看修改前 buf : make([]byte, 64) buffer : bytes.NewBuffer(buf)// ...其它逻辑使得buffer有值// 打开即将要写入的文件,不存在则创建 f, err : os.Open…...
【Collection - PriorityQueue源码解析】
本文主要对Collection - PriorityQueue进行源码解析。 Collection - PriorityQueue源码解析 概述方法剖析 add()和offer()element()和peek()remove()和poll()remove(Object o) 概述 前面以Java ArrayDeque为例讲解了Stack和Queue,其实还有一种特殊的队列叫做Priori…...
Javascript_根据截止日期超时自动返回
例如定时交卷功能,隐藏一个input id"endTime"存放超时时间,例如2023-12-01 20:56:15,使用如下代码即可实现超时自动处理。 <script src"/jquery.min.js"></script><script type"text/javascript&qu…...
记录 | vscode设置自动换行
右上菜单栏 -> 查看 -> 打开自动换行 或者还有种方式,如下, 左下角小齿轮,点击设置 然后输入 Editor: Word Wrap ,把开关打开为 on...
k8s引用环境变量
一 定义环境变量 ① 如何在k8s中定义环境变量 env、configmap、secret补充: k8s 创建Service自带的环境变量 ② 从pod属性中获取 kubectl explain deploy.spec.template.spec.containers.env.valueFrom关注: configMapKeyRef、fieldRef 和 resour…...
navicate16 2059 plugin http could not be loaded
plugin http could not be loaded 乱码 library path http.dll 今天新装一台机子的navicate遇到这个问题。 查了半天都是说 caching_sha2_password’的解决办法。 然后是咋解决的呢,真是丢脸 由于我是直接从浏览器复制下来的ip,所以虽然我只复制了ip地…...
dp-基础版动态规划(动态规划每日一题计划)10/50
最小路径和 class Solution {public static int minPathSum(int[][] grid) {int dp[][]new int[grid.length][grid[0].length];dp[0][0]grid[0][0];for(int i1;i<grid[0].length;i){dp[0][i]grid[0][i]dp[0][i-1];}for(int i1;i<grid.length;i){dp[i][0]grid[i][0]dp[i-…...
轻食沙拉店外卖配送小程序商城效果如何
轻食沙拉店也是餐饮业中较为受欢迎的品类,其具备健康属性绿色食材涵盖广泛人群,虽然如此,但也缺乏一定市场教育,部分消费者依然对这一类目知之甚少,而商家想要进一步扩大生意,就需要不断品牌宣传、餐品销售…...
Oracle ADRCI工具使用说明
1.ADRCI介绍 ADRCI是一个命令行工具,是Oracle 11g中引入的故障可诊断性架构的一部分。 ADRCI可以完成以下: 查看自动诊断信息库(ADR)中的诊断数据。 查看Health Monitor报告。 将事件和问题信息打包到zip文件中以传输到Oracle Su…...
Amazon CodeWhisperer 正式可用, 并面向个人开发者免费开放
文章作者:深度-围观 北京——2023年4月18日,亚马逊云科技宣布,实时 AI 编程助手 Amazon CodeWhisperer 正式可用,同时推出的还有供所有开发人员免费使用的个人版(CodeWhisperer Individual)。CodeWhisperer…...
8-Hive原理与技术
单选题 题目1:按粒度大小的顺序,Hive数据被分为:数据库、数据表、桶和什么 选项: A 元祖 B 栏 C 分区 D 行 答案:C ------------------------------ 题目2:以下选项中,哪种类型间的转换是被Hive查询语言…...
cloudflare Tunnel完整
下载和安装 curl -L ‘https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64’ -o ./cloudflared-linux-amd64 280 chmod x ./cloudflared-linux-amd64 281 ./cloudflared-linux-amd64 282 mv cloudflared-linux-amd64 cloudflared …...
微信聊天窗口测试用例
以前没测过客户端的测试,昨天面试被问到聊天窗口测试场景设计,感觉自己答的不好,结束后上网查了一下客户端/app测试的要点,按照测试策略来分,主要涉及到如下测试类型: 1、功能测试 2、性能测试 3、界面测试…...
Linux下配置邮箱客户端MUTT,整合msmtp + procmail + fetchmail
一、背景 在向 Linux kernel 社区提交patch补丁步骤总结(已验证成功)_kernel补丁-CSDN博客文章中提到如何向kernel社区以及其他类似如qemu、libvirt社区提交patch的详细步骤,但还有一点不足的是通过git send-email这种方法基本是只能发送patc…...
[每周一更]-(第75期):Go相关粗浅的防破解方案
Go作为编译语言,天然存在跨平台的属性,我们在编译完成后,可以再不暴露源代码的情况下,运行在对应的平台中,但是 还是架不住有逆向工程师的反编译、反汇编的情形;(当然我们写的都不希望被别人偷了…...
停留时间是您需要跟踪的 SEO 指标
介绍 停留时间是指用户在点击搜索引擎结果后但在返回搜索引擎结果页面之前在网站上花费的时间。它是搜索引擎优化 (SEO) 的一个重要指标,因为它衡量用户参与度并指示网站是否向访问者提供有价值且相关的内容。搜索引擎,如谷歌&am…...
ES常用操作语句
ES常用操作语句 注:本文中的操作语句基于ES5.5和7.7的版本,版本不同操作语句上可能有细微差别,如5.5版本有索引类型,7.7版本已废弃,查询不应该带索引类型 新增 # 添加字段,并设置字段类型 PUT /索引/_map…...
MicroPython STM32F4 RTC功能使用介绍
MicroPython STM32F4 RTC功能使用介绍 🔖STM32和ESP32 RTC功能差不多,相关篇《MicroPython ESP32 RTC功能使用介绍》📌固件刷可参考前面一篇《STM32刷Micropython固件参考指南》🌿 相关篇《Micropython STM32F4入门点灯》…...
【鸿蒙应用ArkTS开发系列】- 选择图片、文件和拍照功能实现
文章目录 前言创建多媒体Demo工程创建MediaBean 实体类创建MediaHelper工具类API标记弃用问题动态申请多媒体访问权限实现选择图片显示功能打包测试 前言 在使用App的时候,我们经常会在一些社交软件中聊天时发一些图片或者文件之类的多媒体文件,那在鸿蒙…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
