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

打印 上一主题 下一主题

主题 1002|帖子 1002|积分 3006

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
YDOOK-Jinwei Lin
平台:腾讯云-轻量应用服务器-ubuntu24.04 LTS
Docker查看已有全部镜像:
  1. docker images -a
复制代码

拉取对应版本的Elasticsearch镜像:
  1. sudo docker pull docker.elastic.co/elasticsearch/elasticsearch:8.16.1
复制代码


Docker查看已有全部镜像:

查看当前目录:

在根目录 / 下面,创建一个用于持久化存储Elasticsearch数据的目录:
  1. sudo mkdir -p /data/elasticsearch
复制代码

修改该目录的全部者:
  1. sudo chown 1000:1000 /data/elasticsearch # 更改所有者为默认的elasticsearch用户
复制代码
通过 ls -l 命令查看目录权限与全部者(用户):

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

  • 文件范例(第1个字符)
    d 表示这是一个目录(directory)。假如是平凡文件,则会体现为 -,其他特殊范例的文件大概用其他字符表示,比方 l 表示符号链接(symbolic link),c 表示字符装备文件(character device),b 表示块装备文件(block device)等。
  • 全部者的权限(接下来的3个字符)
    rwx 表示文件全部者拥有读取(read)、写入(write)和执行(execute)的权限。在这个例子中,全部者可以读、写和进入这个目录。
  • 所属组的权限(再接下来的3个字符)
    r-x 表示与文件所属组关联的用户拥有读取和执行的权限,但没有写入权限。这意味着这些用户可以读取目录内容和进入该目录,但不能修改或删除该目录中的文件。
  • 其他人的权限(最后的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
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表