参考资料

  1. Alpine Linux 是一个轻量级的 Linux 发行版
  2. Kong 是一个开源的云原生 API 网关和微服务管理平台
  3. Cloudreve 启用 JWT(JSON Web Tokens)加密通信
  4. Matomo(原名 Piwik)是一个开源的网站分析平台
  5. Docker Desktop的安装步骤
  6. Joomla 是一款开源的内容管理系统
  7. cpolar 是一款内网穿透工具
  8. Docker基于Linux容器技术

Elasticsearch 简介

Elasticsearch 是一个开源的分布式搜索和分析引擎,基于 Apache Lucene 构建,支持实时数据索引与检索。广泛应用于日志分析、全文搜索、业务监控等场景。

主要特点

  1. 分布式架构:支持水平扩展,自动分片数据。

  2. 近实时搜索:数据写入后秒级可查。

  3. RESTful API:通过 HTTP/JSON 接口操作。

  4. 多租户支持:支持多索引独立管理。

  5. 聚合分析:提供强大的数据分析能力。

最新更新(截至2023年10月)

  • 8.10.0(2023年9月)

    • 新增向量搜索优化

    • 安全功能增强

    • 性能改进

下载地址

文档地址

Docker 安装示例

docker run -d --name es01 \
  -p 9200:9200 -p 9300:9300 \
  -e "discovery.type=single-node" \
  docker.elastic.co/elasticsearch/elasticsearch:8.10.0

YAML 配置示例(elasticsearch.yml)

cluster.name: my-cluster
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
xpack.security.enabled: false  # 禁用安全认证(测试用)

常见问题

  1. 启动报错:内存不足

    bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low

    解决

    sudo sysctl -w vm.max_map_count=262144
  2. 连接拒绝

    • 检查防火墙设置

    • 确认 network.host 配置正确

  3. 分片未分配

    PUT _cluster/settings
    {
      "persistent": {
        "cluster.routing.allocation.enable": "all"
      }
    }
  4. 认证失败(8.x版本)

    curl -u elastic:password -k https://localhost:9200
    • 启用安全功能后需使用 HTTPS 和基本认证:

  5. 索引只读状态

    PUT _settings
    {
      "index.blocks.read_only_allow_delete": null
    }