煉數成金 門戶 大數據 運維 查看內容

快速搭建容器化Elasticsearch集群環境

2020-11-11 16:49| 發布者: 煉數成金_小數| 查看: 25560| 評論: 0|原作者: 民生運維|來自: 民生運維人

摘要: 隨著云原生技術的蓬勃發展,為各種分布式集群環境的實施提供了非常便利的條件。Elastic Stack是一種非常優秀的分布式搜索解決方案,但是由于其組件較多且有很多配置,因此在搭建集群時存在一定難度。這里我們提供一 ...
01、前言
1.1 目標
隨著云原生技術的蓬勃發展,為各種分布式集群環境的實施提供了非常便利的條件。
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 適用人群
所有需要學習、使用分布式集群技術的人員
本環境非生產環境,僅用于開發、測試用途

02、集群搭建
2.1 搭建VMware虛擬機
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]
netplan apply
ip a s

設置華為apt安裝源
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

退出當前用戶,重新登錄
檢查docker版本:
docker version


檢查docker-compose版本:
docker-compose version


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中進行版本及口令的設置,可根據需要進行設置:
cat .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,比較耗時,因此可以事先下載:
docker-compose pull


啟動集群:
docker-compose up -d


檢查運行狀態:
watch docker-compose ps


第一次啟動集群需要設置ES密碼,口令設置與用戶名相同:
docker-compose exec es01 bin/elasticsearch-setup-passwords interactive


再次檢查集群狀態:
watch docker-compose ps


檢查ES集群狀態:
curl -uelastic:elastic localhost:9200


curl -uelastic:elastic localhost:9200/_cluster/health?pretty


關閉集群:
docker-compose down

03、基本使用



04、附錄
4.1.  參考文檔
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

詹玉林
中國民生銀行信息科技部開源軟件支持組工程師。曾經擔任過銀行核心系統開發工程師,IBM informix數據庫L2支持工程師,民生銀行數據庫DBA等角色。目前主要負責與elasticsearch相關的大數據方面的工作。

聲明:文章收集于網絡,版權歸原作者所有,為傳播信息而發,如有侵權,請聯系小編刪除,謝謝!

歡迎加入本站公開興趣群
軟件開發技術群
興趣范圍包括:Java,C/C++,Python,PHP,Ruby,shell等各種語言開發經驗交流,各種框架使用,外包項目機會,學習、培訓、跳槽等交流
QQ群:26931708

Hadoop源代碼研究群
興趣范圍包括:Hadoop源代碼解讀,改進,優化,分布式系統場景定制,與Hadoop有關的各種開源項目,總之就是玩轉Hadoop
QQ群:288410967 

鮮花

握手

雷人

路過

雞蛋

相關閱讀

最新評論

熱門頻道

  • 大數據
  • 商業智能
  • 量化投資
  • 科學探索
  • 創業

 

GMT+8, 2020-12-24 05:57 , Processed in 0.183331 second(s), 25 queries .

(*^▽^*)MG黑暗故事游戏规则 安徽25选5开奖信息 辽宁11选5走势图软件 天天捕鱼电玩版 三公出千教学 百人牛牛充值平台 mg游戏网站是多少 体彩竞彩篮球大小分 pk北京赛车开奖 黑龙江快乐十分放假吗? 沙巴体育滚球 四人麻将规则 秒速时时彩使用手机版一点击进入 以太币在中国合法吗 万人炸金花怎么玩 通比牛牛棋牌游戏币 彩票投注系统