怎樣進(jìn)行redis環(huán)境搭建,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
因?yàn)楣ぷ鳝h(huán)境中有redis,所以對(duì)redis進(jìn)行了學(xué)習(xí),當(dāng)然首先就是從搭建環(huán)境開始,下面是我對(duì)于搭建redis環(huán)境的記錄。
系統(tǒng)是SuSE 11 sp2,
軟件環(huán)境如下所示:
linux-svnfile:/home/apps/redis # ls
redis-3.0.0.gem ruby-1.9.2-p290.tar.gz zlib-1.2.7.tar.gz
redis-3.0.0.tar.gz rubygems-2.4.6.tgz
redis.conf zlib-1.2.6.tar.gz
安裝基礎(chǔ)環(huán)境:
linux-svnfile:/home/apps/redis # tar -zxf zlib-1.2.6.tar.gz -C /usr/local/src
linux-svnfile:/usr/local/src/zlib-1.2.6 # ./configure --prefix=/usr/local/zlib
linux-svnfile:/usr/local/src/zlib-1.2.6 # make && make install
linux-svnfile:/home/apps/redis # tar -zxf ruby-1.9.2-p290.tar.gz -C /usr/local/src
linux-svnfile:/usr/local/src/ruby-1.9.2-p290 # ./configure --prefix=/usr/local/ruby
linux-svnfile:/usr/local/src/ruby-1.9.2-p290 # make && make install
linux-svnfile:/usr/local/ruby # ln -s /usr/local/ruby/bin/ruby /usr/local/bin
linux-svnfile:/home/apps/redis # tar xf rubygems-2.4.6.tgz -C /usr/local/src
linux-svnfile:/usr/local/src # mv rubygems-2.4.6 ../gem
linux-svnfile:/usr/local/gem # ruby setup.rb
linux-svnfile:/usr/local/gem # cp bin/gem /usr/local/bin/
linux-svnfile:/home/apps/redis # gem install -l redis-3.0.0.gem
Successfully installed redis-3.0.0
Installing ri documentation for redis-3.0.0
Done installing documentation for redis after 0 seconds
1 gem installed
linux-svnfile:/home/apps/redis # tar -zxf redis-3.0.0.tar.gz -C /usr/local/src
linux-svnfile:/usr/local/src # mv redis-3.0.0 ../redis
linux-svnfile:/usr/local/redis # make
至此基礎(chǔ)環(huán)境搭建完成
下面進(jìn)行集群的搭建
linux-svnfile:/usr/local/redis # cp src/redis-server /usr/local/bin/
linux-svnfile:/usr/local/redis # cp src/redis-cli /usr/local/bin/
linux-svnfile:/usr/local/redis # cp src/redis-trib.rb /usr/local/bin
linux-svnfile:/usr/local/redis # mkdir -p /usr/local/cluster/{7000..7005}
linux-svnfile:/usr/local/redis # vi redis.conf
daemonize yes
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
linux-svnfile:/usr/local/redis # cp redis.conf ../cluster/7000
linux-svnfile:/usr/local/redis # cp redis.conf ../cluster/7001
linux-svnfile:/usr/local/redis # cp redis.conf ../cluster/7002
linux-svnfile:/usr/local/redis # cp redis.conf ../cluster/7003
linux-svnfile:/usr/local/redis # cp redis.conf ../cluster/7004
linux-svnfile:/usr/local/redis # cp redis.conf ../cluster/7005
這里需要注意的是文件名對(duì)應(yīng)文件里端口的配置,例如7001文件下的port參數(shù)需要改為7001,其他一樣做修改。
linux-svnfile:/usr/local/redis # redis-server ../cluster/7000/redis.conf
linux-svnfile:/usr/local/redis # redis-server ../cluster/7001/redis.conf
linux-svnfile:/usr/local/redis # redis-server ../cluster/7002/redis.conf
linux-svnfile:/usr/local/redis # redis-server ../cluster/7003/redis.conf
linux-svnfile:/usr/local/redis # redis-server ../cluster/7004/redis.conf
linux-svnfile:/usr/local/redis # redis-server ../cluster/7005/redis.conf
linux-svnfile:/usr/local/redis # ps -ef | grep redis
root 15590 1 0 18:52 ? 00:00:00 redis-server *:7000 [cluster]
linux-svnfile:/usr/local/redis # redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
>>> Creating cluster
Connecting to node 127.0.0.1:7000: OK
Connecting to node 127.0.0.1:7001: [ERR] Sorry, can't connect to node 127.0.0.1:7001
You have new mail in /var/mail/root
linux-svnfile:/usr/local/cluster/7000 # redis-server redis.conf
linux-svnfile:/usr/local/cluster/7000 # cd ../7001
linux-svnfile:/usr/local/cluster/7001 # redis-server redis.conf
linux-svnfile:/usr/local/cluster/7001 # cd ../7002
linux-svnfile:/usr/local/cluster/7002 # redis-server redis.conf
linux-svnfile:/usr/local/cluster/7002 # cd ../7003
linux-svnfile:/usr/local/cluster/7003 # redis-server redis.conf
linux-svnfile:/usr/local/cluster/7003 # cd ../7004
linux-svnfile:/usr/local/cluster/7004 # redis-server redis.conf
linux-svnfile:/usr/local/cluster/7004 # cd ../7005
linux-svnfile:/usr/local/cluster/7005 # redis-server redis.conf
linux-svnfile:/usr/local/cluster/7005 # ps -ef | grep redis
root 17575 1 0 20:05 ? 00:00:00 redis-server *:7000 [cluster]
root 17590 1 0 20:06 ? 00:00:00 redis-server *:7001 [cluster]
root 17604 1 0 20:06 ? 00:00:00 redis-server *:7002 [cluster]
root 17612 1 0 20:06 ? 00:00:00 redis-server *:7003 [cluster]
root 17616 1 0 20:06 ? 00:00:00 redis-server *:7004 [cluster]
root 17624 1 0 20:06 ? 00:00:00 redis-server *:7005 [cluster]
像是上面在啟動(dòng)服務(wù)時(shí)需要注意切換到相應(yīng)的配置文件的目錄下,不然相應(yīng)端口的服務(wù)無法啟動(dòng),例如我之前在/usr/local/redis目錄下啟動(dòng)后只有7000對(duì)應(yīng)的服務(wù)啟動(dòng)了。
linux-svnfile:/usr/local/redis # redis-server ../cluster/7000/redis.conf
linux-svnfile:/usr/local/redis # redis-server ../cluster/7001/redis.conf
linux-svnfile:/usr/local/redis # redis-server ../cluster/7002/redis.conf
linux-svnfile:/usr/local/redis # redis-server ../cluster/7003/redis.conf
linux-svnfile:/usr/local/redis # redis-server ../cluster/7004/redis.conf
linux-svnfile:/usr/local/redis # redis-server ../cluster/7005/redis.conf
linux-svnfile:/usr/local/redis # ps -ef | grep redis
root 15144 19064 0 18:37 pts/0 00:00:00 vi redis.conf
root 15590 1 0 18:52 ? 00:00:00 redis-server *:7000 [cluster]
root 15616 19443 0 18:52 pts/1 00:00:00 grep redis
linux-svnfile:/usr/local/cluster #redis-cli -p 7000
127.0.0.1:7000>
刪除slave節(jié)點(diǎn)
刪除master節(jié)點(diǎn)
linux-svnfile:/usr/local/redis # redis-trib.rb reshard 127.0.0.1:7001
How many slots do you want to move (from 1 to 16384)? 5461
What is the receiving node ID? 42929649e533ec8aad7cbb81f204f04c849d4bff
Please enter all the source node IDs.
Type 'all' to use all the nodes as source nodes for the hash slots.
Type 'done' once you entered all the source nodes IDs.
Source node #1: 6fe9561e605b7ee85e67a2557f7fb641f482afb4
Source node #2:done
#Do you want to proceed with the proposed reshard plan (yes/no)? yes
說明:
5461表示要?jiǎng)h除master所有的slot數(shù)量
What is the receiving node ID是指將7000的slot遷移的節(jié)點(diǎn)7001的node-id
Source node #1是指要?jiǎng)h除的master的node-id
下面可以看到7000的slot為0,而7001多了4561
在刪除master節(jié)點(diǎn)出現(xiàn)如下面所示的錯(cuò)誤,是因?yàn)閯h除master節(jié)點(diǎn)之前沒有刪除master節(jié)點(diǎn)的slave節(jié)點(diǎn)。
上面是在單臺(tái)機(jī)器上做的集群,下面展示兩臺(tái)機(jī)器上做集群,其實(shí)也很簡(jiǎn)單。
參考之前的環(huán)境編譯源碼到另一臺(tái)機(jī)器
在兩臺(tái)機(jī)器上編輯配置文件
/usr/local/redis # vi redis.conf
daemonize yes
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
cluster-config-file nodes-7001.conf
分別創(chuàng)建目錄和文件
linux-svnfile:/usr/local/redis # mkdir -p/usr/local/cluster/{7001..7003}
localhost:/usr/local/redis # mkdir -p/usr/local/cluster/{8001..8003}
linux-svnfile:/usr/local/redis # cpredis.conf ../cluster/7001
linux-svnfile:/usr/local/redis # cpredis.conf ../cluster/7002
linux-svnfile:/usr/local/redis # cpredis.conf ../cluster/7003
localhost:/usr/local/redis # cp redis.conf../cluster/8001
localhost:/usr/local/redis # cp redis.conf../cluster/8002
localhost:/usr/local/redis # cp redis.conf../cluster/8003
修改對(duì)應(yīng)目錄的配置文件其中port 和cluster-config-file分別對(duì)應(yīng)各自的目錄名,可使用sed命令做修改
sed -i "s/7001/7002/g"
啟動(dòng)服務(wù)
關(guān)于怎樣進(jìn)行redis環(huán)境搭建問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前名稱:怎樣進(jìn)行redis環(huán)境搭建-創(chuàng)新互聯(lián)
文章出自:http://chinadenli.net/article26/djggcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、營(yíng)銷型網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容