docker下的elasticsearch6.5.4环境搭建
一:elasticsearch安装配置
1.1:搜索elasticsearch镜像,并下载
~ docker search elasticsearch
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
elasticsearch Elasticsearch is a powerful open source sear… 3441 [OK]
kibana Kibana gives shape to any kind of data — str… 1396 [OK]
nshou/elasticsearch-kibana Elasticsearch-6.5.4 Kibana-6.5.4 94 [OK]
itzg/elasticsearch Provides an easily configurable Elasticsearc… 67 [OK]
elastichq/elasticsearch-hq Official Docker image for ElasticHQ: Elastic… 25 [OK]
kubernetes/fluentd-elasticsearch An image that ingests Docker container log f… 25
lmenezes/elasticsearch-kopf elasticsearch kopf 17 [OK]
bitnami/elasticsearch Bitnami Docker Image for Elasticsearch 15 [OK]
esystemstech/elasticsearch Debian based Elasticsearch packing for Lifer… 14
taskrabbit/elasticsearch-dump Import and export tools for elasticsearch 13 [OK]
monsantoco/elasticsearch ElasticSearch Docker image 11 [OK]
mesoscloud/elasticsearch [UNMAINTAINED] Elasticsearch 9 [OK]
justwatch/elasticsearch_exporter Elasticsearch stats exporter for Prometheus 8
blacktop/elasticsearch Alpine Linux based Elasticsearch Docker Image 8 [OK]
centerforopenscience/elasticsearch Elasticsearch 4 [OK]
barchart/elasticsearch-aws Elasticsearch AWS node 2
phenompeople/elasticsearch Elasticsearch is a powerful open source sear… 1 [OK]
thingswise/elasticsearch Elasticsearch + etcd2 peer discovery 1 [OK]
forkdelta/fluentd-elasticsearch fluent/fluentd with fluent-plugin-elasticsea… 1 [OK]
jetstack/elasticsearch-pet An elasticsearch image for kubernetes PetSets 1 [OK]
18fgsa/elasticsearch Built from https://github.com/docker-library… 0
driveclutch/infra-elasticsearch-aws Elasticsearch Docker for use in AWS 0 [OK]
wreulicke/elasticsearch elasticsearch 0 [OK]
igneoussystems/base-elasticsearch-5 Base elasticsearch 5.1.1 container 0
igneoussystems/base-elasticsearch A base image containing 3p tools for elastic… 0
~
~ docker pull elasticsearch
~ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
elasticsearch 6.5.4 93109ce1d590 1 weeks ago 774MB
1.2:创建elasticsearch容器
~ docker run -it -p 9002:9200 -p 9003:9300 --name es6 elasticsearch:6.5.4 /bin/bash
查看 elasticsearch服务是否已启动
~ ps -ef|grep elasticsearch
如果服务器未启动,则启动服务
~ cd /usr/share/elasticsearch/bin/
~ ./elasticsearch &
...
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.4.jar:6.5.4]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.4.jar:6.5.4]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.4.jar:6.5.4]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.4.jar:6.5.4]
如果启动时,提示以上错误"can not run elasticsearch as root",是因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户。
创建elasticsearch用户, 切换到elasticsearch用户,重启elasticsearch服务:
~ useradd elasticsearch
~ su elasticsearch
~ ./elasticsearch &
二:安装elasticsearch-head插件
2.1:安装git
~ yum install git
~ git --version
2.2:安装node(head插件的启动使用grunt)
~ npm install -g grunt-cli #安装grunt命令行工具grunt-cli
~ npm install grunt --save-dev #安装grunt及其插件
~ grunt -version #查看安装版本情况
2.3:下载并安装elasticsearch-head
~ cd /usr/local/
~ git clone git://github.com/mobz/elasticsearch-head.git #git下载
~ cd elasticsearch-head #进入目录
~ npm install # 如果npm使用很多错误,尝试使用cnpm
~ npm install grunt --save #安装grunt到模块中并保存
2.4:修改elasticsearch配置
修改elasticsearch 安装目录下的config/elasticsearch.yml
~ vi /usr/share/elasticsearch/config/elasticsearch.yml
# 增加如下两行配置
http.cors.enabled: true
http.cors.allow-origin: "*"
三:通过新镜像,创建新容器
3.1:将上一步的容器commit为镜像
~ docker commit es6 es6.5.4:latest
3.2:创建新容器,启动elasticsearch、elasticsearch-head服务
~ docker run -it -p 9002:9200 -p 9003:9300 -p 9001:9100 --name my_es6.5.4 es6.5.4:latest /bin/bash
~ /usr/share/elasticsearch/bin/elasticsearch &
~ cd /usr/local/elasticsearch-head/
~ grunt server &
此时,在主机访问http://127.0.0.1:9002/:
http://127.0.0.1:9001/: