Docker安装elasticsearch + head + kibana(避坑)
<h2>docker 安装es + es-head + kibana</h2>
最近项目中可能会用到elasticsearch,所以想在腾讯云上搭建一个elasticsearch当做练手用。考虑到服务器的配置,所以选择了docker安装部署。
直接下载软件压缩包解压之后也是可以直接用的,不过嫌麻烦,用docker一样的。本次es+kibana版本都为7.7.1,相对来说版本比较高,所以安装的时候踩了很多坑,希望这篇文章能给大家带来帮助,后续也回发布一些学习过程中的经验和心得。
参考网址:
es安装:https://www.cnblogs.com/nesn/p/15898123.html
https://blog.csdn.net/fangkang7/article/details/119942514
kibana安装:https://blog.csdn.net/lsy_csdn_/article/details/118069189
```
个人执行步骤如下:
首先服务器系统要有docker,这个非常简单,就不说docker安装了。
一、安装es:
a、使用docker直接获取es镜像,执行命令docker pull elasticsearch:7.7.1 (版本自己选择,7.x都差别不大,不过要保证es和kibana版本一致。)
通过挂挂载的方式将配置文件和data数据进行容器外持久化。
#1、创建Elasticsearch配置文件夹
mkdir -p /usr/local/data-docker/elasticsearch/config
#2、创建Elasticsearch数据文件夹
mkdir -p /usr/local/data-docker/elasticsearch/data
#3、创建Elasticsearch插件文件夹(如:ik)
mkdir -p /usr/local/data-docker/elasticsearch/plugins
#说明:目的将CentOS本地的文件夹映射到Elasticsearch容器,以实现容器数据的持久化到CentOS本地,以及通过CentOS本地文件夹内容的修改同步到容器
#4、对文件夹进行赋值
chmod -R 777 /usr/local/data-docker/elasticsearch/
#5、注意,当我们通过es-head访问es时,9100->9200,需要解决跨域问题。
命令:touch /usr/local/data-docker/elasticsearch/config/elasticsearch.yml
命令:vim elasticsearch.yml
内容:
http.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
#6、执行docker启动命令
docker run --name elasticsearch -p 9200:9200
-p 9300:9300
-e "discovery.type=single-node"
-e ES_JAVA_OPTS="-Xms512m -Xmx1024m"
-v /usr/local/data-docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
-v /usr/local/data-docker/elasticsearch/data:/usr/share/elasticsearch/data
-v /usr/local/data-docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins
-d elasticsearch
#自己注意语句赋值粘贴是否正确哈!不要有换行符。
字段说明:
--name elasticsearch:将Elasticsearch容器命名为 elasticsearch
-p 9200:9200:将容器的9200端口映射到宿主机9200端口
-p 9300:9300:将容器的9300端口映射到宿主机9300端口,目的是集群互相通信
-e "discovery.type=single-node":单例模式
-e ES_JAVA_OPTS="-Xms64m -Xmx128m":配置内存大小 根据自己的服务器量力而行。
-v /usr/local/data-docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:将配置文件挂载到宿主机
-v /usr/local/data-docker/elasticsearch/data:/usr/share/elasticsearch/data:将数据文件夹挂载到宿主机
-v /usr/local/data-docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins:将插件目录挂载到宿主机(需重启)
-d elasticsearch:后台运行容器,并返回容器ID
#7、启动之后自己访问http://服务器ip:9200, 能否获取下面结果。(服务器命令行:curl http://localhost:9200)
{
"name" : "550eca5cf3b2",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "1mP9IJU3TUy_C2DZMfKGBg",
"version" : {
"number" : "7.7.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "81a1e9eda8e6183f5237786246f6dced26a10eaf",
"build_date" : "2020-05-12T02:01:37.602180Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
#8、设置自动启
docker update elasticsearch --restart=always
```
```
二、安装es-head
1、拉去镜像。也采用Docker进行快速安装,跟上边一样同样先拉取镜像,执行命令docker pull mobz/elasticsearch-head:7.7.1
2、创建容器,执行docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:7.7.1
3、启动容器:docker start 容器id
4、访问http://ip:9100.
```
```
三、安装kibana(这个问题比较多,因为要连接es)
1、创建挂在的配置文件
mkdir -p /usr/local/data-docker/kibana/conf
在该文件夹下创建配置文件
touch kibana.yml
2、修改配置文件参数
配置IP地址为通用地址:
server.host: "0.0.0.0"
② 配置访问elasticsearch地址:(这一步问题最多)
elasticsearch.hosts: [ "http://172.17.0.5:9200" ]
坑点有二:1、是版本高的kibana不再使用url,而是hosts参数
2、因为需要连接es,而我们的es又是使用docker启动,所以需要执行docker inspect elasticsearch 来获取es的内部连接地址
"IPAddress": "172.17.0.5",
③ 配置kibana数据在elasticsearch存储index:
kibana.index: "kibana_index"
具体配置如下:
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://172.17.0.5:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
3、启动容器(如果没有提前拉去镜像,会自动下载指定版本镜像,参数同上)
docker run -d --name=kibana --restart=always -p 5601:5601 -v /usr/local/data-docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:7.7.1
4、访问 http://服务器ip:5601 即可访问。
页面如下:
```
至此结束。
本文来自博客园,作者:香蕉少侠,转载请注明原文链接:https://www.cnblogs.com/BananaMan666/p/16203395.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具