参考资料

  1. Pony 是一个高性能、并发安全的编程语言,专为构建高并发系统设计
  2. GNU Compiler Collection (GCC) 是一个开源的编译器套件,支持多种编程语言
  3. Reader 是一款开源的 RSS 阅读器和稍后阅读工具
  4. buildpack-deps 是 Docker 官方提供的基础镜像
  5. 如何使用Docker进行持续集成?
  6. Spug 是一款开源的轻量级自动化运维平台
  7. 宝塔docker是一款基于Web的服务器管理软件
  8. PHP-ZendServer 是由 Zend Technologies 开发的一个企业级 PHP 应用服务器

Elasticsearch 是一个开源的分布式搜索和分析引擎

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
    }