Docker 启动 Easysearch 时自定义初始密码的几种方式
在使用 Docker 部署 Easysearch 时,通常需要在启动容器时设置初始管理员密码。如果没有预先设置密码,系统可能会使用默认值或随机生成密码,不仅增加后续管理的复杂性,也存在安全隐患。 本文将详细介绍在 docker run 启动 Easysearch 容器时,通过不同方式传入环境变量(env)来自定义密码的多种方法。每种方法都配有实用示例和说明,帮助你根据实际环境灵活选择。 直接在命令中传入单个环境变量这是最简单、最直接的方式,适合快速启动或临时测试场景。 12345docker run --name easysearch \ -e EASYSEARCH_INITIAL_ADMIN_PASSWORD=passwd123 \ --ulimit memlock=-1:-1 \ -p 9200:9200 \ infinilabs/easysearch:1.15.3 启动完成后,可进入容器验证变量是否生效: 12docker exec -it easysearch bashecho $EASYSEARCH_INITIAL_ADMIN_PASSWORD 输出结果: ...
Elasticsearch 自动 Mapping 与 MySQL Schema 的对比分析
在企业级数据系统中,Elasticsearch(简称 ES) 与 MySQL 是两种完全不同的数据管理哲学。 一个是面向搜索与分析的分布式引擎,一个是面向事务与一致性的关系型数据库。 而当我们深入理解它们的数据结构定义方式——ES 的 自动 mapping 推断 与 MySQL 的 手动 schema 定义——就会发现,它们的核心设计理念几乎是两个世界。 本文将从机制、原理、优缺点和使用建议等角度,系统对比两者的差异,重点聚焦在 Elasticsearch 的自动 mapping 特性上。 一、什么是 Mapping 与 Schema在 MySQL 中,我们习惯使用 表结构(Schema) 来定义数据字段及其类型: 123456CREATE TABLE user ( id INT PRIMARY KEY, name VARCHAR(50), age INT, created_at DATETIME); 每一行都必须严格遵守这个表结构,类型固定,字段不可缺少。这是典型的 Schema-first 模型:在写入之前必须定义好结构。 而在 Elasticsearch 中,索引...
不用每次都改 `easysearch.yml` 也能改启动参数 —— 用 Docker 环境变量搞定一切
在用 Docker 部署 Easysearch 的时候,很多人习惯性地去改容器里的 easysearch.yml。但每改一次,就得重建镜像或重新挂载配置,既不方便,也不利于自动化。 其实,Docker 天生就支持通过环境变量来传递参数。只要我们把要改的配置写进 .env 文件,再用 --env-file 加载,就能在启动时覆盖 easysearch.yml 的对应设置。这样,既不用改镜像,也不用动配置文件,还能方便地调试、切换和管理。 下面就来详细讲讲这套思路的原理、写法与实践。 Docker 环境变量机制简介Docker 启动容器时,会把宿主机上的环境变量传递进容器内部。容器里的程序(例如 Easysearch)在启动时,会读取这些变量并用来覆盖或替代默认配置。 简单来说: 1环境变量 > easysearch.yml > 默认值 也就是说,只要我们在启动容器时提供了对应的环境变量,就能覆盖掉配置文件里的同名参数。这就是“用 Docker 环境变量替代修改配置文件”的原理。 .env 文件写法先准备一个 .env 文件(放在和 Docker 命令同级的目录下): ...
Easysearch 索引别名(Index Alias)详解
在 Easysearch 中,索引别名(Index Alias) 是一种逻辑名称,它可以指向一个或多个真实索引。使用别名的好处在于: 让应用层无需感知底层索引名变化; 方便进行索引切换、版本升级和数据迁移; 支持查询、写入、过滤、路由等控制; 实现读写分离或权限隔离。简而言之,别名是索引的抽象层,就像数据库中的“视图(View)”或操作系统中的“符号链接(symlink)”。 创建索引别名别名可以在创建索引时定义,也可以在已有索引上添加。 在创建索引时定义别名123456PUT /logs_2025-10{ "aliases": { "logs_current": {} }} 该操作创建索引 logs_2025-10,并同时定义一个别名 logs_current。 之后,所有针对 logs_current 的查询都会路由到 logs_2025-10: 12345POST logs_2025-10/_doc{"age":20}G...
懒猫微服炫技篇(四):蓝牙音浪,懒猫开唱
懒猫微服硬件层面自带了蓝牙模块。理论上,它应该可以像一台笔记本电脑或手机那样,直接连接蓝牙音箱,成为一个音频输出端。那么问题来了:在没有桌面 GUI 的前提下,能否纯命令行完成 蓝牙配对 + 音乐播放? 折腾了一上午,我从安装依赖、加载服务、设备配对到最终的音频播放,完整走通了流程。过程中踩了几个典型的坑,把命令总结下来,甚至进一步改造成一个家庭“蓝牙音频中心”。 准备工作懒猫微服本质上就是一台 Linux 设备,可以在 neofetch 中查看系统信息。所以蓝牙相关的配置流程和常见的 Ubuntu/Debian 系统基本一致。只要我们搞定了蓝牙协议栈、音频服务和配对,就能让它像 PC 一样推送音频到蓝牙音箱。 懒猫微服没有提供 GUI 桌面环境,所以所有的这些步骤都得通过命令行完成。 安装依赖首先安装系统缺少的几个依赖包: 1sudo apt install bluez bluez-tools pulseaudio-module-bluetooth libspa-0.2-bluetooth 这里有几个关键点: bluez:Linux 的蓝牙协议栈,底层必须有这个...
懒猫微服炫技篇(九十九):从今天起,不用安装客户端也能访问懒猫微服啦~
在日常使用懒猫微服的过程中,我经常会遇到这样一种情况:当我想把网盘里的内容分享给朋友时,发现对方需要先下载懒猫微服的 APP,然后还要注册、登录,整个流程相对繁琐。对于大多数电脑小白来说,这一关可能直接劝退。如果对方只是临时想要下载一个文件,比如一个 PDF 文档或者一张照片,这样的门槛显得过高,不太符合“即开即用”的理念。 那么,有没有可能在不安装客户端的情况下,也能直接通过浏览器访问到懒猫微服的内容? 这篇文章就是我折腾出来的一个解决方案:通过代理的方式,把原本只能在客户端访问的资源,转化为“浏览器可直达”的体验。下面我会一步步展开。 灵感的由来这个灵感并不是凭空出现的,而是源自我之前的工作经历。那时,公司网络屏蔽了维基百科,导致很多查资料的场景非常不方便。解决方案就是通过配置特定的 HTTP 代理,把流量转发出去,从而实现访问被封锁的网站。 在那个时期,我经常需要和公司的 IT 的同事沟通这些事情。这段经历让我意识到,代理其实就是一种“流量搬运工”。它不需要改变服务本身,而是通过“转发”让原本不可达的资源变得可达。 于是我就想:能不能借助代理,把访问懒猫微服的流量“搬运”出...
在嘉立创的泰山派上也能运行Easysearch
最近一段时间我折腾硬件比较多,经常翻箱倒柜找各种开发板出来玩。某天在角落里翻到一块嘉立创的泰山派开发板(Taishan Pi),这是一块基于 Rockchip RK3566 的嵌入式 Linux 板卡。严格来说,它的性能比树莓派还要逊色一些,尤其是 CPU 主频和内存带宽方面。但手痒之下,我突然想到了一个念头:能不能在这样一块嵌入式开发板上跑一个完整的 Easysearch 实例呢? Easysearch 本质上是一个搜索引擎数据库,是 Elasticsearch 的国产化替代方案。它在大多数情况下被部署在 x86_64/arm 架构的服务器上,搭配 SSD 或 NVMe 作为存储,用来做全文检索、大规模日志分析或向量搜索。在常规的生产场景中,我们很少会把它和“嵌入式开发板”联想在一起。毕竟,后者 CPU 性能有限、内存紧张、存储设备大多是 eMMC 或低速 SD 卡,看起来完全不是数据库的适配环境。 不过,学习和实验的环境往往不需要极致的性能。于是,我决定尝试一下,把 Easysearch 移植到泰山派上跑起来。 导出镜像由于我的开发板连接 Dockerhub 经常超...
懒猫算力仓初探(一):开箱手记
懒猫微服最近上新了一款产品,名字叫 「懒猫 AI 算力仓」。作为老用户,首发自然第一时间支持了一下。 其实我对这个设备的期待已经很久了。过去一年里,AI 大模型的爆发几乎让每个技术人都产生过同一个念头:能不能有一台属于自己的“算力仓”?不用再排队租云 GPU,不用担心账单像无底洞一样增长,更不用把敏感数据传到云端。所以赶了个首发,等了两天拿到了商品。 懒猫 AI 算力仓的核心是 NVIDIA Jetson AGX Orin。 这块板子可能很多人都听过,它本来的定位是“边缘计算”和“机器人中枢”,算是英伟达给嵌入式 AI 场景设计的亲儿子产品。比如跑 YOLO 目标检测、机械臂控制,这些都是它的常见场景。 除此之外, Orin 还有一个优势,就是 完整继承 CUDA 生态。这就意味着,它和桌面 GPU 一样,能跑主流大模型和 AI 框架。相比之下,很多国产芯片虽然跑分也许很高,但因为缺乏 CUDA 生态,真正落地的时候往往要做大量适配工作。可能你下载了模型,但能不能跑起来就是另一个问题了。 CUDA = 生态优势。 这点在 AI 时代非常关键。使用懒猫 AI 算力仓,下...
懒猫算力仓初探(三):如何 SSH 免密登陆以及配置免密 sudo?
在拿到懒猫 AI 算力仓之后,除了插显示器操作,更常见的方式是通过 SSH 远程管理。这样不仅方便日常使用,也能在不接显示器的情况下完成调试和部署。本文将一步步演示如何用 SSH 登录算力仓,并配置免密登录与免密 sudo,让远程操作更高效、更顺滑。 懒猫算力仓启动后,我们可以通过 SSH 来进行远程管理。设备出厂时已默认开启 SSH 服务端,所以我们要做的第一步是获取它的 IP 地址。 一、获取 IP 地址如果你使用路由器,可以在路由器后台查看分配到的 IP,并用 telnet ip地址 测试端口是否开放: 如果外接了显示器,也可以直接在终端执行: 1ip addr 懒猫算力仓的默认用户名和密码都是 nvidia,所以我们可以直接尝试登录: 1ssh nvidia@192.168.1.100 首次登录会提示是否接受 fingerprint,输入 yes 即可。 二、配置 SSH 免密登录每次输入密码太麻烦,可以配置免密登录。 在本地生成 SSH 密钥(如果还没有): 1ssh-keygen -t rsa -b 4096 一路回车,默认生成在 ~/.ssh/id_rsa...
懒猫算力仓初探(二):懒猫微服如何绑定算力仓?
在上一篇《懒猫算力仓初探(一):久违的开箱》中,我们已经认识了这台看似“小巧”,实则暗藏强劲算力的设备——懒猫 AI 算力仓。很多朋友拿到设备后,最关心的问题就是:如何让这台算力仓与懒猫微服生态结合,从而发挥它真正的威力?今天这一篇,就带大家详细走一遍绑定流程,并结合实际体验,聊聊我在操作过程中遇到的细节和思考。 为什么要绑定算力仓?算力仓从硬件层面来说就是一台高性能的小型 AI 算力设备,但如果只是孤立地插上网线、运行系统,它就像一台“裸机”,并不能和我们常用的软件生态融合。懒猫微服作为一个容器化的应用生态,本身聚合了丰富的 AI 应用、插件和社区资源。把算力仓绑定到微服,就意味着你不仅能在局域网内访问算力,还能直接调用它的 API 来支撑各类应用。 比如: 在浏览器中实时调用算力仓进行网页总结。 在微服的应用市场中安装 AI 辅助工具,直接调用本地算力而不是远程云端。 在需要高隐私的场景下,本地算力仓可以避免敏感数据上传到外部云环境,数据留存在局域网。 一句话总结:绑定就是打通生态,让算力仓成为微服体系中的“外挂显卡”。没有绑定,它只是一个单机的开发板;绑定之后,它才真...
