redis 學(xué)習(xí)


課程大綱

1煞躬、在虛擬機(jī)中安裝CentOS

2、在每個CentOS中都安裝Java和Perl

3、在4個虛擬機(jī)中安裝CentOS集群

4恩沛、配置4臺CentOS為ssh免密碼互相通信

從零開始在扰,純手工,一步一步搭建出一個4個節(jié)點(diǎn)的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ò)拓?fù)涞沫h(huán)境融虽,去給大家演示一下整套系統(tǒng)的部署享完,不要所有東西,redis集群+storm集群+nginx+tomcat+mysql有额,全部放在一個節(jié)點(diǎn)上玩兒般又,也可以去試一試,但是作為課程來說巍佑,效果不是太理想

redis集群茴迁,獨(dú)立的一套機(jī)器

storm集群,獨(dú)立的一套機(jī)器

nginx萤衰,獨(dú)立部署

tomcat + java web應(yīng)用堕义,獨(dú)立部署

mysql,獨(dú)立部署

十幾個機(jī)器脆栋,去部署整套系統(tǒng)倦卖,我在自己的筆記本電腦上來講課的,這么玩兒撐不住的

i5椿争,12G

4臺虛擬機(jī)怕膛,每臺虛擬機(jī)是1G的內(nèi)存,電腦基本還能撐住

電腦本身就6個G內(nèi)存的話秦踪,學(xué)習(xí)這種大型的系統(tǒng)架構(gòu)的課程褐捻,是有點(diǎn)吃力掸茅,給大家建議,幾個G的內(nèi)存條柠逞,也就幾百塊錢倦蚪,給自己最好加個內(nèi)存條,至少到8G以上

16G湊合

純手工边苹,從零開始

很多視頻課程陵且,里面講師都是現(xiàn)成的虛擬機(jī),自己都裝好了个束,包括各種必要的軟件

講課的時候直接基于自己的虛擬機(jī)就開始講解了

很多同學(xué)就會發(fā)現(xiàn)慕购,想要做到跟講師一樣的環(huán)境都很難,自己可能照著樣子裝了個環(huán)境茬底,但是發(fā)現(xiàn)沪悲,各種問題,各種報錯阱表,環(huán)境起不來

學(xué)習(xí)課程的過程很艱難

學(xué)視頻課程殿如,肯定是要跟著視頻的所有的東西自己去做一做,練一練最爬,結(jié)果你卻因為環(huán)境問題涉馁,做不了,連不了爱致,那就太慘了

從centos的鏡像文件烤送,到所有的需要使用的軟件,全都給你糠悯,在自己電腦上帮坚,下載一個虛擬機(jī)管理軟件,virtual box互艾,就可以跟著玩兒了

如果你一步一步跟著視頻做试和,搭建起整個環(huán)境,應(yīng)該問題不大

環(huán)境問題纫普,給大家弄成傻瓜式的

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

1阅悍、在虛擬機(jī)中安裝CentOS

啟動一個virtual box虛擬機(jī)管理軟件(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)建虛擬機(jī):打開Virtual Box棋凳,點(diǎn)擊“新建”按鈕拦坠,點(diǎn)擊“下一步”,輸入虛擬機(jī)名稱為eshop-cache01剩岳,選擇操作系統(tǒng)為Linux贞滨,選擇版本為Red Hat,分配1024MB內(nèi)存拍棕,后面的選項全部用默認(rèn)晓铆,在Virtual Disk File location and size中,一定要自己選擇一個目錄來存放虛擬機(jī)文件绰播,最后點(diǎn)擊“create”按鈕骄噪,開始創(chuàng)建虛擬機(jī)。

(3)設(shè)置虛擬機(jī)網(wǎng)卡:選擇創(chuàng)建好的虛擬機(jī)蠢箩,點(diǎn)擊“設(shè)置”按鈕链蕊,在網(wǎng)絡(luò)一欄中,連接方式中谬泌,選擇“Bridged Adapter”滔韵。

