1. 程式人生 > >CentOS 6.5 -- Redis 4.0.2環境搭建、安裝和例項啟動

CentOS 6.5 -- Redis 4.0.2環境搭建、安裝和例項啟動

關於Redis,不做解釋,主要講操作

一、準備一個純淨版的CentOS 6.5

二、SSH工具連線CentOS 64-bit-Redis


三、安裝curl下載工具包

yum install curl

(如果安裝的過程中自動yes,帶上引數  yum-y install curl)


四、利用curl下載 rvm(redis叢集要用到ruby編譯環境,而ruby的下載和安裝,可以直接由rvm版本管理器管理 )

A.沒下載前,rvm找不到組織


B.下載

(1)curl -L get.rvm.io | bash -s stable


此方法已失效,轉到(如果沒失效,基本上不可能的,沒失效,不用管好吧!)

(2)curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -


好了,看到上面的提示,我們繼續利用第一步的命令下載rvm管理器

(3)curl -L get.rvm.io | bash -s stable

(4)看到這裡,就表示rvm下載成功了,啟動rvm服務的話,需要


source /etc/profile.d/rvm.sh


C.利用rvm(ruby)版本管理器,下載ruby(注意,redis 4.0.2需要依賴ruby 2.2版本以上,目前最新的ruby版本是2.4.2)

(1)rvm 環境依賴包(需求,這個包比較全)檢查並安裝Installl,此過程需要花費點時間(30s左右)

rvm requirements


(2)再來個yum命令,把依賴包補全,保險起見(沒試過這個不下載安裝會有什麼影響,下了,肯定也不會有什麼影響!)

rvmsudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel

(3)ruby下載安裝,搞起(查詢對應的版本並下載需要點時間,)

rvm install 2.4.2


大概五六分鐘,走完


complete後,我們rvm指定ruby的使用

rvm use 2.4.2


基於以上所有步驟,我們檢視下當前ruby 的gem的版本(gem:一個管理Ruby庫和程式的標準包)

rvm rubygems current


因為,後面需要講到 redis 叢集的模擬,這個會用到 redis-trib.rb可執行檔案,而這個檔案又依賴於ruby環境編譯,因此,上面下載和安裝了一堆,是為後面的redis叢集做鋪墊,最後一步

gem install redis (需要一段時間)


不用管下載的redis的gem包的版本號,和我們本篇所要安裝的redis版本號不統一的問題,二者不是一個,但肯定互相相容

五、安裝Redis 4.0.2

(1)在 /usr/local/src/ 目錄下,建立 redis 目錄


(2)在當前redis目錄,使用wget下載,redis最新的版本包

wget http://download.redis.io/releases/redis-4.0.2.tar.gz



(3)下載完成後,檢視並解壓

tar -zxvf redis-4.0.2.tar.gz

(4)進入redis-4.0.2目錄,進行make編譯(C)

cd redis-4.0.2

make

唰唰唰唰,直到最後完成編譯

(5)編譯完成後,直接install

make install

也是唰唰的(沒有唰唰唰唰的),直到最後install完成

(6)切換到src目錄,ls一下

redis-cli       :連線某個節點,預設redis的埠號是 6379

redis-server:啟動redis服務,後跟redis.conf配置檔案,啟動指定redis例項

redis-trib-rb :配置redis叢集,新增,刪除叢集中的節點,以及其他命令操作


(7)啟動redis服務,驗證redis是否已經安裝到位

redis-server

由於,我們尚未啟動任何redis例項(ip+port),因此,redis-cli暫時使用不了,上述輸入 Ctrl + C 退出當前可執行的會話


(8)啟動redis的預設例項,埠號為6379

(1)mkdir 6379 && cp  redis-4.0.2/redis.conf  6379/  ---> 建立6379 目錄 + 複製redis.conf至該目錄下

注意:後續我們還會在一臺Linux虛擬機器上模擬多個redis節點(快取資料庫),因此,我們需要把最原始的redis的配置檔案redis.conf拷貝出來,單獨進行配置,目錄名稱我們用資料庫節點的埠號命名


(2)修改6379目錄下面的redis.conf配置檔案

需要修改和注意的幾個地方:

A

# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize no

把這個改為 yes,例項後臺執行

daemonize yes

B

# Creating a pid file is best effort: if Redis is not able to create it
# nothing bad happens, the server will start and run normally.
pidfile /var/run/redis_6379.pid

這個地方是啟動的例項程序名稱,預設就是這個,知道一下,不用改

C

#   Note: you can disable saving completely by commenting out all "save" lines.
#
#   It is also possible to remove all the previously configured save
#   points by adding a save directive with a single empty string argument
#   like in the following example:
#
#   save ""


save 900 1
save 300 10
save 60 10000

這個地方,是redis的持久化操作,就是將記憶體中的資料,定時save到磁碟,預設儲存檔案是dump.rdb(快照模式),當然也可以手動開啟aof模式,二種持久化模式這裡不做說明

這裡不開啟,為了演示後面的redis主從資料架構,註釋掉

#save 900 1
#save 300 10
#save 60 10000

D

# 3) Replication is automatic and does not need user intervention. After a
#    network partition slaves automatically try to reconnect to masters
#    and resynchronize with them.
#
# slaveof <masterip> <masterport>

這個地方,是設定redis主從資料庫的,瞭解就下,本篇不做修改(開啟)

E

# In short... if you have slaves attached it is suggested that you set a lower
# limit for maxmemory so that there is some free RAM on the system for slave
# output buffers (but this is not needed if the policy is 'noeviction').
#
# maxmemory <bytes>

這個地方是當前例項,在記憶體中儲存的最大記憶體的容量,我們設定為100M(演示的話,綽綽有餘),並開啟(消除註釋)

maxmemory 100m

其他地方不用改了(暫且這些就夠用了),儲存修改並退出:wq!

(3)開啟6379例項

redis-server ./redis.conf


程序檢視

ps -ef|grep redis

(4)連線6379例項,並測試redis快取讀寫資料

以下操作,不涉及快取資料的持久化(我們在配置檔案裡面關閉了預設快照持久化方式),因此,如果下面的例項宕掉了,之前我們在記憶體中設定的資料就會丟失,這個不用擔心,下一篇,會講到redis的主從/主從從資料架構,來實現資料的同步,這種同步自動會完成記憶體中的資料的持久化操作(儲存到dumb.rdb檔案中)


未完待續!