elk7.9异机真集群docker搭建

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: elk7.9异机真集群docker搭建

好久不给大家写脚本了,波哥是真的忙。但是还不能给大家透露再忙什么。不过相信波哥的这次选择会在不久的将来给大家带来更多更精彩的内容。


转眼2021了。时间过得真快,那段过年后被居家隔离的日子视乎就在昨天。天天在家闷到发臭,头不洗,胡子也不刮,蓬头垢面的盼着疫情赶快过去。现在想想又似乎是最快乐的时光,那是大学毕业之后第一次在家过元宵节。家门出不去只能一家人天天在家玩牌。真的好久没有那种感觉了!


2020还是有很多值得总结的,相信各位关注波哥的老朋友应该能察觉到,就是在这一年,波哥的公众号接了第一个广告。这个跟钱其实没多大关系,那一刻还是略有感动。2019年4月份开始写公众号,20个月中从文章、架构、脚本到自己开发全栈工具、再到录制各类教学视频。


波哥一路的坚持,也感谢各位的陪伴,我也在不断的勾勒着未来。以后可能会从更宏观的角度来分享关于IT的内容。说的有点多,还是进入到今天的正题吧!


######################################


网上有不少关于elk集群的文章,但是都是二进制部署的文章,当然也有容器部署的。但是也都是一台机器拉起来的伪集群。

波哥抽了点时间做了一套可跨机器的docker部署的真集群,版本采用最新的7.9,带账号认证。


案例中的三台机器:

192.168.77.14

192.168.77.15

192.168.77.16


分别安装docker和docker_compose

三个节点都创建 /data/elasticsearch/data目录,将elastic-certificates.p12证书上传到目录中。


目录赋权限chmod -R 777 /data/elasticsearch

将yaml文件放到/data目录解压


接下来给大家介绍一下yaml文件中需要替换的变量:


主节点

node.name=elasticsearch


其他节点分别为:

node.name=es02

node.name=es03

discovery.seed_hosts=节点1IP,节点2IP,节点3IP

network.publish_host=节点IP

"ES_JAVA_OPTS=-Xms10g -Xmx10g"   这个可以根据服务器情况调整内容值。


   environment:
      - discovery.zen.minimum_master_nodes=2
      - bootstrap.memory_lock=true
      - node.name=elasticsearch
      - node.master=true
      - node.data=true
      - http.cors.enabled=true
      - http.cors.allow-origin="*"
      - http.cors.allow-headers=Authorization,X-Requested-With,Content-Length,Content-Type
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=192.168.77.14:9300,192.168.77.15:9300,192.168.77.16:9300
      - discovery.zen.fd.ping_timeout=1m
      - discovery.zen.fd.ping_retries=5
      - network.publish_host=192.168.77.14
      - cluster.initial_master_nodes=elasticsearch,es02,es03
      - cluster.routing.allocation.cluster_concurrent_rebalance=32
      - cluster.routing.allocation.node_concurrent_recoveries=32
      - cluster.routing.allocation.node_initial_primaries_recoveries=32
      - "ES_JAVA_OPTS=-Xms10g -Xmx10g"
#      - action.destructive_requires_name=true
#      - action.auto_create_index=.security,.monitoring*,.watches,.triggered_watches,.watcher-history*
      - xpack.security.enabled=true
      - xpack.license.self_generated.type=basic
      #- xpack.security.authc.accept_default_password=true
      - xpack.security.transport.ssl.enabled=true
      - xpack.ml.enabled=true
      - xpack.security.transport.ssl.verification_mode=certificate
      - xpack.security.transport.ssl.keystore.path=/usr/share/elasticsearch/data/elastic-certificates.p12
      - xpack.security.transport.ssl.truststore.path=/usr/share/elasticsearch/data/elastic-certificates.p12
      - network.host=0.0.0.0

其他节点类似上面的配置:


分别拉起三个节点的es容器:

docker-compose -f elkMain.yaml up


主节点进入es容器:

docker exec -it elasticsearch /bin/bash


生产账号密码;

./bin/elasticsearch-setup-passwords auto


这个生成的密码要记住了奥。


elastic这个账号是最高权限的。

######################################


主节点部署:logstash,kibana

主节点: mkdir -p /data/logstash


logstash修改红色密码:


- xpack.monitoring.elasticsearch.password="9NxTijtJTtY43nRpx5gu"


kibana修改红色密码:


ELASTICSEARCH_PASSWORD: "PwgIEHctaLAPanhdP2Jw"


再次拉起logstash,kibana


重新启动一下:logstash,kibana容器

然后就可以访问了kibana:

https://节点1IP:5601

elasticsearch

https://节点1IP:9200

或者

http://节点1IP:9200

http://节点1IP:5601

账号:elastic


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
7天前
|
存储 数据可视化 数据处理
ELK——使用Docker快速搭建
ELK——使用Docker快速搭建
20 1
ELK——使用Docker快速搭建
|
11天前
|
canal Kubernetes Docker
基于Kubernetes v1.25.0和Docker部署高可用集群(03部分)
基于Kubernetes v1.25.0和Docker部署高可用集群(03部分)
|
12天前
|
Kubernetes Ubuntu Linux
基于Kubernetes v1.25.0和Docker部署高可用集群(02部分)
基于Kubernetes v1.25.0和Docker部署高可用集群(02部分)
|
14天前
|
存储 Kubernetes Java
基于Kubernetes v1.25.0和Docker部署高可用集群(说明篇)
docker与kubernetes的区别是:docker是管理当前主机上的容器,k8s是管理多台主机、跨平台的分布式管理系统。Kubernetes的设计初衷是支持可插拔架构,从而利于扩展kubernetes的功能
|
20天前
|
关系型数据库 分布式数据库 PolarDB
PolarDB产品使用问题之原PolarDB-X集群无法连接且Docker容器已经被删除,如何恢复数据
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
13天前
|
NoSQL Linux Redis
使用docker-compose搭建redis-cluster集群
使用docker-compose搭建redis-cluster集群
|
13天前
|
Kubernetes Linux 网络安全
基于Kubernetes v1.25.0和Docker部署高可用集群(01部分)
基于Kubernetes v1.25.0和Docker部署高可用集群(01部分)
|
14天前
|
分布式计算 大数据 Hadoop
最快方式搭建docker大数据 测试集群
【8月更文挑战第5天】快速搭建Docker大数据测试集群可采用预构建镜像与Compose文件、利用云服务如AWS的ECS、自动化工具如Ansible或参考在线教程。只需简单配置如内存分配及路径,运行`docker-compose up`即可启动含NameNode、DataNode等组件的Hadoop集群。根据需求与资源选择合适方法。
|
1月前
|
Nacos 数据中心 Docker
Docker 部署 Nacos 集群
Docker 部署 Nacos 集群
|
2月前
|
负载均衡 网络协议 开发工具
经验大分享:SRS4WebRTC集群docker安装部署:
经验大分享:SRS4WebRTC集群docker安装部署:
89 0