【Docker基础一】Docker安装Elasticsearch,Kibana,IK分词器

安装elasticsearch 

下载镜像

查看版本:Elasticsearch Guide [8.11] | Elastic

# 下载镜像
docker pull elasticsearch:7.17.16
# 查看镜像是否下载成功
docker images

创建网络

因为需要部署kibana容器,要让es和kibana容器互联

# 创建一个网络:
es-net docker network create es-net 
# 查看本机的网络 
docker network ls
# 删除一个网络
docker network rm es-net

创建容器挂载目录

# 创建挂载目录
mkdir -p /var/lib/docker/volumes/es-data/_data 
mkdir -p /var/lib/docker/volumes/es-plugins 
mkdir -p /var/lib/docker/volumes/es-config 
mkdir -p /var/lib/docker/volumes/kibana-config
# 进入es-config目录
cd /var/lib/docker/volumes/es-config 
# 创建文件
vi elasticsearch.yml 
# 键入‘’中内容: 
‘cluster.name: "docker-cluster" network.host: 0.0.0.0’ 
# 进入kibana-config目录
cd /var/lib/docker/volumes/kibana-config
# 创建文件
vi kibana.yml 
# 键入‘’中内容:其中es为es容器名
‘ 
server.host: "0.0.0.0" 
server.shutdownTimeout: "5s" 
elasticsearch.hosts: [ "http://es:9200" ] 
monitoring.ui.container.elasticsearch.enabled: true 
’

注意事项:

1)需要保证要挂载的目录有读写权限,包括要挂载的配置文件。如果没有则用chmod 777命令

2)如果要挂载配置文件,则需要提前把配置文件内容写好,不能为空,否则可能会影响es和kibana运行。

3)如果只挂载到配置文件目录,不准备配置文件,会导致创建容器后没有配置文件报错。

创建并启动容器

docker run -itd --name es -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node" -v /var/lib/docker/volumes/es-data:/usr/share/elasticsearch/data -v /var/lib/docker/volumes/es-plugins:/usr/share/elasticsearch/plugins --privileged --network es-net -p 9200:9200 -p 9300:9300 elasticsearch:7.17.16

注意:后面不要加 /bin/bash

命令解释:

-p 9200:9200

将容器9200端口映射到宿主机的9200端口,以后给ES发Rest API请求走9200

-p 9300:9300

ES在分布式集群状态下,它们节点之间的通信端口

-e "cluster.name=es-docker-cluster"

设置集群名称

-e "http.host=0.0.0.0"

监听的地址,可以外网访问

-e "ES_JAVA_OPTS=-Xms512m -Xmx512m"

内存大小

-e "discovery.type=single-node"

非集群模式

-v /var/lib/docker/volumes/es-data/_data

挂载逻辑卷,绑定es的数据目录

-v /var/lib/docker/volumes/es-config/elasticsearch.yml

挂载逻辑卷,绑定es的配置文件

-v /var/lib/docker/volumes/es-plugins

挂载逻辑卷,绑定es的插件目录

-–privileged

授予逻辑卷访问权

-–network es-net

加入一个名为es-net的网络中

查看是否启动

docker ps

访问 http://localhost:9200,查看效果

开启es安全验证

# 进入到容器中 
docker exec -it es /bin/bash 
# cd到config目录下修改elasticsearch.yml,并放入以下内容: 
‘ 
# 这俩是跨域配置 
http.cors.enabled: true 
http.cors.allow-origin: "*" 
# 开启X-pack设置密码 
http.cors.allow-headers: 
Authorization xpack.security.enabled: true 
xpack.security.transport.ssl.enabled: true 
’

如果没有vi命令

apt-get update 
apt-get install vim

重启es

docker restart es

再次进入到容器中

# 进入容器 
docker exec -it es /bin/bash 
# 进入bin文件夹
cd bin/ 
# 创建用户,并赋予权限 
./elasticsearch-users useradd gusy -r superuser 
# 以交互的方式设置用户名和密码(记住自己设置的密码) 
./elasticsearch-setup-passwords interactive

重启es容器,再次访问 http://localhost:9200查看效果,此时需要输入密码

docker restart es

安装kibana

下载镜像

重要:与es版本要一致

# 下载镜像
docker pull kibana:7.17.16
# 查看是否下载成功
docker images

启动容器

docker run -itd --name kibana17 -e ELASTICSEARCH_HOSTS=http://es:9200 --network=es-net -p 5601:5601 kibana:7.17.16

命令解释:

-e ELASTICSEARCH_HOSTS=http://es:9200

其中'es'为es容器名称

进入kibana容器

-- 0表示root用户,'kibana17'为kibana容器名称
docker exec -u 0 -it kibana17 /bin/bash

配置容器

容器中执行以下命令

# 进入config目录
cd config 
# 编辑配置文件
vi kibana.yml 
# 键入es的用户名和密码(追加)
‘ 
elasticsearch.username: "gusy" 
elasticsearch.password: "gusy" 
’

重启kibana容器

docker restart kibana17

注意:如果改了配置文件导致重启失败,执行以下命令(逻辑:复制容器配置文件到宿主机,修改正确后重新复制到容器)

# 查看错误日志 
docker logs kibana17 -f 
# 复制配置文件到本地 (前为容器配置文件,后为宿主机目录)
docker cp kibana17:/usr/share/kibana/config/kibana.yml /usr/local/software/temp/ 
# 修改完配置后,再将配置复制到容器(前为宿主机文件,后为容器要替换的容器文件)
docker cp kibana.yml kibana17:/usr/share/kibana/config/kibana.yml 
# 重启容器 
docker restart kibana17

查看效果

访问kibana,http://localhost:5601

