CentOS7安裝配置redis-3.0.0


一.安裝必要包

yum install gcc

二.linux下安裝

#下載
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
tar zxvf redis-3.0.0.tar.gz
cd redis-3.0.0
#如果不加參數,linux下會報錯
make MALLOC=libc

 安裝好之后,啟動文件

#啟動redis
src/redis-server &

#關閉redis
src/redis-cli shutdown

測試redis

$ src/redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
$ 

測試成功

 

3.redis cluster集群搭建

建立本機測試環境

建立運行目錄

#建立redis運行目錄
mkdir -p redis-server/7000/
#復制默認的配置文檔
cp redis-3.0.0/redis.conf redis-server/redis.default.conf
#把編譯好的server復制到運行目錄
cp redis-3.0.0/src/redis-server redis-server/7000/

建立獨立配置文件

#在7000目錄下建立redis的配置文檔
vim redis-server/7000/redis.conf

文件內容

復制代碼
#redis-server/7000/redis.conf
include /root/redis-server/redis.default.conf
pidfile /var/run/redis-7000.pid
port 7000
cluster-enabled yes
cluster-config-file redis-node-7000.conf
cluster-node-timeout 5000
appendonly yes
復制代碼

復制運行目錄(模擬集群環境)

#復制目錄
cp -R 7000/ 7001/
cp -R 7000/ 7002/
cp -R 7000/ 7003/
cp -R 7000/ 7004/
cp -R 7000/ 7005/

修改相應配置文件的端口和文件名

建立啟動腳本 redis-server/redis-start.sh

復制代碼
#!/bin/sh
/root/redis-server/7000/redis-server /root/redis-server/7000/redis.conf &
/root/redis-server/7001/redis-server /root/redis-server/7001/redis.conf &
/root/redis-server/7002/redis-server /root/redis-server/7002/redis.conf &
/root/redis-server/7003/redis-server /root/redis-server/7003/redis.conf &
/root/redis-server/7004/redis-server /root/redis-server/7004/redis.conf &
/root/redis-server/7005/redis-server /root/redis-server/7005/redis.conf &
復制代碼

 

配置集群

安裝ruby

yum install ruby-devel.x86_64

安裝redis gem 

# gem install redis
Fetching: redis-3.2.1.gem (100%)
Successfully installed redis-3.2.1
Parsing documentation for redis-3.2.1
Installing ri documentation for redis-3.2.1
1 gem installed

使用腳本建立集群機制  

在create的時候,加上參數--replicas 1 表示為每個master分配一個salve,如例子,則是3個master 3個salve

復制代碼
# ./redis-trib.rb create 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: OK
Connecting to node 127.0.0.1:7002: OK
Connecting to node 127.0.0.1:7003: OK
Connecting to node 127.0.0.1:7004: OK
Connecting to node 127.0.0.1:7005: OK
>>> Performing hash slots allocation on 6 nodes...
Using 6 masters:
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
M: f3dd250e4bc145c8b9f864e82f65e00d1ba627be 127.0.0.1:7000
   slots:0-2730 (2731 slots) master
M: 1ba602ade59e0770a15128b193f2ac29c251ab5e 127.0.0.1:7001
   slots:2731-5460 (2730 slots) master
M: 4f840a70520563c8ef0d7d1cc9d5eaff6a1547a2 127.0.0.1:7002
   slots:5461-8191 (2731 slots) master
M: 702adc7ae9caf1f6702987604548c6fc1d22e813 127.0.0.1:7003
   slots:8192-10922 (2731 slots) master
M: 4f87a11d2ea6ebe9caf02c9dbd827a3dba8a53cf 127.0.0.1:7004
   slots:10923-13652 (2730 slots) master
M: 216bbb7da50bd130da16a327c76dc6d285f731b3 127.0.0.1:7005
   slots:13653-16383 (2731 slots) master
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join...
>>> Performing Cluster Check (using node 127.0.0.1:7000)
M: f3dd250e4bc145c8b9f864e82f65e00d1ba627be 127.0.0.1:7000
   slots:0-2730 (2731 slots) master
M: 1ba602ade59e0770a15128b193f2ac29c251ab5e 127.0.0.1:7001
   slots:2731-5460 (2730 slots) master
M: 4f840a70520563c8ef0d7d1cc9d5eaff6a1547a2 127.0.0.1:7002
   slots:5461-8191 (2731 slots) master
M: 702adc7ae9caf1f6702987604548c6fc1d22e813 127.0.0.1:7003
   slots:8192-10922 (2731 slots) master
M: 4f87a11d2ea6ebe9caf02c9dbd827a3dba8a53cf 127.0.0.1:7004
   slots:10923-13652 (2730 slots) master
M: 216bbb7da50bd130da16a327c76dc6d285f731b3 127.0.0.1:7005
   slots:13653-16383 (2731 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
復制代碼

 如果需要全部重新自動配置,則刪除所有的配置好的cluster-config-file,重新啟動所有的redis-server,然后重新執行配置命令即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM