天天看點

ES生産叢集部署之從零開始搭建一套4個節點的2核4G虛拟機叢集

這塊我們跟大家說一下,一般來說,你即使要圍繞es搭建一個叢集的話,也建議至少4~5個節點,因為其實不光是es,後面可能還有kibana,logstash,elk生态棧的其他的東西要部署,包括這個高手進階篇的課程,後面也是會不斷的免費更新的,後面再出幾個課程,單獨收費,講解運維,項目,ELK,等等。但是後來覺得說,既然大家都很支援我們,我們說還是決定敢說,對已經購買進階篇的同學,會不斷免費更新,第二版,運維,第三版,搜尋項目,第四版,ELK

部署一個4個節點的虛拟機叢集,每個虛拟機是2核4G,我的筆記本是24G,雙核的,16G,主控端留8G記憶體

用2核4G,虛拟cpu core,4台,基本可以去模拟真實的生産環境

包括我們接下來的一些部署,都盡量用接近生産環境的标準去部署,讓大家可以體驗一下

1、在虛拟機中安裝CentOS

啟動一個virtual box虛拟機管理軟體(vmware,我早些年,發現不太穩定,主要是當時搭建一個hadoop大資料的叢集,發現每次休眠以後再重新開機,叢集就挂掉了)

virtual box,發現很穩定,叢集從來不會随便亂挂,是以就一直用virtual box了

安裝virtual box

用的是什麼centos鏡像,CentOS比較新的版本是7了,然後伺服器上裝作業系統的話,記憶體一般比較大,一般是安裝64位的,32位的有一個最大記憶體4G的限制

(1)使用課程提供的CentOS 7鏡像即可,CentOS-7-x86_64-Minimal-1611.iso。

(2)建立虛拟機:打開Virtual Box,點選“建立”按鈕,點選“下一步”,輸入虛拟機名稱為elasticsearch01,選擇作業系統為Linux,選擇版本為Red Hat-64bit,配置設定4096MB記憶體,後面的選項全部用預設,在Virtual Disk File location and size中,一定要自己選擇一個目錄來存放虛拟機檔案,最後點選“create”按鈕,開始建立虛拟機。

(3)設定虛拟機網卡:選擇建立好的虛拟機,點選“設定”按鈕,在網絡一欄中,連接配接方式中,選擇“Bridged Adapter”。

(4)安裝虛拟機中的CentOS 7作業系統:選擇建立好的虛拟機,點選“開始”按鈕,選擇安裝媒體(即本地的CentOS 7鏡像檔案),按照課程選擇後自動安裝即可

(5)安裝完以後,CentOS會提醒你要重新開機一下,就是reboot,你就reboot就可以了。

(6)配置網絡

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

先讓它動态配置設定一個ip位址

ONBOOT=yes

service network restart

ip addr

再設定靜态ip位址

BOOTPROTO=static

IPADDR=192.168.31.250

NETMASK=255.255.255.0 

GATEWAY=192.168.31.1 

service network restart

ip addr

配置DNS

檢查NetManager的狀态:systemctl status NetworkManager.service

檢查NetManager管理的網絡接口:nmcli dev status 

檢查NetManager管理的網絡連接配接:nmcli connection show

設定dns:nmcli con mod enp0s3 ipv4.dns "114.114.114.114 8.8.8.8"

讓dns配置生效:nmcli con up enp0s3

(7)配置hosts

vi /etc/hosts

配置本機的hostname到ip位址的映射

(8)配置SecureCRT

此時就可以使用SecureCRT從本機連接配接到虛拟機進行操作了

一般來說,虛拟機管理軟體,virtual box,可以用來建立和管理虛拟機,但是一般不會直接在virtualbox裡面去操作,因為比較麻煩,沒有辦法複制粘貼

SecureCRT,在windows主控端中,去連接配接virtual box中的虛拟機

收費的,我這裡有完美破解版,跟着課程一起給大家,破解

(9)關閉防火牆

systemctl stop firewalld.service

systemctl disable firewalld.service

關閉windows的防火牆

後面要搭建叢集,有的大資料技術的叢集之間,在本地你給了防火牆的話,可能會沒有辦法互相連接配接,會導緻搭建失敗

(10)配置yum

yum clean all

yum makecache

yum install wget

------------------------------------------------------------------------------------------

2、在每個CentOS中都安裝Java

WinSCP,就是在windows主控端和linux虛拟機之間互相傳遞檔案的一個工具

(1)安裝JDK

1、将jdk-8u131-linux-x64.rpm通過WinSCP上傳到虛拟機中

2、安裝JDK:rpm -ivh jdk-8u131-linux-x64.rpm

3、配置jdk相關的環境變量

vi .bashrc

export JAVA_HOME=/usr/java/latest

export PATH=$PATH:$JAVA_HOME/bin

source .bashrc

4、測試jdk安裝是否成功:java -version

------------------------------------------------------------------------------------------

3、在4個虛拟機中安裝CentOS叢集

(1)按照上述步驟,再安裝三台一模一樣環境的linux機器

(2)另外三台機器的hostname分别設定為elasticsearch02,elasticsearch03,elasticsearch04

(3)安裝好之後,在每台機器的hosts檔案裡面,配置好所有的機器的ip位址到hostname的映射關系

比如說,在elasticsearch01的hosts裡面

192.168.31.250 elasticsearch01

192.168.31.xxx elasticsearch02

192.168.31.xxx elasticsearch03

192.168.31.xxx elasticsearch04

------------------------------------------------------------------------------------------

4、配置4台CentOS為ssh免密碼互相通信

(1)首先在三台機器上配置對本機的ssh免密碼登入

ssh-keygen -t rsa

生成本機的公鑰,過程中不斷敲回車即可,ssh-keygen指令預設會将公鑰放在/root/.ssh目錄下

cd /root/.ssh

cp id_rsa.pub authorized_keys

将公鑰複制為authorized_keys檔案,此時使用ssh連接配接本機就不需要輸入密碼了

(2)接着配置三台機器互相之間的ssh免密碼登入

使用ssh-copy-id -i hostname指令将本機的公鑰拷貝到指定機器的authorized_keys檔案中

繼續閱讀