李小白ES踩坑实录:Docker安装Elasticsearch,Kibana

欢迎大家来到李小白ES踩坑系列,系列记录了本人李小白在ES学习踩坑过程中的一点小小总结。如果大家觉得有用,欢迎点赞,如有问题,恳请指出。探索路上,一起前行……

第一篇内容简介:

  • Elasticsearch安装使用

  • Kibana安装使用

  • 基本命令界面

  • 踩坑记录

假设你已经有一台centos的虚拟机

假设你已经安装了Docker环境

假设你已经掌握了Docker的基本操作

假设。。你还想继续看下去。。

开始

安装ES:版本7.2.0 当前最新版本

docker pull elasticsearch:7.2.0

启动:

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.2.0

参数解析:

  • -d 后台运行
  • --name docker容器名称
  • -p 映射端口
  • -e 环境变量
  • 最后是刚刚pull下来的镜像和版本号

启动成功:

测试一下没有问题:哎呦不错

[root@lixiaobai]# curl http://localhost:9200
{
  "name" : "8d86cd01c25e",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "quRlLRH1RjSexr_Lvu8S3A",
  "version" : {
    "number" : "7.2.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "508c38a",
    "build_date" : "2019-06-20T15:54:18.811730Z",
    "build_snapshot" : false,
    "lucene_version" : "8.0.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

安装Kibana:

同样pull镜像 启动镜像

docker pull kibana:7.2.0
docker run -d --name kibana -p 5601:5601 --link elasticsearch -e "ELASTICSEARCH_URL=http://your-ip:9200" kibana:7.2.0
  • --link链接elasticsearch容器
  • -e设置环境变量

启动Kibana之后就能看到界面了

访问以下:http://locahost:5601

李小白ES踩坑实录:Docker安装Elasticsearch,Kibana_第1张图片

可以看到很多个菜单和一个好看的界面

然而事情并不简单

踩坑实例:

es默认镜像以集群方式启动,如果恰好你的机器是刚配的机器,就会如下问题:

docker run -d -p 9200:9200 --name es elasticsearch:7.2.0

ERROR: [2] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[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

第一个问题:

编辑 /etc/sysctrl.conf添加一行

vm.max_map_count=655360

然后加载配置 sysctl -p

第二个问题:

可以在es:/usr/share/elasticsearch/config/elasticsearch.yml里添加一行

cluster.initial_master_nodes: ["node-1"]

然后cp到容器里 restart

docker cp elasticsearch.yml elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml
docker start elasticsearch

如果你 -v 映射了目录直接改相应文件重启即可

还有一种就是本文开头这样以单机模式启动  -e "discovery.type=single-node"

好了,今天的就到这里。李小白第一坑就踩到这。如果想研究ES集群怎么整,之后再说。那时候会假设你会docker-compose。。docker stack。。docker swarm。。Kubernetes。。

下次见。。

O(∩_∩)O~

你可能感兴趣的:(Elasticsearch,Docker)