参考资料

  1. Groovy 是一种基于 JVM 的动态编程语言
  2. YOURLS (Your Own URL Shortener) 是一个开源的PHP程序,允许用户创建和管理自定义短链接
  3. Jobber 是一个轻量级的任务调度工具
  4. io.js是Node.js的一个分支,由社区主导开发,旨在提供更快的迭代和更开放的治理模式
  5. ROS (Robot Operating System) 简介
  6. PostfixAdmin 是一个基于 Web 的邮件管理工具
  7. Erlang 是一种通用的并发编程语言和运行时环境
  8. Rocket.Chat 是一款开源的团队聊天平台

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
    }

声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。