Docker安装ElasticSearch7.1.0 + Kibana

ElasticSearch是这两年非常流行的搜索引擎+数据库解决方案;ES具有可扩展、易于多语言操作等优势。Docker是云生态下流行的即开即用技术工具。本文简单介绍下利用docker搭建ES集群的过程。

参考文档

  1. Docker集群部署—单机多容器实例
  2. Docker中Kibana安装
1. Docker拉取ES镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.1.0
2. 启动

启动master

docker run -d -p 9200:9200 -p 9300:9300 --name elas1 -h elas1  -e cluster.name=xxx-es -e cluster.initial_master_nodes=elas1 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e xpack.security.enabled=false docker.elastic.co/elasticsearch/elasticsearch:7.1.0

报错1

max virtual memory areas vm.max_map_count [65530] is too low

查下来提示是母机操作系统参数设置太小,更改/etc/sysctl.conf中的参数。

echo "vm.max_map_count=262144" > /etc/sysctl.conf
sysctl -p

报错2

the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

7.1.0版本启动时需要加上日志里面提供的3个参数之一;这里我加上cluster.initial_master_nodes这个。

启动slave1 和 slave2两个节点

docker run -d -p 9211:9200 -p 9311:9300 --link elas1  --name elas2 -e cluster.name=xxx-es -e cluster.initial_master_nodes=elas1 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e xpack.security.enabled=false -e discovery.zen.ping.unicast.hosts=elas1 docker.elastic.co/elasticsearch/elasticsearch:7.1.0
docker run -d -p 9222:9200 -p 9322:9300 --link elas1  --name elas3 -e cluster.name=xxx-es -e cluster.initial_master_nodes=elas1 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e xpack.security.enabled=false -e discovery.zen.ping.unicast.hosts=elas1 docker.elastic.co/elasticsearch/elasticsearch:7.1.0
3.安装Kibana
docker run -d --name kibana  --link elas1 -e ELASTICSEARCH_HOSTS=http://elas1:9200 -p 5601:5601 docker.elastic.co/kibana/kibana:7.1.0

在启动kibana容器失败后查看日志,发现有一个没法路由的地址elasticsearch,怀疑是启动参数的问题,终于在中文版的栈溢出网站找到了原因,因为新版本的ES更改了环境变量名字为ELASTICSEARCH_HOSTS。更新后重新拉起容器即可。

{"type":"log","@timestamp":"2019-06-25T13:56:10Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"}
    {"type":"log","@timestamp":"2019-06-25T13:56:10Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"No living connections"}
    {"type":"log","@timestamp":"2019-06-25T13:56:10Z","tags":["warning","task_manager"],"pid":1,"message":"PollError No Living connections"}
4. 验证(略)
curl http://localhost:9200/_cat/health?v
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值