下载reids5.0.10
curl https://download.redis.io/releases/redis-5.0.10.tar.gz?_ga=2.249956673.638071054.1611151168-579386378.1611151168 -o redis.tar.gz
解压并复制到/opt目录
tar zxf redis.tar.gz
mv redis-5.0.10 /opt
安装gcc,g++ 包
yum install gcc -y
cd /opt/redis.5.0.10
执行make ,出现以下错误,
[root@pcserver redis-5.0.10]# make
cd src && make all
make[1]: Entering directory `/opt/redis-5.0.10/src'
CC Makefile.dep
make[1]: Leaving directory `/opt/redis-5.0.10/src'
make[1]: Entering directory `/opt/redis-5.0.10/src'
CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
#include <jemalloc/jemalloc.h>
安装并设置好环境变量
使用如下命令进行编译
make MALLOC=libc && make install --PREFIX=/opt/redis
echo 'export PATH=$PATH:/opt/redis/bin'>>~/.bashrc
export PATH=$PATH:/opt/redis/bin
安装完成。
redis集群
我们利用系统提供的工具脚本创建集群
cd /opt/redis-5.0.10/utils/create-cluster
./create-cluster start
./create-cluster create
#可以使用create-cluster stop停止
#可以使用create-cluster clean 清除。
如果需要看到具体创建集群的方法,可参考博主的3.2 版本文章,也可以直接查看 create-cluster脚本文件学习
[root@pcserver create-cluster]# ./create-cluster start
Starting 30001
Starting 30002
Starting 30003
Starting 30004
Starting 30005
Starting 30006
[root@pcserver create-cluster]# ./create-cluster create
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 127.0.0.1:30005 to 127.0.0.1:30001
Adding replica 127.0.0.1:30006 to 127.0.0.1:30002
Adding replica 127.0.0.1:30004 to 127.0.0.1:30003
>>> Trying to optimize slaves allocation for anti-affinity
[WARNING] Some slaves are in the same host as their master
M: e4c330c0b2415c07206deab47b89e045fbf6dca9 127.0.0.1:30001
slots:[0-5460] (5461 slots) master
M: 7b6cac64864b509285acf1a6ba644beb710f5876 127.0.0.1:30002
slots:[5461-10922] (5462 slots) master
M: 9135a2e7141758c46c518257035545a7e8ce9b5f 127.0.0.1:30003
slots:[10923-16383] (5461 slots) master
S: 67da046152dd8eec0b79d8b902d76b15a91a76f0 127.0.0.1:30004
replicates 9135a2e7141758c46c518257035545a7e8ce9b5f
S: 726aa573326a3539c8eef7405d94419eb8b982f2 127.0.0.1:30005
replicates e4c330c0b2415c07206deab47b89e045fbf6dca9
S: 5f03d1a1b202a200f67489073467dc4a0a9ea7ba 127.0.0.1:30006
replicates 7b6cac64864b509285acf1a6ba644beb710f5876
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:30001)
M: e4c330c0b2415c07206deab47b89e045fbf6dca9 127.0.0.1:30001
slots:[0-5460] (5461 slots) master
1 additional replica(s)
M: 9135a2e7141758c46c518257035545a7e8ce9b5f 127.0.0.1:30003
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
S: 726aa573326a3539c8eef7405d94419eb8b982f2 127.0.0.1:30005
slots: (0 slots) slave
replicates e4c330c0b2415c07206deab47b89e045fbf6dca9
S: 5f03d1a1b202a200f67489073467dc4a0a9ea7ba 127.0.0.1:30006
slots: (0 slots) slave
replicates 7b6cac64864b509285acf1a6ba644beb710f5876
M: 7b6cac64864b509285acf1a6ba644beb710f5876 127.0.0.1:30002
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: 67da046152dd8eec0b79d8b902d76b15a91a76f0 127.0.0.1:30004
slots: (0 slots) slave
replicates 9135a2e7141758c46c518257035545a7e8ce9b5f
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
[root@pcserver create-cluster]# redis-c
redis-check-aof redis-check-rdb redis-cli
[root@pcserver create-cluster]# redis-cli -c -p 30001
127.0.0.1:30001> set foor bar
OK
127.0.0.1:30001> get foor
"bar"
127.0.0.1:30001> exit