这里写图片描述

更多文章教程在我的博客:https://www.xuchuruo.cn

下载ES

1.使用docker下载es

$ docker pull docker.elastic.co/elasticsearch/elasticsearch:6.4.0

2.运行es

$ docker run -it -p 9200:9200 -p 9300:9300 --name myes docker.elastic.co/elasticsearch/elasticsearch:6.4.0

报错,jvm内存不够:

There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 2060255232 bytes for committing reserved memory.
An error report file with more information is saved as:
/tmp/hs_err_pid1.log

使用 docker -e 设置变量

//ES_JAVA_OPTS=内存大小 NETWORK_HOST=kibana远程访问
$ docker run -it -p 9200:9200 -p 9300:9300 --name myes -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e NETWORK_HOST="0.0.0.0" docker.elastic.co/elasticsearch/elasticsearch:6.4.0

访问即可


如果报以下错,容器重名:
docker: Error response from daemon: Conflict. The container name “/myes” is already in use by container “735173b317004782464d94fb072bf41170ff06dae579a94f35ac782bef3254d3”.
You have to remove (or rename) that container to be able to reuse that name

删除运行的容器


$ docker ps -a
$ docker rm myes

* 更多错误查询官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

下载kibana


$ docker pull docker.elastic.co/kibana/kibana:6.4.0

运行kibana

$ docker run -it -p 5601:5601 -e SERVER_HOST="0.0.0.0" -e ELASTICSEARCH_URL="http://ES的IP:9200" --name mykibana docker.elastic.co/kibana/kibana:6.4.0

这里写图片描述

老版本的es需要设置
index patter改为*
Time Filter field name选第一个即可


每次都用这次方式启动的话,很麻烦,容易出错
正确的方式应该是配置好,直接运行即可
有2个思路:
1. 使用dockerfile创建自定义镜像
2. 使用Docker-Compose
这里采用第二种方式

下载Docker-Compose

  • Compose可以使用YAML文件来配置应用服务

官方文档:https://docs.docker.com/compose/install/#prerequisites

Compose最新版本:https://github.com/docker/compose/releases

1.下载

// 1.22.0即版本号
$ curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

2.修改权限

$ chmod +x /usr/local/bin/docker-compose

3.测试

$ docker-compose --version

创建yml文件

成功显示版本号之后,开始下一步

$ vim docker-compose.yml

输入以下内容:

version: '2.2' # Version2支持更多的指令
services: # 包含需要操作的容器
elasticsearch: # 容器的名称
image: docker.elastic.co/elasticsearch/elasticsearch:6.4.0 # 指定基于哪个镜像
environment:
- cluster.name=esCluster # 集群名字,没有就不管
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" # JVM大小
ports:
- 9200:9200 # 指定映射的端口
kibana:
image: docker.elastic.co/kibana/kibana:6.4.0
environment:
SERVER_NAME: kibana
ELASTICSEARCH_URL: http://ES的IP:9200
ports:
- "5601:5601"

启动es和kibana

$ docker-compose up

这里写图片描述

安装ik分词器

安装方法参考上一篇文章:Linux安装ES以及系列插件

所以只需要把ik放到plugins文件下重启es即可

先进入容器:

// 查看运行中的容器
$ docker ps


// exec 进入容器
# root_elasticsearch_1 = 容器名字 | CONTAINER ID也可以
$ docker exec -it root_elasticsearch_1 /bin/bash


// 退出容器
ctrl+p+q

这里写图片描述

下载ik

在es根目录下,使用elasticsearch-plugin进行下载(supported from version v5.5.1)

// 连接超时的话多试几次
$ ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.0/elasticsearch-analysis-ik-6.4.0.zip

ik的版本需要和es的版本一致,不然会报以下错误
这里写图片描述
由于昨天ES刚更新到v6.4.0版本,ik目前是v6.3.2,还没有资源

所以就不演示了,和上面文章的安装方法一样

参考文档:https://www.elastic.co/guide/index.html
更多文章教程在我的博客:https://www.xuchuruo.cn

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