计算机系统应用教程网站

网站首页 > 技术文章 正文

Docker安装部署ElasticSearch docker-compose安装es

btikc 2024-09-30 13:01:02 技术文章 12 ℃ 0 评论

1、 下载相应版本elk版本(目前使用的是5.6.3)

git clone https://github.com/deviantony/docker-elk.git

指定版本5.6.3

https://github.com/deviantony/docker-elk/tree/e8c1fc2d401cdb7d933aa1d704a5c319367b5927


2、 下载相关插件(版本与es版本对应)

https://github.com/mobz/elasticsearch-head

https://github.com/NLPchina/elasticsearch-sql

https://github.com/medcl/elasticsearch-analysis-ik

3、 es安装插件

· elasticsearch-head

配置文件

在启动运行前,我们介绍下 Elasticsearch 配置文件,即 config/elasticsearch.yml。这里我们需要在配置中增加以下配置,为了允许 elasticsearch-head 运行时的跨域:

# allow origin

http.cors.enabled: true

http.cors.allow-origin: /http?:\/\/10.1.10.15(:[0-9]+)?/ "

(其他具体配置见官方文档https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html )

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


elasticsearch-head插件通过docker单独运行,默认开放9100端口,打开http://localhost:9100/可以查看es的状态。


· elasticsearch-sql和elasticsearch-analysis-ik

修改相关es的Dockerfile,配置如下:

# https://github.com/elastic/elasticsearch-docker

FROM docker.elastic.co/elasticsearch/elasticsearch:5.6.3


# Add your elasticsearch plugins setup here

# Example: RUN elasticsearch-plugin install analysis-icu

RUN elasticsearch-plugin install http://10.1.10.148/centos/6/elasticsearch-5.x/plugins/elasticsearch-sql-5.6.3.0.zip \

&& elasticsearch-plugin install http://10.1.10.148/centos/6/elasticsearch-5.x/plugins/elasticsearch-analysis-ik-5.6.3.zip

· bigdesk

由于elasticsearch不再建议支持插件的安装方式。建议作为独立的程序来安装类似于bigdesk。

修改elasticsearch.yml

增加

# add for biddesk and es-head

http.cors.enabled: true

http.cors.allow-origin: "*"

git clone https://github.com/hlstudio/bigdesk

[elk@master ~]$ cd bigdesk/_site/

[elk@master _site]$ python -m SimpleHTTPServer

访问http://master:8000 测试

实际环境中运行有nginx做为webserver,把bigdesk项目直接copy到nginx的root目录下,根据相应的端口访问即可。

4、 配置docker-compose文件

进入docker-elk目录后执行docker-compose up先查看报错信息,通常需要给data目录及log目录赋上id为1000的用户权限。id -u可查当前用户的id。

sudo chown -R es:es /home/es/docker-elk

再次运行docker-compose up -d即可成功运行。

问题:解决Docker Machine中的容器文件不能持久的问题

在配置文件中添加映射目录做数据持久化,运行docker-compose通常会报如下错误:

经过分析, 文件操作失败是因为用户权限的问题.

cat /etc/passwd

可以看到id是1000的用户是es。

所以通过指定启动Docker容器的目录权限修改可以解决此问题:

sudo chown -R es:es /home/es/docker-elk

注意要把docker-elk放置在rf的目录可以避免权限问题。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表