docker 运行 elasticsearch + kibana + head 集群

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: docker 运行 elasticsearch + kibana + head 集群

一、elasticsearch的安装

1、从官网上拉取 elasticsearch 的镜像

docker pull elasticsearch:6.6.0
docker images

镜像ID:13aa43015aa1

2、准备目录和配置文件

2.1 准备目录:

mkdir -p /opt/elasticsearch/config
mkdir -p /opt/elasticsearch/data/es1
mkdir -p /opt/elasticsearch/data/es2
mkdir -p /opt/elasticsearch/logs/es1
mkdir -p /opt/elasticsearch/logs/es2

注意:一定要给这些目录加可读可写的权限,否则启动docker时候会报错;

chmod 777 /opt/elasticsearch/data -R;

chmod 777 /opt/elasticsearch/logs -R;

2.2 准备配置文件

es1.yml文件:

# 配置es的集群名称
cluster.name: es-cluster
# 节点名称
node.name: node-1
network.host: 0.0.0.0
# 指定http端口,你使用head、kopf等相关插件使用的端口
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["192.168.172.20:9300", "192.168.172.20:9301"]
#如果没有这种设置,遭受网络故障的集群就有可能将集群分成两个独立的集群 - 分裂的大脑 - 这将导致数据丢失
discovery.zen.minimum_master_nodes: 2
#es5.x版本以上需要,head访问
http.cors.enabled: true
http.cors.allow-origin: "*"
#某些系统需要 是因为centos6.x操作系统不支持SecComp,而elasticsearch 5.5.2默认   bootstrap.system_call_filter>为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

es2.yml文件:

# 配置es的集群名称,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: es-cluster
# 节点名称
node.name: node-2
# 存储数据的目录
#path.data: /home/elasticsearch/data
# 存储日志的目录
#path.logs: /home/elasticsearch/logs
# 设置绑定的ip地址还有其它节点和该节点交互的ip地址
network.host: 0.0.0.0
# 指定http端口,你使用head、kopf等相关插件使用的端口
http.port: 9201
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9301
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["192.168.172.20:9300", "192.168.172.20:9301"]
#如果没有这种设置,遭受网络故障的集群就有可能将集群分成两个独立的集群 - 分裂的大脑 - 这将导致数据丢失
discovery.zen.minimum_master_nodes: 2
#es5.x版本以上需要,head插件的访问
http.cors.enabled: true
http.cors.allow-origin: "*"
#某些系统需要 是因为centos6.x操作系统不支持SecComp,而elasticsearch 5.5.2默认   bootstrap.system_call_filter>为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

3、运行容器

启动ES1

docker run --name es1_6.6.0 \
-p 9200:9200 \
-p 9300:9300 \
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ 
-v /opt/elasticsearch/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ 
-v /opt/elasticsearch/data/es1:/usr/share/elasticsearch/data \ 
-v /opt/elasticsearch/logs/es1:/usr/share/elasticsearch/logs \
-d 13aa43015aa1

启动ES2:

docker run --name es1_6.6.0 \
-p 9201:9201 \
-p 9301:9301 \
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ 
-v /opt/elasticsearch/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ 
-v /opt/elasticsearch/data/es2:/usr/share/elasticsearch/data \ 
-v /opt/elasticsearch/logs/es2:/usr/share/elasticsearch/logs \
-d 13aa43015aa1

4、检查elasticsearch是否启动成功

浏览器访问:http://192.168.172.20:9200/  和 http://192.168.172.20:9201/  

(需要等待一会)

二、Kibana的安装

1、从官网上拉取镜像

docker pull kibana:6.6.0
docker images

2、运行容器

docker run --name kibana6.6.0 -e ELASTICSEARCH_URL=http://192.168.172.20:9200 -p 5601:5601 -d dfc685453eaa

3、访问 http://192.168.172.20:5601  (需要等待一会)

三、Head插件的安装

1、从官网上拉取镜像

docker pull mobz/elasticsearch-head:5
docker images

2、运行容器

docker run -d -p 9100:9100 mobz/elasticsearch-head:5

3、是否成功

浏览器访问:http://192.168.172.20:9100/

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
2月前
|
缓存 Prometheus 监控
Elasticsearch集群JVM调优设置合适的堆内存大小
Elasticsearch集群JVM调优设置合适的堆内存大小
500 1
|
4天前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
45 25
|
1月前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
1月前
|
Prometheus 监控 Cloud Native
如何使用Prometheus监控Docker Swarm集群的资源使用情况?
还可以根据实际需求进行进一步的配置和优化,如设置告警规则,当资源使用超出阈值时及时发出警报。通过这些步骤,能够有效地使用 Prometheus 对 Docker Swarm 集群的资源进行监控和管理。
73 8
|
1月前
|
Prometheus 监控 Cloud Native
如何监控Docker Swarm集群的性能?
如何监控Docker Swarm集群的性能?
129 8
|
1月前
|
监控 Docker 容器
Docker Swarm集群的扩展与缩容策略,涵盖其意义、方法、步骤及注意事项
本文深入探讨了Docker Swarm集群的扩展与缩容策略,涵盖其意义、方法、步骤及注意事项,旨在帮助用户高效管理集群资源,适应业务变化,确保服务稳定性和资源优化。
62 6
|
1月前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
64 5
|
1月前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
75 4
|
1月前
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
50 0
|
2月前
|
缓存 监控 Java
Elasticsearch集群JVM调优
Elasticsearch集群JVM调优
69 5