(4)安裝虛擬機(jī)中的CentOS 6.5操作系統(tǒng):選擇創(chuàng)建好的虛擬機(jī),點(diǎn)擊“開始”按鈕掌实,選擇安裝介質(zhì)(即本地的CentOS 6.5鏡像文件)奏属,選擇第一項開始安裝-Skip-歡迎界面Next-選擇默認(rèn)語言-Baisc Storage Devices-Yes, discard any data-主機(jī)名:spark2upgrade01-選擇時區(qū)-設(shè)置初始密碼為hadoop-Replace Existing Linux System-Write changes to disk-CentOS 6.5自己開始安裝。

(5)安裝完以后潮峦,CentOS會提醒你要重啟一下囱皿,就是reboot,你就reboot就可以了忱嘹。

(6)配置網(wǎng)絡(luò)

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

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

配置本機(jī)的hostname到ip地址的映射

(8)配置SecureCRT

此時就可以使用SecureCRT從本機(jī)連接到虛擬機(jī)進(jìn)行操作了

一般來說嘱腥,虛擬機(jī)管理軟件,virtual box拘悦,可以用來創(chuàng)建和管理虛擬機(jī)齿兔,但是一般不會直接在virtualbox里面去操作,因為比較麻煩础米,沒有辦法復(fù)制粘貼

比如后面我們要安裝很多其他的一些東西分苇,perl,java屁桑,redis医寿,storm,復(fù)制一些命令直接去執(zhí)行

SecureCRT蘑斧,在windows宿主機(jī)中靖秩,去連接virtual box中的虛擬機(jī)

收費(fèi)的须眷,我這里有完美破解版,跟著課程一起給大家沟突,破解

(9)關(guān)閉防火墻

service iptables stop

service ip6tables stop

chkconfig iptables off

chkconfig ip6tables off

vi /etc/selinux/config

SELINUX=disabled

關(guān)閉windows的防火墻

后面要搭建集群花颗,有的大數(shù)據(jù)技術(shù)的集群之間,在本地你給了防火墻的話惠拭,可能會沒有辦法互相連接扩劝,會導(dǎo)致搭建失敗

(10)配置yum

yum clean all

yum makecache

yum install wget

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

2、在每個CentOS中都安裝Java和Perl

WinSCP职辅,就是在windows宿主機(jī)和linux虛擬機(jī)之間互相傳遞文件的一個工具

(1)安裝JDK

1棒呛、將jdk-7u60-linux-i586.rpm通過WinSCP上傳到虛擬機(jī)中

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

很多講師,拿著自己之前花了很多時間調(diào)試好的虛擬機(jī)環(huán)境涵亏,去講課宰睡,這個很不負(fù)責(zé)任

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個虛擬機(jī)中安裝CentOS集群

(1)按照上述步驟,再安裝三臺一模一樣環(huán)境的linux機(jī)器

(2)另外三臺機(jī)器的hostname分別設(shè)置為eshop-cache02瓤球,eshop-cache03融欧,eshop-cache04

(3)安裝好之后,在每臺機(jī)器的hosts文件里面卦羡,配置好所有的機(jī)器的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免密碼互相通信

(1)首先在三臺機(jī)器上配置對本機(jī)的ssh免密碼登錄

ssh-keygen -t rsa

生成本機(jī)的公鑰绿饵,過程中不斷敲回車即可欠肾,ssh-keygen命令默認(rèn)會將公鑰放在/root/.ssh目錄下

cd /root/.ssh

cp id_rsa.pub authorized_keys

將公鑰復(fù)制為authorized_keys文件,此時使用ssh連接本機(jī)就不需要輸入密碼了

(2)接著配置三臺機(jī)器互相之間的ssh免密碼登錄

使用ssh-copy-id -i hostname命令將本機(jī)的公鑰拷貝到指定機(jī)器的authorized_keys文件中

java拟赊,在公司里做項目刺桃,有幾個人是自己去維護(hù)linux集群的啊要门?虏肾?廓啊?欢搜?封豪?

幾乎沒有,很少很少炒瘟,類似這一講要做的事情吹埠,其實都是SRE,運(yùn)維的同學(xué)疮装,去做的

