教程大綱
在虛擬機中安裝CentOS
在每個CentOS中都安裝Java和Perl
在4個虛擬機中安裝CentOS集群
配置4臺CentOS為ssh免密碼互相通信
注意事項
從零開始黑界,純手工,一步一步搭建出一個4個節(jié)點的CentOS集群。
為我們后面的課程做準(zhǔn)備竖席,后面會講解大型的分布式的redis集群架構(gòu)旬蟋,一步一步純手工搭建redis集群油昂,集群部署,主從架構(gòu),分布式集群架構(gòu)冕碟。
后面的課程拦惋,會講解一些實時計算技術(shù)的應(yīng)用,包括storm安寺,講解一下storm的基礎(chǔ)知識厕妖,對于java工程師來說,會用就可以了挑庶,用一些storm最基本的分布式實時計算的feature就ok了言秸,搭建一個storm的集群。
部署我們整套的系統(tǒng)迎捺,nginx举畸,tomcat+java web應(yīng)用,mysql凳枝。
盡量以真實的網(wǎng)絡(luò)拓撲的環(huán)境抄沮,去給大家演示一下整套系統(tǒng)的部署,不要所有東西岖瑰,redis集群+storm集群+nginx+tomcat+mysql合是,全部放在一個節(jié)點上玩兒,也可以去試一試锭环,但是作為課程來說聪全,效果不是太理想。
redis集群辅辩,獨立的一套機器
storm集群难礼,獨立的一套機器
nginx,獨立部署
tomcat + java web應(yīng)用玫锋,獨立部署
mysql蛾茉,獨立部署
十幾個機器,去部署整套系統(tǒng)撩鹿,我在自己的筆記本電腦上來講課的谦炬,這么玩兒撐不住的。
i5节沦,8G+Mac OS 兇他
4臺虛擬機键思,每臺虛擬機是1G的內(nèi)存,電腦基本還能撐住
電腦本身就6個G內(nèi)存的話甫贯,學(xué)習(xí)這種大型的系統(tǒng)架構(gòu)的課程吼鳞,是有點吃力,給大家建議叫搁,幾個G的內(nèi)存條赔桌,也就幾百塊錢供炎,給自己最好加個內(nèi)存條,至少到8G以上
16G湊合疾党,玩的很嗨音诫。
純手工,從零開始雪位。
很多視頻課程竭钝,里面講師都是現(xiàn)成的虛擬機,自己都裝好了茧泪,包括各種必要的軟件
講課的時候直接基于自己的虛擬機就開始講解了
很多同學(xué)就會發(fā)現(xiàn),想要做到跟講師一樣的環(huán)境都很難聋袋,自己可能照著樣子裝了個環(huán)境队伟,但是發(fā)現(xiàn),各種問題幽勒,各種報錯嗜侮,環(huán)境起不來。
學(xué)習(xí)課程的過程很艱難
學(xué)視頻課程啥容,肯定是要跟著視頻的所有的東西自己去做一做锈颗,練一練,結(jié)果你卻因為環(huán)境問題咪惠,做不了击吱,連不了,那就太慘了
從centos的鏡像文件遥昧,到所有的需要使用的軟件覆醇,全都給你,在自己電腦上炭臭,下載一個虛擬機管理軟件永脓,virtual box,就可以跟著玩兒了
如果你一步一步跟著視頻做鞋仍,搭建起整個環(huán)境常摧,應(yīng)該問題不大
環(huán)境問題,給大家弄成傻瓜式的威创。
1落午、在虛擬機中安裝CentOS
動一個virtual box虛擬機管理軟件(vmware,我早些年肚豺,發(fā)現(xiàn)不太穩(wěn)定板甘,主要是當(dāng)時搭建一個hadoop大數(shù)據(jù)的集群,發(fā)現(xiàn)每次休眠以后再重啟详炬,集群就掛掉了)
virtual box盐类,發(fā)現(xiàn)很穩(wěn)定寞奸,集群從來不會隨便亂掛,所以就一直用virtual box了.
1.使用課程提供的CentOS 6.5鏡像即可在跳,CentOS-6.5-i386-minimal.iso枪萄。
2.創(chuàng)建虛擬機:
打開Virtual Box
點擊“新建”按鈕
點擊“下一步”
輸入虛擬機名稱為eshop-cache01
選擇操作系統(tǒng)為Linux,選擇版本為Red Hat,分配1024MB內(nèi)存九巡,后面的選項全部用默認缺虐。
在Virtual Disk File location and size中,一定要自己選擇一個目錄來存放虛擬機文件齐帚,最后點擊“create”按鈕,
開始創(chuàng)建虛擬機彼哼。
3.設(shè)置虛擬機網(wǎng)卡:
選擇創(chuàng)建好的虛擬機对妄,點擊“設(shè)置”按鈕,在網(wǎng)絡(luò)一欄中敢朱,連接方式中剪菱,選擇“Bridged Adapter”。
4.安裝虛擬機中的CentOS
6.5操作系統(tǒng):選擇創(chuàng)建好的虛擬機拴签,點擊“開始”按鈕孝常,選擇安裝介質(zhì)(即本地的CentOS 6.5鏡像文件),選擇第一項開始安裝-Skip-歡迎界面Next-選擇默認語言-Baisc Storage Devices-Yes, discard any data-主機名:spark2upgrade01-選擇時區(qū)-設(shè)置初始密碼為hadoop-Replace Existing Linux System-Write changes to disk-CentOS 6.5自己開始安裝蚓哩。
5.Reboot
安裝完以后构灸,CentOS會提醒你要重啟一下,就是reboot岸梨,你就reboot就可以了冻押。
6.配置網(wǎng)絡(luò)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置內(nèi)容如下所示:
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
service network restart
ifconfig
BOOTPROTO=static
IPADDR=192.168.0.X
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
service network restart
7.配置hosts
vi /etc/hosts
配置本機的hostname到ip地址的映射
8.關(guān)閉防火墻
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
vi /etc/selinux/config
SELINUX=disabled
注意:一定要關(guān)閉本地宿主機上的防火墻。
后面要搭建集群盛嘿,有的大數(shù)據(jù)技術(shù)的集群之間需要通信洛巢,在本地你設(shè)置了防火墻的話,可能會導(dǎo)致集群之前沒辦法互相連接次兆,相互通訊稿茉,會導(dǎo)致搭建失敗。
9.配置yum
yum clean all
yum makecache
yum install wget
2芥炭、在每個CentOS中都安裝Java和Perl
1.安裝JDK
1漓库、將jdk-7u60-linux-i586.rpm通過WinSCP上傳到虛擬機中
2、安裝JDK:rpm -ivh jdk-7u65-linux-i586.rpm
3园蝠、配置jdk相關(guān)的環(huán)境變量
vi .bashrc
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
source .bashrc
4渺蒿、測試jdk安裝是否成功:java -version
2.安裝Perl
yum install -y gcc
wget http://www.cpan.org/src/5.0/perl-5.16.1.tar.gz
tar -xzf perl-5.16.1.tar.gz
cd perl-5.16.1
./Configure -des -Dprefix=/usr/local/perl
make && make test && make install
perl -v
為什么要裝perl?我們整個大型電商網(wǎng)站的詳情頁系統(tǒng)彪薛,復(fù)雜茂装。java+nginx+lua怠蹂,需要perl。
perl少态,是一個基礎(chǔ)的編程語言的安裝城侧,tomcat,跑java web應(yīng)用
3.在4個虛擬機中安裝CentOS集群
(1)按照上述步驟彼妻,再安裝三臺一模一樣環(huán)境的linux機器
(2)另外三臺機器的hostname分別設(shè)置為eshop-cache02嫌佑,eshop-cache03,eshop-cache04
(3)安裝好之后侨歉,在每臺機器的hosts文件里面屋摇,配置好所有的機器的ip地址到hostname的映射關(guān)系
比如說,在eshop-cache01的hosts里面
192.168.31.187 eshop-cache01
192.168.31.xxx eshop-cache02
192.168.31.xxx eshop-cache03
192.168.31.xxx eshop-cache04
4幽邓、配置4臺CentOS為ssh免密碼互相通信
4.1
首先在三臺機器上配置對本機的ssh免密碼登錄
ssh-keygen -t rsa
生成本機的公鑰炮温,過程中不斷敲回車即可,ssh-keygen命令默認會將公鑰放在/root/.ssh目錄下
cd /root/.ssh
cp id_rsa.pub authorized_keys
將公鑰復(fù)制為authorized_keys文件颊艳,此時使用ssh連接本機就不需要輸入密碼了
4.2
接著配置三臺機器互相之間的ssh免密碼登錄
使用ssh-copy-id -i hostname命令將本機的公鑰拷貝到指定機器的authorized_keys文件中
java茅特,在公司里做項目忘分,有幾個人是自己去維護linux集群的捌逭怼?妒峦?重斑??肯骇?
幾乎沒有窥浪,很少很少,類似這一講要做的事情笛丙,其實都是SRE漾脂,運維的同學(xué),去做的
但是對于課程來說胚鸯,我們只能自己一步一步做骨稿,才有環(huán)境去學(xué)習(xí)啊=L构凇!
基于虛擬機的linux集群環(huán)境哥桥,都準(zhǔn)備好了辙浑,手上有4臺機器,后面玩兒各種redis拟糕、kafka判呕、storm倦踢、tomcat、nginx佛玄,都有機器了.
利其事硼一,必先利其器!下節(jié)繼續(xù)梦抢!
個人博客:http://www.markfork.com
個人簡書:http://www.reibang.com/u/c169fce5179b
慕課網(wǎng):https://www.imooc.com/u/2150709/articles