文档章节

docker 安装ElasticSearch(6.x版本)

yimingkeji
 yimingkeji
发布于 2018/12/05 15:32
字数 899
阅读 3154
收藏 5

安装ElasticSearch

拉取镜像,选择版本为6.5.0

$ docker pull elasticsearch:6.5.0

查看镜像

$ docker images

启动一个容器

$ docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -p 9200:9200 -p 9300:9300 elasticsearch:6.5.0
42d639a089348b393b0cc912141ef357b6565996c5c4863e363f8729da229d7d

然后访问 GET localhost:9200 ,发现未启动成功,查看日志

$ docker logs -f 42d6
[2018-12-05T06:07:06,546][INFO ][o.e.b.BootstrapChecks    ] [IHubvTB] bound or publishing to a non-loopback address, enforcing bootstrap checks
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2018-12-05T06:07:06,630][INFO ][o.e.n.Node               ] [IHubvTB] stopping ...
[2018-12-05T06:07:06,939][INFO ][o.e.n.Node               ] [IHubvTB] stopped
[2018-12-05T06:07:06,939][INFO ][o.e.n.Node               ] [IHubvTB] closing ...
[2018-12-05T06:07:06,973][INFO ][o.e.n.Node               ] [IHubvTB] closed

这里提示:vm.max_map_count [65530] is too low, increase to at least [262144],说max_map_count的值太小了,需要设大到262144

查看max_map_count的值

$ cat /proc/sys/vm/max_map_count
65530

重新设置max_map_count的值

$ sysctl -w vm.max_map_count=262144
vm.max_map_count = 262144

再次启动容器

$ docker start 42d6

再次访问 GET localhost:9200