但是對于課程來說缘琅,我們只能自己一步一步做,才有環(huán)境去學(xué)習(xí)袄啤K⑴邸!樊展!

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

基于虛擬機(jī)的linux集群環(huán)境呻纹,都準(zhǔn)備好了,手上有4臺機(jī)器专缠,后面玩兒各種redis雷酪、kafka、storm涝婉、tomcat哥力、nginx,都有機(jī)器了



課程大綱

1墩弯、安裝單機(jī)版redis

2吩跋、redis的生產(chǎn)環(huán)境啟動方案

3、redis cli的使用

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

1渔工、安裝單機(jī)版redis

大家可以自己去官網(wǎng)下載锌钮,當(dāng)然也可以用課程提供的壓縮包

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz

tar -xzvf tcl8.6.1-src.tar.gz

cd? /usr/local/tcl8.6.1/unix/

./configure?

make && make install

使用redis-3.2.8.tar.gz(截止2017年4月的最新穩(wěn)定版)

tar -zxvf redis-3.2.8.tar.gz

cd redis-3.2.8

make && make test && make install

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

2、redis的生產(chǎn)環(huán)境啟動方案

如果一般的學(xué)習(xí)課程涨缚,你就隨便用redis-server啟動一下redis轧粟,做一些實驗,這樣的話脓魏,沒什么意義

要把redis作為一個系統(tǒng)的daemon進(jìn)程去運(yùn)行的兰吟,每次系統(tǒng)啟動,redis進(jìn)程一起啟動

(1)redis utils目錄下茂翔,有個redis_init_script腳本

(2)將redis_init_script腳本拷貝到linux的/etc/init.d目錄中混蔼,將redis_init_script重命名為redis_6379,6379是我們希望這個redis實例監(jiān)聽的端口號

(3)修改redis_6379腳本的第6行的REDISPORT珊燎,設(shè)置為相同的端口號(默認(rèn)就是6379)

(4)創(chuàng)建兩個目錄:/etc/redis(存放redis的配置文件)惭嚣,/var/redis/6379(存放redis的持久化文件)

(5)修改redis配置文件(默認(rèn)在根目錄下遵湖,redis.conf),拷貝到/etc/redis目錄中晚吞,修改名稱為6379.conf

(6)修改redis.conf中的部分配置為生產(chǎn)環(huán)境

daemonize yes 讓redis以daemon進(jìn)程運(yùn)行

pidfile /var/run/redis_6379.pid 設(shè)置redis的pid文件位置

port 6379 設(shè)置redis的監(jiān)聽端口號

dir /var/redis/6379 設(shè)置持久化文件的存儲位置

(7)啟動redis延旧,執(zhí)行cd /etc/init.d, chmod 777 redis_6379,./redis_6379 start

(8)確認(rèn)redis進(jìn)程是否啟動槽地,ps -ef | grep redis

(9)讓redis跟隨系統(tǒng)啟動自動啟動

在redis_6379腳本中迁沫,最上面,加入兩行注釋

# chkconfig:? 2345 90 10

# description:? Redis is a persistent key-value database

chkconfig redis_6379 on

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

3捌蚊、redis cli的使用

redis-cli SHUTDOWN集畅,連接本機(jī)的6379端口停止redis進(jìn)程

redis-cli -h 127.0.0.1 -p 6379 SHUTDOWN,制定要連接的ip和端口號

redis-cli PING缅糟,ping redis的端口挺智,看是否正常

redis-cli,進(jìn)入交互式命令行

SET k1 v1

GET k1

redis的技術(shù)窗宦,包括4塊

redis各種數(shù)據(jù)結(jié)構(gòu)和命令的使用赦颇,包括java api的使用

redis一些特殊的解決方案的使用,pub/sub消息系統(tǒng)迫摔,分布式鎖沐扳,輸入的自動完成,等等

redis日常的管理相關(guān)的命令

redis企業(yè)級的集群部署和架構(gòu)

我們這套課程句占,實際上是針對企業(yè)級的大型緩存架構(gòu)沪摄,用得項目,真實的大型電商網(wǎng)站的詳情頁系統(tǒng)(緩存)

