首页 最新 热门 推荐

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

云计算-ubuntu24.04-Docker-安装-ElasticSearch

  • 25-04-24 10:21
  • 2429
  • 10456
blog.csdn.net

YDOOK-Jinwei Lin

平台:腾讯云-轻量应用服务器-ubuntu24.04 LTS

Docker查看已有全部镜像:

docker images -a

拉取对应版本的Elasticsearch镜像:

sudo docker pull docker.elastic.co/elasticsearch/elasticsearch:8.16.1

Docker查看已有全部镜像:

查看当前目录:

在根目录 / 下面,创建一个用于持久化存储Elasticsearch数据的目录:

sudo mkdir -p /data/elasticsearch

修改该目录的所有者:

sudo chown 1000:1000 /data/elasticsearch # 更改所有者为默认的elasticsearch用户

通过 ls -l 命令查看目录权限与所有者(用户):

drwxr-xr-x 是一个表示文件权限和类型的字符串,由10个字符组成,分为四个部分:

  1. 文件类型(第1个字符):

    d 表示这是一个目录(directory)。如果是普通文件,则会显示为 -,其他特殊类型的文件可能用其他字符表示,例如 l 表示符号链接(symbolic link),c 表示字符设备文件(character device),b 表示块设备文件(block device)等。
  2. 所有者的权限(接下来的3个字符):

    rwx 表示文件所有者拥有读取(read)、写入(write)和执行(execute)的权限。在这个例子中,所有者可以读、写和进入这个目录。
  3. 所属组的权限(再接下来的3个字符):

    r-x 表示与文件所属组关联的用户拥有读取和执行的权限,但没有写入权限。这意味着这些用户可以读取目录内容和进入该目录,但不能修改或删除该目录中的文件。
  4. 其他人的权限(最后的3个字符):

    r-x 表示对于既不是文件所有者也不属于文件所属组的其他所有用户,他们也拥有读取和执行的权限,同样没有写入权限。

总结,drwxr-xr-x 表示这是一个目录,所有者有完全控制权(读、写、执行),而同组用户和其他用户只能读取和执行(即可以查看目录内容和进入目录,但不能创建、删除或重命名文件)。这种权限设置通常用于公共可读但受保护免于随意更改的目录。


定义 Elasticsearch容器并启动:有三种方式:

1. 正常启动,不自动运行:

  1. sudo docker run -d --name elasticsearch \
  2. -v /data/elasticsearch:/usr/share/elasticsearch/data \
  3. -p 9200:9200 -p 9300:9300 \
  4. -e "discovery.type=single-node" \
  5. docker.elastic.co/elasticsearch/elasticsearch:8.16.1

首次启动Elasticsearch容器时,可以指定一个重启策略,这样即使服务器重启,Docker也会根据这个策略重新启动容器。对于Elasticsearch,推荐使用always或unless-stopped的重启策略。

  • always: 无论容器退出状态如何,Docker都会尝试重启容器。
  • unless-stopped: Docker会重启容器,除非容器被手动停止。

2. unless-stopped启动:

  1. sudo docker run -d --name elasticsearch \
  2. --restart unless-stopped \
  3. -v /data/elasticsearch:/usr/share/elasticsearch/data \
  4. -p 9200:9200 -p 9300:9300 \
  5. -e "discovery.type=single-node" \
  6. docker.elastic.co/elasticsearch/elasticsearch:8.16.1

3. always启动:

  1. sudo docker run -d --name elasticsearch \
  2. --restart always \
  3. -v /data/elasticsearch:/usr/share/elasticsearch/data \
  4. -p 9200:9200 -p 9300:9300 \
  5. -e "discovery.type=single-node" \
  6. docker.elastic.co/elasticsearch/elasticsearch:8.16.1
  • --restart always 确保容器无论任何原因停止后都会被重新启动。
  • -v /data/elasticsearch:/usr/share/elasticsearch/data 将宿主机的目录挂载到容器内的Elasticsearch数据目录,以便于数据持久化。
  • -p 9200:9200 -p 9300:9300 映射容器内部端口到宿主机端口,分别对应REST API和节点间通信端口。
  • -e "discovery.type=single-node" 设置单节点集群模式,适用于测试环境。

运行结果:

为了方便,最好使用下面代码运行:

  1. sudo docker run -d --name elasticsearch \
  2. --restart always \
  3. -v /data/elasticsearch:/usr/share/elasticsearch \
  4. -p 9200:9200 -p 9300:9300 \
  5. -e "discovery.type=single-node" \
  6. docker.elastic.co/elasticsearch/elasticsearch:8.16.1

即,映射容器的整个elasticsearch目录到宿主机/data/elasticsearch中,方便整体配置。

Docker 本身提供了对容器级别的资源限制,包括内存限制。可以通过 --memory 参数进行配置。要限制整个容器使用的内存量(不仅仅是 JVM 堆),可以采用下面代码:

  1. sudo docker run -d --name elasticsearch \
  2. --restart always \
  3. --memory="2g" \
  4. -v /data/elasticsearch:/usr/share/elasticsearch \
  5. -p 9200:9200 -p 9300:9300 \
  6. -e "discovery.type=single-node" \
  7. -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  8. docker.elastic.co/elasticsearch/elasticsearch:8.16.1

注:--memory="2g" \ # 限制整个容器的最大内存使用量为2GB。

可以定义多个 -v 选项来挂载多个卷(volumes)。每个 -v 选项允许指定一个宿主机上的目录或文件映射到容器内的一个位置:

  1. sudo docker run -d --name elasticsearch \
  2. --restart always \
  3. --memory="2g" \
  4. -v /dockerData/elasticsearch/data:/usr/share/elasticsearch/data \
  5. -v /dockerData/elasticsearch/config:/usr/share/elasticsearch/config \
  6. -p 9200:9200 -p 9300:9300 \
  7. -e "discovery.type=single-node" \
  8. -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  9. docker.elastic.co/elasticsearch/elasticsearch:8.16.1

去掉always,使用unless-stopped重启:

  1. sudo docker run -d --name elasticsearch \
  2. --restart unless-stopped \
  3. --memory="2g" \
  4. -v /dockerData/elasticsearch/data:/usr/share/elasticsearch/data \
  5. -v /dockerData/elasticsearch/config:/usr/share/elasticsearch/config \
  6. -p 9200:9200 -p 9300:9300 \
  7. -e "discovery.type=single-node" \
  8. -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  9. docker.elastic.co/elasticsearch/elasticsearch:8.16.1

单次不重启:

  1. sudo docker run -d --name elasticsearch \
  2. --memory="2g" \
  3. -v /dockerData/elasticsearch/data:/usr/share/elasticsearch/data \
  4. -v /dockerData/elasticsearch/config:/usr/share/elasticsearch/config \
  5. -p 9200:9200 -p 9300:9300 \
  6. -e "discovery.type=single-node" \
  7. -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  8. docker.elastic.co/elasticsearch/elasticsearch:8.16.1

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

/ 登录

评论记录:

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

分类栏目

后端 (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)

热门文章

116
云平台
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top