安装IK分词器

插件下载

下载链接:要与ES版本一致,下载.zip版本

Releases · medcl/elasticsearch-analysis-ik · GitHub

 插件安装

上传到服务器(windows到linux服务器)

scp .\elasticsearch-analysis-ik-7.17.16.zip root@127.0.0.1:/usr/local/software/temp

进入ES容器,在plugins文件夹下创建ik文件夹

# 进入容器 
docker exec -it es /bin/bash 
# 创建文件夹 
mkdir -p /usr/share/elasticsearch/plugins/ik 
# 退出容器 
exit

将ik.zip文件复制到es容器(前为宿主机文件地址,后为容器地址)

docker cp elasticsearch-analysis-ik-7.17.16.zip es:/usr/share/elasticsearch/plugins/ik

再次进入容器,解压上传的文件

# 进入容器 
docker exec -it es /bin/bash 
# 进入ik文件夹 
cd /usr/share/elasticsearch/plugins/ik/ 
# 解压 
unzip elasticsearch-analysis-ik-7.17.16.zip 
# 删除源文件 
rm -rf elasticsearch-analysis-ik-7.17.16.zip 
# 退出 
exit

重启es

docker restart es

注意:注意在plugins/文件夹下不要有文件,只能有文件夹,否则重启失败,并且重新复制plugins/文件夹也没用,可以尝试以下方法解决。

# 查看es挂载目录 
docker inspect es 
# 找到挂载目录,Mounts下 
# 进入es-plugins挂载的目录,删除掉多余的文件 
cd /var/lib/docker/volumes/es-plugins/_data

查看效果

访问kibana,http://localhost:5601,首页-management-Dev-tools

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/329424.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

超维空间M1无人机使用说明书——01、ROS机载电脑使用说明——远程连接

引言:远程连接通常采用两种方式,一种是通过可视化软件,如VNC、Nomachine等,另外一种是使用SSH。各有优缺点,两种远程登录方式的优缺点做一个简单的对比: 1、SSH优缺点 优点:1、消耗网络资源 2、运行稳定 …

vue结合Cesium加载gltf模型

Cesium支持什么格式? Cesium支持的格式包括:3D模型格式(如COLLADA、gITF、OBJ)、影像格式(如JPEG、PNG、GeoTIFF)、地形格式(如STL、Heightmap)、矢量数据格式(如GeoJSON…

如何实现公网访问GeoServe Web管理界面共享空间地理信息【内网穿透】

文章目录 前言1.安装GeoServer2. windows 安装 cpolar3. 创建公网访问地址4. 公网访问Geo Servcer服务5. 固定公网HTTP地址 前言 GeoServer是OGC Web服务器规范的J2EE实现,利用GeoServer可以方便地发布地图数据,允许用户对要素数据进行更新、删除、插入…

遗传算法(GA)、模拟退火算法(SAA)、蚁群算法(ACO)、粒子群算法(PSO)优缺点汇总

遗传算法 优点: 与问题领域无关且快速随机的搜索能力,不会陷入局部最优解;搜索从群体出发,具有潜在的并行性,提高运行速度,鲁棒性高;搜索使用评价函数启发,过程简单;使…

服务容错-熔断策略之断路器hystrix-go

文章目录 概要一、服务熔断二、断路器模式三、hystrix-go3.1、使用3.2、源码 四、参考 概要 微服务先行者Martin Fowler与James Lewis在文章microservices中指出了微服务的九大特征,其中一个便是容错性设计(Design for failure)。正如文章中提到的,微服…

【LMM 013】ImageBind: One Embedding Space To Bind Them All

论文标题:ImageBind: One Embedding Space To Bind Them All 论文作者:Rohit Girdhar, Alaaeldin El-Nouby, Zhuang Liu, Mannat Singh Kalyan, Vasudev Alwala, Armand Joulin, Ishan Misra∗ 作者单位:FAIR, Meta AI 论文原文:h…

SpringSecurity集成JWT实现后端认证授权保姆级教程-数据准备篇

🍁 作者:知识浅谈,CSDN签约讲师,CSDN博客专家,华为云云享专家,阿里云专家博主 📌 擅长领域:全栈工程师、爬虫、ACM算法 💒 公众号:知识浅谈 🔥网站…

初识Linux shell

Linux初探 Linux系统可以划分为4个部分: Linux内核:Linux系统的核心,控制着系统的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。 内核主要功能: 系统内存管理:内核通过硬件上称为交换…

C++ goto语句

作用:可以无条件跳转语句,类似计算机组成原理mips指令集中的jump直接跳转指令(汇编语言)。 语法:goto标记; 解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的…

2024年更新阿里云服务器地域选择方法,哪个地域比较好?

阿里云服务器地域和可用区怎么选择?地域是指云服务器所在物理数据中心的位置,地域选择就近选择,访客距离地域所在城市越近网络延迟越低,速度就越快;可用区是指同一个地域下,网络和电力相互独立的区域&#…

为什么圈子里面的很讨厌阿里巴巴出来的CTO

在杭州的互联网公司,有一个不争的事实,那就是独角兽公司的CTO几乎都是阿里背景的,且都是高P的,当然很少有高M的,高M的基本上都是自己开公司做CEO或者是做业务总裁了。 为什么会这个样子呢?当然还是由于阿里…

即时战略游戏的AI策略思考

想起来第一次玩RTS游戏,就是框住一大群兵进攻,看他们把对面消灭干净……我接触的第一款游戏是《傲世三国》那会儿是小学,后来高中接触了魔兽地图编辑器,我发现自己喜欢直接看属性而省去争论和试验的步骤——我喜欢能一眼看透的感觉…