{
    "name": "IHubvTB",
    "cluster_name": "docker-cluster",
    "cluster_uuid": "edN3o1PkTAKF5C4N-Uw7tQ",
    "version": {
        "number": "6.5.0",
        "build_flavor": "default",
        "build_type": "tar",
        "build_hash": "816e6f6",
        "build_date": "2018-11-09T18:58:36.352602Z",
        "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"
}

安装成功。

head插件安装

5.x版本head插件安装说明

1.x版本和2.x版本,可以直接使用plugin命令来安装head插件

5.x以上版本,无法通过plugin命令来安装。

https://github.com/mobz/elasticsearch-head 文档说明:

插件不支持,需要借助node来跑一个服务

Running as a plugin of Elasticsearch (deprecated)
for Elasticsearch 5.x: site plugins are not supported. Run as a standalone server
for Elasticsearch 2.x: sudo elasticsearch/bin/plugin install mobz/elasticsearch-head
for Elasticsearch 1.x: sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head/1.x
for Elasticsearch 0.x: sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head/0.9
open http://localhost:9200/_plugin/head/
Running with built in server
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start
open http://localhost:9100/
This will start a local webserver running on port 9100 serving elasticsearch-head

或者安装google插件

Running as a Chrome extension
Install ElasticSearch Head from the Chrome Web Store.
Click the extension icon in the toolbar of your web browser.

但是还有一种安装方式,就是通过docker安装,访问地址是 http://localhost:9100/

Running with docker
for Elasticsearch 5.x: docker run -p 9100:9100 mobz/elasticsearch-head:5
for Elasticsearch 2.x: docker run -p 9100:9100 mobz/elasticsearch-head:2
for Elasticsearch 1.x: docker run -p 9100:9100 mobz/elasticsearch-head:1
for fans of alpine there is mobz/elasticsearch-head:5-alpine
open http://localhost:9100/

使用docker安装head插件

拉取镜像(这里选择国内镜像源)

$ docker pull mobz/elasticsearch-head

启动容器

$ docker run -d -p 9100:9100 --name elasticsearch-head elasticsearch-head

然后浏览器访问 localhost:9200

出现这个界面,说明head插件安装成功。

但是发现健康值为:未连接?

打开浏览器调试,发现报错信息:

Access to XMLHttpRequest at 'http://localhost:9200/' from origin 'http://localhost:9100' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

这里也就是跨域错误

https://github.com/mobz/elasticsearch-head 文档中也有说明:

Enable CORS in elasticsearch
When not running as a plugin of elasticsearch (which is not even possible from version 5) you must enable CORS in elasticsearch otherwise your browser will rejects requests which appear insecure.

In elasticsearch configuration;

add http.cors.enabled: true
you must also set http.cors.allow-origin because no origin allowed by default. http.cors.allow-origin: "*" is valid value, however it’s considered as a security risk as your cluster is open to cross origin from anywhere.

ElasticSearch跨域设置

进入elasticsearch容器

$ docker exec -it 42d639a08934 /bin/bash

找到配置文件的目录

$ /usr/share/elasticsearch/config
$ ls
elasticsearch.keystore  ingest-geoip  log4j2.properties  roles.yml  users_roles
elasticsearch.yml       jvm.options   role_mapping.yml   users

修改elasticsearch.yml,需要安装vim(参考 https://my.oschina.net/yimingkeji/blog/2978974)

如果提示apt-get不存在,使用yum安装vim

$ yum install -y vim

安装后编辑elasticsearch.yml

$ vim elasticsearch.yml
# ----添加内容----
# head插件设置
http.cors.enabled: true
http.cors.allow-origin: "*"

重启容器

$ docker restart 42d639a08934

再次访问插件

安装完成。

© 著作权归作者所有

yimingkeji
粉丝 14
博文 47
码字总数 30840
作品 0
杭州
私信 提问
加载中

评论(3)

Aron-china
Aron-china
我跨域那点要设置这个才可以
#跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: /.*/
yimingkeji
yimingkeji 博主

引用来自“IntCodet”的评论

特意登陆给你评论, 谢谢! 解决了我一个bug
不客气,很开心能帮到你
I
IntCodet
特意登陆给你评论, 谢谢! 解决了我一个bug
自己动手制作elasticsearch-head的Docker镜像

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/86663168 关于elasticsearch-head插件 通过elasticsearch-head插件可以更方便的查询es,观察...

博陵精骑
01/27
0
0
docker 安装ElasticSearch(2.x版本)

安装ElasticSearch 从docker仓库搜索ElasticSearch 选择一个版本,拉取镜像。这里选择2.4.4 查看镜像 通过镜像,启动一个容器,并将9200和9300端口映射到本机 说明: -d 后台启动 -p 映射端口...

yimingkeji
2018/12/05
423
0
ASP.NET Web API + Elasticsearch 6.x 快速做个全文搜索

最近想做个全文搜索,设想用 ASP.NET Web API + Elasticsearch 6.x 来实现。 网上搜了下 Elasticsearch 的资料,大部分是讲 linux 平台下如何用 java 来开发,有少量讲在 windows 平台下用 ...

无心亦逍遥
2018/12/21
0
0
Uber jaeger--一个基于Go的分布式追踪系统

Jaeger-Uber开源的一个基于Go的分布式追踪系统 最近因工作需要在研究traing系统,最后选了jaeger,下面是一些总结,同时摘抄了网上的一些资料,并结合自己实践过程中遇到的一些什么问题,欢迎...

北极之北
2018/05/30
3.9K
3
GitLab 11.5 将支持 Elasticsearch 6,放弃支持 5.5 及更低版本

近日,GitLab 发表的一篇博客表示,在 Gitlab 11.5(将于2018年11月22日发布)中,GitLab 集成的 Elasticsearch 将支持 Elasticsearch 6,并且将不再支持 5.5 或更低版本。请在升级到 GitLab...

局长
2018/11/19
2.9K
14

没有更多内容

加载失败,请刷新页面

加载更多

会用python把linux命令写一遍的人,进大厂有多容易?

看过这篇《2000字谏言,给那些想学Python的人,建议收藏后细看!》的读者应该都对一个命令有点印象吧?没错,就是 linux 中经常会用到的 ls 命令。 文章中我就提到如何提升自己的 python 能力...

上海小胖
12分钟前
1
0
HashMap的特性

一、hashmap数据结构:哈希表结构:数组+链表 hashmap调用默认构造方法会产生一个默认底层是长度为16的Entry数组,首先调用key的hasCode()方法来得到一个整数, int hash = hash(key.hashCode...

GGbird
12分钟前
2
0
第五章 spring-connet之Imports注解来龙去脉

前言 imports是一个在spring体系里非常重要的注解,基本每个Enable开头的注解必然有一个import注解。接下来我们深入研究下import的作用。看小节的同学建议先取看PostProcessorRegistrationDe...

鸟菜啊
16分钟前
1
0
CentOS部署Harbor镜像仓库

关于Harbor Harbor是用于存储和分发Docker镜像的镜像仓库服务,相比Docker Registry,Harbor在安全、标识、管理等方面做了增强,更适合企业使用; 官方网站:https://goharbor.io/ 官方开源:...

程序员欣宸
20分钟前
1
0
JavaScript调试必会的8个console方法

每个JavaScript开发者都用过console.log()来调试程序,但实际上Console对象还提供了很多其他方法可以提高调试效率。本文将介绍8个有趣的Console方法,即使JavaScript老手也不一定知道! 1、c...

汇智网教程
42分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部