這塊我們跟大家說一下,一般來說,你即使要圍繞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檔案中