2、docker安装elasticSearch和head插件

一、安装环境

操作系统:CentOS Linux release 7.9.2009 (Core)
docker版本: 20.10.11

二、下载镜像文件

docker hub查看elasticsearch和head版本号,选择下载

docker pull elasticsearch:7.14.2
docker pull mobz/elasticsearch-head:5-alpine

执行命令查看刚刚拉去的文件

docker images

在这里插入图片描述

三、启动elasticsearch

查看docker hub

docker run -d --name elasticsearch  -p 9200:9200 -p 9300:9300 -e  "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" elasticsearch:7.14.2

-d 后台启动
–name 起别名即:NAMES
-p 9200:9200 将端口映射出来
elasticsearch的9200端口是供外部访问使用;9200端口是供内部访问使用集群间通讯
–net somenetwork暂不使用
-e启动时替换elasticsearch的配置文件
-e “discovery.type=single-node"单节点启动
-e ES_JAVA_OPTS=”-Xms256m -Xmx256m" 限制内存大小

查看是否启动

docker ps

设置数据卷

将docker的文件映射在docker外部
配置文件、创建存放日志和数据的文件夹

mkdir -p /data/elasticsearch/{config,data,logs,plugins}
vi /data/elasticsearch/config/elasticsearch.yml

elasticsearch.yml内容

cluster.name: "docker-cluster"
network.hosts:0.0.0.0
# 跨域
http.cors.allow-origin: "*"
http.cors.enabled: true

将docker文件拷贝出来

docker cp elasticsearch:/usr/share/elasticsearch/config /data/elasticsearch
docker cp elasticsearch:/usr/share/elasticsearch/logs /data/elasticsearch
docker cp elasticsearch:/usr/share/elasticsearch/data /data/elasticsearch
docker cp elasticsearch:/usr/share/elasticsearch/plugins /data/elasticsearch

执行之后查看本机/data/elasticsearch/logs中有刚才启动后生成的日志文件

停止并删除elasticsearch容器

docker rm elasticsearchID

启动并挂在外部文件夹

docker run -d --name elasticsearch.7.14.2 \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \
-v /data/elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /data/elasticsearch/data:/usr/share/elasticsearch/data \
-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.14.2

测试

curl localhost:9200

结果

四、启动elasticsearch-head插件

docker images

docker images结果

docker run -d \
--name=elasticsearch-head \
-p 9100:9100 \
mobz/elasticsearch-head:5-alpine

mobz/elasticsearch-head:5-alpine 为REPOSITORY和TAG

测试

curl localhost:9100

在这里插入图片描述
这是使用的腾讯云服务器,登录控制台,将9200和9100端口放开
在这里插入图片描述

五、外部访问测试

访问elasticsearch

在这里插入图片描述

访问elasticsearch-head

在这里插入图片描述

六、遇到问题

使用elasticsearch-head创建index的时候没有反应,查看控制台报错406

解决办法

进入elasticsearch-head容器内

docker exec -it elasticsearch-head /bin/sh
vi _site/vendor.js

修改vendor.js

将第6886行
contentType: "application/x-www-form-urlencoded",
改为
contentType: "application/json;charset=UTF-8",
将第7574行
var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
改为
var inspectData = s.contentType === "application/json;charset-UTF-8" &&

在这里插入图片描述

在这里插入图片描述

修改完之后退出容器并重启

exit
docker restart elasticsearch-head

再次创建index就成功了!

elasticsearch设置用户名和密码
请查阅 该贴https://blog.csdn.net/IT_road_qxc/article/details/121858843

新手最近开始写文章,手敲不易,请多多支持!在此感谢每位读者0.0

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值