虚拟机环境docker下简单搭建单节点elasticsearch+kibana

之前自己从网上找了不少搭建的文档,但是总是有这样那样的问题,有些文档上一条命令和下一条命令定义的别名都不一致,还有漏脚本的,用起来很费劲,所以重新整理了一下发出来,避免以后忘了。docker的安装不在本文中赘述。

环境:win10系统,hyper-v虚拟机,CentOS7系统,docker,elasticsearch 7.0.0版,kibana 7.0.0版

 

一.安装elasticsearch

#下载elasticsearch镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.0.0

# 创建并运行elasticsearch容器
# 5601是kibana的默认端口,9200是es的默认端口,discovery.type指定单节点模式
docker run -d --name es -p 5601:5601 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.0.0

# 测试
curl http:
//localhost:9200

二.安装kibana

# 创建并运行kibana
# -e ELASTICSEARCH_URL指定es的地址,--network指定使用es的网络,可以借用es开放的5601端口 docker run
-it -d -e ELASTICSEARCH_URL=http://localhost:9200 --name kibana --network=container:es kibana:7.0.0
#修改一下kibana的配置文件,要不kibana启动会报kibana is not ready yet的错误
# 进入kibana容器/bin/bash目录
docker exec -it kibana /bin/bash

# 进入config目录
cd config

# 修改kibana的配置文件,启动时的配置参数都是从这儿来的
vi kibana.yml

elasticsearch.hosts默认是 ["http://elasticsearch:9200"],网上的文档没提到过要改,但是我运行kibana会报错,后来研究出来改成下图这样 ,就OK了 

然后保存退出文件修改

#退出kibana容器
exit

# 重启kibana
docker restart kibana

#在浏览器输入虚拟机的url:5601测试一下是否连通,例如:http://172.16.205.175:5601

 

也许会遇到虚拟机防火墙端口未开的问题,可能会用到下面的脚本开启端口

# 开放端口
firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9300/tcp --permanent

# 重启防火墙
firewall-cmd --reload

 

 

有些安装文档写了需要配置跨域,但是我没配,在宿主机上访问也正常,上面就没写

#进入es容器内部
docker exec -it es /bin/bash
cd config

# 修改配置文件
vi elasticsearch.yml

# 加入跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"

# 退出es容器
exit

# 重启es容器
docker restart es

 

posted on 2019-04-29 16:46  懒蛋君  阅读(1704)  评论(0编辑  收藏  举报

导航