本文 redis版本3.2.9
介紹
IP | 端口 | 角色 |
---|---|---|
127.0.0.1 | 7000 | Master |
127.0.0.1 | 7001 | Master |
127.0.0.1 | 7002 | Master |
127.0.0.1 | 7003 | Slave |
127.0.0.1 | 7004 | Slave |
127.0.0.1 | 7005 | Slave |
一、安裝
1.1 創建目錄
mkdir -p /redis/cluster
mkdir 7000 7001 7002 7003 7004 7005
1.2 下載安裝包wget http://download.redis.io/releases/redis-3.2.9.tar.gz
1.3 解壓安裝
tar zxvf redis-3.2.9.tar.gz
cd redis-3.2.9
make && make PREFIX=/usr/local/redis install
注:PREFIX可以根據環境需求更改存放位置
1.4 yum源
vi /etc/yum.repos.d/yum.repo
[base]
name=Red Hat Enterprise Linux
baseurl=file:///media/Server
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
資源包
yum install gcc
yum install tcl
1.5 復制和修改配置文件
cp /redis/redis-3.2.9/redis.conf /redis/cluster/7000
cp /redis/redis-3.2.9/redis.conf /redis/cluster/7001
cp /redis/redis-3.2.9/redis.conf /redis/cluster/7002
cp /redis/redis-3.2.9/redis.conf /redis/cluster/7003
cp /redis/redis-3.2.9/redis.conf /redis/cluster/7004
cp /redis/redis-3.2.9/redis.conf /redis/cluster/7005
1.6 修改配置文件
# 端口號
port 7000
#后臺啟動
daemonize yes
#開啟集群
cluster-enabled yes
#集群節點配置文件
cluster-config-file nodes-7000.conf
#集群連接超時時間
cluster-node-timeout 5000
#進程pid的文件位置
pidfile /var/run/redis-7000.pid
#開啟aof
appendonly yes
#aof文件路徑
appendfilename "appendonly-7005.aof"
#rdb文件路徑
dbfilename dump-7000.rdb
1.7 創建啟動腳本
/redis/redis-3.2.9/bin/redis-server /redis/cluster/7000/redis.conf
/redis/redis-3.2.9/bin/redis-server /redis/cluster/7001/redis.conf
/redis/redis-3.2.9/bin/redis-server /redis/cluster/7002/redis.conf
/redis/redis-3.2.9/bin/redis-server /redis/cluster/7003/redis.conf
/redis/redis-3.2.9/bin/redis-server /redis/cluster/7004/redis.conf
/redis/redis-3.2.9/bin/redis-server /redis/cluster/7005/redis.conf
二、集群
2.1 資源包
[root@redis2 ~]#yum install ruby rubygems -y
[root@redis2 ~]# tar zxvf rubygems-2.4.6.tgz
[root@redis2 ~]# chown -R root:root rubygems-2.4.6
[root@redis2 ~]# cd rubygems-2.4.6
ruby setup.rb
gem sources --remove https://rubygems.org/
gem install redis-3.3.3.gem
2.2 創建集群redis-trib 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
命令的意義如下:
redis-trib.rb 程序的命令是 create ,集群。
選項 --replicas 1 表示我們希望為集群中的每個主節點創建一個從節點。
之后跟著的其他參數則是實例的地址列表, 我們希望程序使用這些地址所指示的實例來創建新集群。
簡單來說,以上的命令的意思就是讓redis-trib程序幫我們創建三個主節點和三個從節點的集群
接著, redis-trib 會打印出一份預想中的配置給你看, 如果你覺得沒問題的話, 就可以輸入 yes , redis-trib 就會將這份配置應用到集群當中:
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:7000
127.0.0.1:7001
127.0.0.1:7002
Adding replica 127.0.0.1:7003 to 127.0.0.1:7000
Adding replica 127.0.0.1:7004 to 127.0.0.1:7001
Adding replica 127.0.0.1:7005 to 127.0.0.1:7002
M: bdcddddd3d78a866b44b68c7ae0e5ccf875c446a 127.0.0.1:7000
slots:0-5460 (5461 slots) master
M: b85519795fa42aa33d4e88d25104cbae895933a6 127.0.0.1:7001
slots:5461-10922 (5462 slots) master
M: b681e1a151890cbf957d1ff08352ee48f6ae39e6 127.0.0.1:7002
slots:10923-16383 (5461 slots) master
S: d403713ab9db48aeac5b5393b69e1201026ef479 127.0.0.1:7003
replicates bdcddddd3d78a866b44b68c7ae0e5ccf875c446a
S: b7ec92919e5bcffa76c8eee338f8ca5155293c64 127.0.0.1:7004
replicates b85519795fa42aa33d4e88d25104cbae895933a6
S: 8a0d2a3f271b349744a971e1b0a545405de2742e 127.0.0.1:7005
replicates b681e1a151890cbf957d1ff08352ee48f6ae39e6
Can I set the above configuration? (type 'yes' to accept):
2.3 集群使用
[root@centos1 redis]# ./redis-cli -c -p 7000
127.0.0.1:7000> set name leo
-> Redirected to slot [5798] located at 127.0.0.1:7001
OK
127.0.0.1:7001> get name
"leo"
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。