首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Docker 安装 Elasticsearch 教程

  • 25-04-25 08:41
  • 2354
  • 7824
blog.csdn.net

目录

一、安装 Elasticsearch

二、安装 Kibana

三、安装 IK 分词器

四、Elasticsearch 常用配置

五、Elasticsearch 常用命令


一、安装 Elasticsearch

(一)创建 Docker 网络

因为后续还需要部署 Kibana 容器,所以需要让 Elasticsearch 和 Kibana 容器互联。创建一个 Docker 网络:

docker network create es-net

(二)拉取 Elasticsearch 镜像

以安装 Elasticsearch 8.6.0 版本为例,执行以下命令拉取镜像:

docker pull elasticsearch:8.6.0

(三)创建挂载点目录

创建用于挂载数据、配置和插件的目录,并设置权限:

  1. mkdir -p /usr/local/es/data /usr/local/es/config /usr/local/es/plugins
  2. chmod 777 /usr/local/es/data
  3. chmod 777 /usr/local/es/config
  4. chmod 777 /usr/local/es/plugins

(四)部署单点 Elasticsearch 容器

运行以下命令启动 Elasticsearch 容器:

  1. docker run -d \
  2. --restart=always \
  3. --name es \
  4. --network es-net \
  5. -p 9200:9200 \
  6. -p 9300:9300 \
  7. --privileged \
  8. -v /usr/local/es/data:/usr/share/elasticsearch/data \
  9. -v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \
  10. -e "discovery.type=single-node" \
  11. -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  12. elasticsearch:8.6.0

(五)关闭安全验证(可选)

进入 Elasticsearch 容器,关闭安全验证功能:

  1. docker exec -it es /bin/bash
  2. cd config
  3. echo 'xpack.security.enabled: false' >> elasticsearch.yml

(六)重启 Elasticsearch 容器

退出容器后,重启容器以使配置生效:

docker restart es

(七)测试 Elasticsearch 是否安装成功

访问 http://<服务器IP>:9200,如果返回类似以下内容,说明安装成功:

  1. {
  2. "name" : "es",
  3. "cluster_name" : "docker-cluster",
  4. "cluster_uuid" : "xxxxxx",
  5. "version" : {
  6. "number" : "8.6.0",
  7. "build_flavor" : "default",
  8. "build_type" : "docker",
  9. "build_hash" : "xxxxxx",
  10. "build_date" : "xxxxxx",
  11. "build_snapshot" : false,
  12. "lucene_version" : "xxxxxx",
  13. "minimum_wire_compatibility_version" : "xxxxxx",
  14. "minimum_index_compatibility_version" : "xxxxxx"
  15. },
  16. "tagline" : "You Know, for Search"
  17. }

二、安装 Kibana

(一)拉取 Kibana 镜像

拉取与 Elasticsearch 版本匹配的 Kibana 镜像:

docker pull kibana:8.6.0

(二)创建挂载点目录

创建用于挂载 Kibana 数据和配置的目录,并设置权限:

  1. mkdir -p /usr/local/kibana/config /usr/local/kibana/data
  2. chmod 777 /usr/local/kibana/data
  3. chmod 777 /usr/local/kibana/config

(三)部署 Kibana 容器

运行以下命令启动 Kibana 容器:

  1. docker run -d \
  2. --restart=always \
  3. --name kibana \
  4. --network es-net \
  5. -p 5601:5601 \
  6. -e ELASTICSEARCH_HOSTS=http://es:9200 \
  7. kibana:8.6.0

(四)测试 Kibana 是否安装成功

访问 http://<服务器IP>:5601,如果能够正常访问 Kibana 的 Web 界面,说明安装成功。


三、安装 IK 分词器

(一)进入 Elasticsearch 容器

docker exec -it es /bin/bash

(二)安装 IK 分词器

在容器内执行以下命令安装 IK 分词器:

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.6.0/elasticsearch-analysis-ik-8.6.0.zip

(三)重启 Elasticsearch 容器

退出容器后,重启 Elasticsearch 容器以使插件生效:

docker restart es

四、Elasticsearch 常用配置

(一)修改 Elasticsearch 配置文件

进入容器的配置目录,编辑 elasticsearch.yml 文件:

  1. docker exec -it es /bin/bash
  2. cd config
  3. vim elasticsearch.yml

常见的配置项包括:

  • cluster.name:设置集群名称

  • node.name:设置节点名称

  • path.data:设置数据存储路径

  • path.logs:设置日志存储路径

  • network.host:设置绑定的网络接口

  • http.port:设置 HTTP 服务端口

(二)设置 JVM 堆大小

通过环境变量 ES_JAVA_OPTS 设置 JVM 堆大小,例如:

  1. docker run -d \
  2. --restart=always \
  3. --name es \
  4. --network es-net \
  5. -p 9200:9200 \
  6. -p 9300:9300 \
  7. --privileged \
  8. -v /usr/local/es/data:/usr/share/elasticsearch/data \
  9. -v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \
  10. -e "discovery.type=single-node" \
  11. -e "ES_JAVA_OPTS=-Xms2g -Xmx2g" \
  12. elasticsearch:8.6.0

五、Elasticsearch 常用命令

(一)索引操作

  • 创建索引

    1. curl -X PUT "http://<服务器IP>:9200/my_index" -H 'Content-Type: application/json' -d'
    2. {
    3. "settings": {
    4. "number_of_shards": 3,
    5. "number_of_replicas": 2
    6. }
    7. }
    8. '
  • 删除索引

    curl -X DELETE "http://<服务器IP>:9200/my_index"
  • 查看索引

    curl -X GET "http://<服务器IP>:9200/_cat/indices?v"

(二)文档操作

  • 添加文档

    1. curl -X POST "http://<服务器IP>:9200/my_index/_doc/1" -H 'Content-Type: application/json' -d'
    2. {
    3. "field1": "value1",
    4. "field2": "value2"
    5. }
    6. '
  • 查询文档

    curl -X GET "http://<服务器IP>:9200/my_index/_doc/1"
  • 更新文档

    1. curl -X POST "http://<服务器IP>:9200/my_index/_doc/1/_update" -H 'Content-Type: application/json' -d'
    2. {
    3. "doc": {
    4. "field1": "new_value1"
    5. }
    6. }
    7. '
  • 删除文档

    curl -X DELETE "http://<服务器IP>:9200/my_index/_doc/1"

(三)集群状态查询

curl -X GET "http://<服务器IP>:9200/_cluster/health?pretty"

六、总结

通过以上步骤,你可以在 Docker 上成功安装 Elasticsearch,并配置常用的网络、数据挂载和插件安装。掌握这些常用命令,可以帮助你更高效地管理和使用 Elasticsearch 集群。如果在使用过程中遇到任何问题,可以参考 Elasticsearch 官方文档 或社区寻求帮助。

注:本文转载自blog.csdn.net的愿你天黑有灯下雨有伞的文章"https://blog.csdn.net/mouzeping123/article/details/146206495"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

132
搜索
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top