docker安装ElasticSearch & Kibana

docker安装elasticsearch

1.设置max_map_count不然启动es会启动不起来

查看max_map_count的值 默认是65530

cat /proc/sys/vm/max_map_count

重新设置max_map_count的值

sysctl -w vm.max_map_count=262144

2.下载镜像并运行

#拉取镜像
docker pull elasticsearch:7.7.0

#启动镜像
docker run --name elasticsearch -d \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-p 9200:9200 -p 9300:9300 elasticsearch:7.7.0

--name表示镜像启动后的容器名称  
-d: 后台运行容器,并返回容器ID;
-e: 指定容器内的环境变量
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

3.浏览器访问http://IP:9200 如果出现以下界面就是安装成功

在这里插入图片描述

尝试连接easticsearch会发现无法连接上,由于是前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置。

解决办法

修改docker中elasticsearch的elasticsearch.yml文件

docker exec -it elasticsearch /bin/bash

vi config/elasticsearch.yml

在最下面添加2行
http.cors.enabled: true 
http.cors.allow-origin: "*"

退出并重启服务
exit
docker restart 容器id

在这里插入图片描述

4.安装 elasticsearch-head

#拉取镜像
docker pull mobz/elasticsearch-head:5

#创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5

#启动容器
docker start elasticsearch-head
or
docker start 容器id (docker ps -a 查看容器id )

5.浏览器打开: http://IP:9100

在这里插入图片描述

6.ElasticSearch-head 操作时不修改配置,默认会报 406错误码

#复制vendor.js到外部
docker cp 容器id:/usr/src/app/_site/vendor.js /usr/local/

#修改vendor.js
vim vendor.js

在这里插入图片描述
修改完成在复制回容器


docker cp /usr/local/vendor.js  容器id:/usr/src/app/_site

重启elasticsearch-head


docker restart 容器id

最后就可以查询到es数据了

在这里插入图片描述

docker安装Kibana

拉取kibana镜像并运行

docker pull kibana:7.5.1

docker run --name kibana \
-p 5601:5601 \
-e ELASTICSEARCH_HOSTS=http://192.168.0.200:9200 \
-v /usr/local/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml \
-d kibana:7.7.0

--name kibana:将容器命名为kibana
-p 5601:5601:将容器的5601端口映射到宿主机的5601端口
-e ELASTICSEARCH_HOSTS=http://192.168.0.200:9200:配置elasticsearch地址
-d kibana:7.7.0:后台运行容器,并返回容器ID

1.kibana配置

注意:
运行kibana容器,配置数据卷有坑。挂在到宿主机中的kibana.yml会识别为一个文件夹,所以需要手动在宿主机中创建kibana.yml文件。
运行kibana容器,会将kibana.yml空文件映射进入容器,导致宿主机访问不到容器。需将kibana.yml文件初始化。

#
# ** THIS IS AN AUTO-GENERATED FILE **
#

# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://192.168.1.20:9200" ]

2.访问kibana地址 http://ip:5601/

在这里插入图片描述
在这里插入图片描述

linux操作防火墙

添加端口
firewall-cmd --zone=public --add-port=9300/tcp --permanent
立即生效
firewall-cmd --reload
移除端口
firewall-cmd --zone=public --remove-port=5601/tcp --permanent

阿里云服务器记得打开安全组


大工告成!!!

SpringBoot + Elasticsearch7.6实现简单查询及高亮分词查询(https://mp.weixin.qq.com/s/QQeB7UQFegr5bb1ft12flw

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Romeo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值