找回密码
 立即注册
快捷导航

[Docker/K8s] docker安装单机es8(elasticsearch 8.8.1) / 关闭ssl并修改密码

[复制链接]
庶民 2023-7-7 01:30:27 | 显示全部楼层
本帖最后由 dlsite 于 2023-9-6 22:41 编辑

先拉取下来:docker pull elasticsearch:8.8.1
拉取下来后,用下面两种方式启动容器

方法1,使用主机挂载目录方式
第一步,创建挂载目录并设置权限:
mkdir -p $HOME/es8/config
cd $HOME/es8/
mkdir data plugins
chmod -R 777 $HOME/es8
第二步,创建一个临时es并拷贝容器里面的config目录内容到宿主机的挂在目录上:
docker run -d --name elasticsearch --rm -p 9600:9200 -p 9601:9300 -e "discovery.type=single-node" elasticsearch:8.8.1
等待https://xxx:9600能访问才继续下一步:
docker cp -a elasticsearch:/usr/share/elasticsearch/config $HOME/es8
docker stop elasticsearch
第三步,正式启动es8:
docker run --name es --privileged=true -d -p 9600:9200 -p 9601:9300 -v $HOME/es8/config:/usr/share/elasticsearch/config -v $HOME/es8/data:/usr/share/elasticsearch/data -v $HOME/es8/plugins:/usr/share/elasticsearch/plugins -e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" -e "discovery.type=single-node" elasticsearch:8.8.1

如果容器没启动成功,可以查看下es的报错输出:docker logs es -f

为何还要设置主机挂载目录权限?
The container runs Elasticsearch as user elasticsearch using uid:gid 1000:1000**. Bind mounted host directories and files must be accessible by this user, and the data and log directories must be writable by this user.

方法2,使用命名卷(推荐)
docker run --privileged=true --name es -d -p 9600:9200 -p 9601:9300 -v esconfig:/usr/share/elasticsearch/config -v esdata:/usr/share/elasticsearch/data -v $HOME/elasticsearch/plugins:/usr/share/elasticsearch/plugins -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" elasticsearch:8.8.1

如果容器没启动成功,可以查看下es的报错输出:docker logs es -f

查看命名卷的真实路径:
docker volume inspect <volumeName>
例如:docker volume inspect esdata

--------------------------------------------------------------------------------

设置es自动启动:docker update --restart=always es

进入容器内:docker exec -it es /bin/bash

在最新版本(ES 8)中,安全性默认为打开(即SSL/TLS),如果您从浏览器访问,只需使用https而不是http
要关闭ssl,即:将xpack.security.enabled设置为false,步骤:容器内在18行,将其改为false:
sed -i '18s/.*/  enabled: false/' /usr/share/elasticsearch/config/elasticsearch.yml
-i 持久化保存

docker安装单机es8(elasticsearch 8.8.1) / 关闭ssl并修改密码181 作者:庶民 帖子ID:436

容器内,修改elastic账号的密码
elasticsearch-reset-password -u elastic -i

exit
docker restart es

参考:
https://blog.csdn.net/javaboyweng/article/details/130871019
回复

使用道具 举报

主题

0

回帖

1048

积分

功行圆满

 楼主| 庶民 2023-7-20 20:30:41 | 显示全部楼层
本帖最后由 庶民 于 2023-7-20 20:33 编辑

elasticsearch.yml

#集群名称
cluster.name: material-es
#当前该节点的名称
node.name: node-1
#是不是有资格竞选主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#给当前节点自定义属性(可以省略)
#node.attr.rack: r1
#数据存档位置
path.data: /usr/share/elasticsearch/data
#日志存放位置
path.logs: /usr/share/elasticsearch/log
#是否开启时锁定内存(默认为是)
#bootstrap.memory_lock: true
#设置网关地址,我是被这个坑死了,这个地址我原先填写了自己的实际物理IP地址,
#然后启动一直报无效的IP地址,无法注入9300端口,这里只需要填写0.0.0.0
network.host: 0.0.0.0
#设置其它结点和该结点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址,设置当前物理机地址,
#如果是docker安装节点的IP将会是配置的IP而不是docker网管ip
network.publish_host: 175.6.3.132
#设置映射端口
http.port: 9200
#内部节点之间沟通端口
transport.tcp.port: 9300
#集群发现默认值为127.0.0.1:9300,如果要在其他主机上形成包含节点的群集,如果搭建集群则需要填写
#es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点,也就是说把所有的节点都写上
discovery.seed_hosts: ["175.6.3.132:9300","175.6.3.133:9300","175.6.3.134:9300"]
#当你在搭建集群的时候,选出合格的节点集群,有些人说的太官方了,
#其实就是,让你选择比较好的几个节点,在你节点启动时,在这些节点中选一个做领导者,
#如果你不设置呢,elasticsearch就会自己选举,这里我们把三个节点都写上
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
#在群集完全重新启动后阻止初始恢复,直到启动N个节点
#简单点说在集群启动后,至少复活多少个节点以上,那么这个服务才可以被使用,否则不可以被使用,
gateway.recover_after_nodes: 2
#删除索引是是否需要显示其名称,默认为显示
#action.destructive_requires_name: true
# 是否支持跨域,默认为false
http.cors.enabled: true
# 当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。/https?:\/\/localhost(:[0-9]+)?/
http.cors.allow-origin: "*"

参考:Docker部署Elasticsearch集群并开启安全设置

   
回复

使用道具 举报

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

本版积分规则

1楼
2楼
温馨提示

关于 注册码 问题

      由于近期经常大量注册机器人注册发送大量广告,本站开启免费入群领取注册码注册网站账号,注册码在群公告上贴着...

关于 注册码 问题

      由于近期经常大量注册机器人注册发送大量广告,本站开启免费入群领取注册码注册网站账号,注册码在群公告上贴着...

Archiver|手机版|小黑屋|DLSite

GMT+8, 2024-10-30 10:20

Powered by Discuz! X3.5 and PHP8

快速回复 返回顶部 返回列表