随着云原生技术的蓬勃发展,为各种分布式集群环境的实施提供了非常便利的条件。
Elastic Stack是一种非常优秀的分布式搜索解决方案,但是由于其组件较多且有很多配置,因此在搭建集群时存在一定难度。这里我们提供一种基于docker容器化的部署方案,实现集群的一键快速部署。
该方案也可以用于其他分布式集群的搭建,同时该环境具有搭建快速、易于恢复的特点。
1.2 硬件
CPU:没有具体要求
内存:8GB+
硬盘:20GB+
网络:能够连接到互联网
1.3 软件
Windows 7/10(搭建Ubuntu-20.04 虚拟机)
VMware workstation(搭建Ubuntu-20.04 虚拟机)
Docker(搭建ES集群)
Docker-compose(搭建ES集群)
Elasticsearch
Kibana
APM server/client
beats
1.4 搭建步骤
1、 利用VMware搭建一个Ubuntu 20.04虚拟机作为宿主机
2、 利用docker-compose快速搭建ES集群
1.5 适用人群
所有需要学习、使用分布式集群技术的人员
本环境非生产环境,仅用于开发、测试用途
2.1.1. VMware软件的安装
互联网上有很多相关教程,这里就不再赘述。
2.1.2. 设置虚拟机NAT网络
编辑->虚拟网络编辑器
2.1.3. 新建虚拟机
Ubuntu ISO下载地址:
https://ubuntu.com/download/desktop
我使用的是ubuntu-20.04-desktop-amd64.iso
2.1.4. 安装基本软件及设置:
进入Xwindow,打开terminal,设置Vmware虚拟机网络地址
vi /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
ethernets:
ens32:
addresses: [192.168.42.101/24]
gateway4: 192.168.42.2
nameservers:
addresses: [192.168.42.2]
sudo sed -i ‘s/us.archive.ubuntu.com/mirrors.huaweicloud.com\/repository/g’ /etc/apt/sources.list
sudo apt update
sudo apt -y install openssh-server
使用终端工具连接Ubuntu虚拟机,并安装必要软件
sudo apt -y install net-tools git docker.io docker-compose curl ntpdate
sudo timedatectl set-timezone Asia/Shanghai
sudo hwclock --systohc
sudo ntpdate cn.pool.ntp.org
将当前用户加入docker用户组,使当前用户可以正常执行docker命令(当前用户为zhanyl)
sudo gpasswd -a zhanyl docker
2.2. 搭建ES集群
该集群拥有两个ES节点、一个kibana节点、一个APM server节点、一个APM client节点、一个filebeat节点、一个metricbeat节点、一个heartbeat节点、一个packetbeat节点
git clone https://github.com/zhan-yl/esindocker.git
cd esindocker
在.env中进行版本及口令的设置,可根据需要进行设置:
echo "vm.max_map_count = 262144 " | sudo tee -a /etc/sysctl.conf
sudo sysctl -w vm.max_map_count=262144
sudo sysctl -a | grep max_map_count
由于集群搭建过程中需要下载多种docker image,比较耗时,因此可以事先下载:
第一次启动集群需要设置ES密码,口令设置与用户名相同:
docker-compose exec es01 bin/elasticsearch-setup-passwords interactive
curl -uelastic:elastic localhost:9200
curl -uelastic:elastic localhost:9200/_cluster/health?pretty
4.1. 参考文档
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
中国民生银行信息科技部开源软件支持组工程师。曾经担任过银行核心系统开发工程师,IBM informix数据库L2支持工程师,民生银行数据库DBA等角色。目前主要负责与elasticsearch相关的大数据方面的工作。
本文转载自公众号:民生运维人,点击查看原文
相关阅读:
快速搭建Kubernetes集群环境
ES千万级TPS写入性能翻倍,400台物理机因此下线
最新最全 2020 云状态报告「69页PDF下载」
RightScale 2019年云状况调查报告:35% 的云支出被浪费「附50页PDF下载」
更多文章请关注

文章好看点这里[在看]👇