更多文章教程在我的博客:https://www.xuchuruo.cn
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
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
$ 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
这里采用第二种方式
官方文档: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
成功显示版本号之后,开始下一步
$ 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
安装方法参考上一篇文章:Linux安装ES以及系列插件
所以只需要把ik放到plugins文件下重启es即可
先进入容器:
// 查看运行中的容器
$ docker ps
// exec 进入容器
# root_elasticsearch_1 = 容器名字 | CONTAINER ID也可以
$ docker exec -it root_elasticsearch_1 /bin/bash
// 退出容器
ctrl+p+q
在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