Docker安装elasticsearch和kibana脚本(解决内存不够导致的启动不了es)

version: '2'
services:
  elasticsearch:
    container_name: elasticsearch
    image: daocloud.io/library/elasticsearch:6.5.4
    ports:
      - "9200:9200"
    environment:
    	# 下面这句设置设置初始化内存为64m,最大内存为128m,
    	#es默认的内存1G(好像是)如果做实验或者是在虚拟机上,
    	#没必要给这么多,如果虚拟机内存不够,会报错。
      - "ES_JAVA_OPTS=-Xms64m -Xmx128m"	
      	# 单机模式,非集群
      - "discovery.type=single-node"
      - # 环境变量名称
      - "COMPOSE_PROJECT_NAME=elasticsearch-server"
    restart: always

  kibana:
    container_name: kibana
    image: daocloud.io/library/kibana:6.5.4
    ports:
      - "5601:5601"
    restart: always
    environment:
      - ELASTICSEARCH_HOSTS=你的ip地址:9200

说明:

最近在学习es,网上关于很多es的docker安装都出现了问题,尤其是内存不够导致的es启动失败。
确保安装了jdk1.8以上或者openjdk-11-jdk(我的环境)
安装openjdk
apt-get install openjdk-11-jdk
摸索了很久后,解决了常见问题后,将该脚本配置完善。

该镜像是从daocloud.io镜像站上拉取的速度更快。
es和kibana版本为6.5.4,便于学习,可以改成其他版本。
运行
将这个脚本复制到:docker-compose.yml(在空文件夹中创建)中
在当前文件夹下,运行docker-compose.yml up -d等待一段事件,让其下载运行。
在浏览器中使用 你的ip地址+9200来访问es,返回与下面类似的json数据则启动成功,当然kibana只需访问5601端口出现界面即可。

{
  "name" : "Lgx6cCm",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "45S0sg7EQ8K_QrOjXaBYIQ",
  "version" : {
    "number" : "6.5.4",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "d2ef93d",
    "build_date" : "2018-12-17T21:17:40.758843Z",
    "build_snapshot" : false,
    "lucene_version" : "7.5.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}
posted @ 2020-10-20 17:04  没尾巴的刺刺鱼  阅读(610)  评论(0编辑  收藏  举报