我們首先講解的第一塊纱烘,其實就是企業(yè)級的大型緩存架構(gòu)中的杨拐,redis集群架構(gòu)(海量數(shù)據(jù)、高并發(fā)擂啥、高可用)哄陶,最最流行,最最常用的分布式緩存系統(tǒng)

后面我們做商品詳情頁系統(tǒng)的業(yè)務(wù)開發(fā)的時候哺壶,當(dāng)然也會去用redis的一些命令

redis基礎(chǔ)知識:教程屋吨,書籍,視頻

redis持久化山宾、主從架構(gòu)至扰、復(fù)制原理、集群架構(gòu)资锰、數(shù)據(jù)分布式存儲原理敢课、哨兵原理、高可用架構(gòu)

網(wǎng)上一些redis的教程,持久化直秆,集群濒募,哨兵,也講了圾结,都是泛泛而講瑰剃,簡單帶你搭建一下

我會深入集群架構(gòu)的底層原理,哨兵的底層原理疫稿,用一線的經(jīng)驗培他,告訴你鹃两,redis的大規(guī)模的架構(gòu)師如何去支撐海量數(shù)據(jù)遗座、高并發(fā)、高可用的


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末俊扳,一起剝皮案震驚了整個濱河市途蒋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌馋记,老刑警劉巖号坡,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異梯醒,居然都是意外死亡宽堆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門茸习,熙熙樓的掌柜王于貴愁眉苦臉地迎上來畜隶,“玉大人,你說我怎么就攤上這事号胚∽崖” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵猫胁,是天一觀的道長箱亿。 經(jīng)常有香客問我,道長弃秆,這世上最難降的妖魔是什么届惋? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮菠赚,結(jié)果婚禮上脑豹,老公的妹妹穿的比我還像新娘。我一直安慰自己锈至,他們只是感情好晨缴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著峡捡,像睡著了一般击碗。 火紅的嫁衣襯著肌膚如雪筑悴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天稍途,我揣著相機(jī)與錄音阁吝,去河邊找鬼。 笑死械拍,一個胖子當(dāng)著我的面吹牛突勇,可吹牛的內(nèi)容都是我干的年栓。 我是一名探鬼主播沥寥,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼嗜湃!你這毒婦竟也來了迄损?” 一聲冷哼從身側(cè)響起定躏,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎芹敌,沒想到半個月后痊远,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡氏捞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年碧聪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片液茎。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡逞姿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出豁护,到底是詐尸還是另有隱情哼凯,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布楚里,位于F島的核電站断部,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏班缎。R本人自食惡果不足惜蝴光,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望达址。 院中可真熱鬧蔑祟,春花似錦、人聲如沸沉唠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至径簿,卻和暖如春罢屈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背篇亭。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工缠捌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人译蒂。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓曼月,卻偏偏與公主長得像,于是被迫代替她去往敵國和親柔昼。 傳聞我的和親對象是個殘疾皇子哑芹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 教你炒股票40:同級別分解的多重賦格 (2007-03-27 12:53:22) 轉(zhuǎn)載▼ 分類:時政經(jīng)濟(jì)(纏中說禪...
    4ccb34d29844閱讀 235評論 0 0
  • 幼稚的人總是爭辯是非對錯,成熟的人更多的是權(quán)衡得失利弊岳锁。
    Happy游世界閱讀 236評論 0 0
  • 第一印象是在一瞬間形成的绩衷。 1) 面部神態(tài):安詳、謙和激率、慈眉善目更容易贏得信任 2) 想清楚你想給對方留下什么...
    李子心誠閱讀 154評論 0 0
  • 《信念》 文/六悅 “不管是信神,還是自珍自重勿决,人活在這個世界上總得有點(diǎn)信念才成乒躺。就我個人而言,雖是無神論...
    六悅茗閱讀 168評論 0 0
  • SDK4.0引入了ARC低缩,到現(xiàn)在已經(jīng)一年了嘉冒,開始發(fā)現(xiàn)有很多項目會混合使用這兩個方案。比如: 1.自己的舊項目沒有使...
    kindom_0129閱讀 395評論 0 0