Linux中部署Redis集群5.0.5版本

146 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

1.下载安装包

http://download.redis.io/releases/redis-5.0.5.tar.gz

2.将安装包上传到服务器然后解压

tar -xvf redis-5.0.5.tar.gz

image.png 3.进入解压后的目录

cd redis-5.0.5/

4.执行make命令进行编译

make

image.png

DC7A3B10-8E82-4C88-8BF0-792AB898D01E.png

5.安装编译后的redis代码到指定目录,我们在/aifs01/iam/iam_soft目录下新建redis_cluster目录用于存放编译后文件

mkdir redis_cluster
make install PREFIX=/aifs01/iam/iam_soft/redis_cluster

image.png

6.在装好的redis目录(/aifs01/iam/iam_soft/redis_cluster)下新建一个redis_cluster目录

 cd   /aifs01/iam/iam_soft/redis_cluster
 mkdir   redis_cluster

 然后新建redis_conf、redis_logs、redis_pid、redis_rdb目录用于存放对应文件      

mkdir redis_conf  redis_logs redis_pid redis_rdb

image.png 7. 在redis-cluster目录下建6个文件夹如7001.7002.7003.7004.7005.7006.

mkdir 7001 7002 7003 7004 7005 7006

8.分别放入redis解压文件夹下redis.conf文件,并修改对应port为7001-7006

将redis解压目录下的redis.conf文件复制到7001目录下          

cd  7001/

cp /aifs01/iam/iam_soft/redis-5.0.5/redis.conf .     

修改redis.conf文件内容,需要修改以下参数:

bind 0.0.0.0   //改成你对应的IP如 

daemonize yes    //redis后台运行

pidfile /aifs01/iam/iam_soft/redis_cluster/redis_pid/redis_7001.pid    //pidfile文件对应7001 改成每个文件对应的7001-7006

port 7001   //端口7000

cluster-enabled yes    //开启集群 把注释#去掉

cluster-config-file  /aifs01/iam/iam_soft/redis_cluster/redis_conf/nodes-7001.conf   //集群的配置 配置文件首次启动自动生成  改成每个文件对应的7001-7006

cluster-node-timeout 5000   //请求超时 设置5秒够了

appendonly yes   //aof日志开启 有需要就开启,它会每次写操作都记录一条日志

cluster-require-full-coverage  no   //此参数为如果redis集群有一个挂掉其他节点还能使用

logfile  "/aifs01/iam/iam_soft/redis_cluster/redis_logs/redis_7001.log"

dbfilename   dump_7001.rdb

dir   /aifs01/iam/iam_soft/redis_cluster/redis_rdb/

appendfilename 只能为一个文件名不可以为路径

注:默认情况下,Redis集群节点如果检测到至少有一个散列槽(没有可用的节点正在服务),就会停止接受查询。这样,如果集群部分宕机(例如,不再覆盖散列槽的范围),那么所有集群最终都将不可用。当所有的插槽再次被覆盖时,它会自动返回。但是,有时您希望集群的子集继续工作,继续接受仍然覆盖的关键空间部分的查询。为了做到这一点,只需将cluster-require-full-coverage选项设置为no。

将7001下的redis.conf文件复制到7002目录下然后将端口和其他配置修改为7002,其他类似

9.启动各个节点

在/aifs01/iam/iam_soft/redis_cluster/bin目录下执行

./redis-server ../redis_cluster/7001/redis.conf
./redis-server ../redis_cluster/7002/redis.conf
./redis-server ../redis_cluster/7003/redis.conf
./redis-server ../redis_cluster/7004/redis.conf
./redis-server ../redis_cluster/7005/redis.conf
./redis-server ../redis_cluster/7006/redis.conf

然后执行ps -ef | grep redis查看进程是否存在

10.然后在bin目录下执行

./redis-cli --cluster create ip:7001  ip:7002  ip:7003  ip:7004  ip:7005  ip:7006 --cluster-replicas 1

image.png

image.png

出现上述说明集群部署成功

11.给集群设置密码(可选)

在任意一台服务器bin目录下执行

./redis-cli -c -h 10.10.10.1 -p 7001
config set masterauth tysfrz123

config set requirepass tysfrz123

auth tysfrz123

CONFIG REWRITE

image.png

执行完上述命令后说明10.10.10.1下的7001节点设置密码为tysfrz123

执行exit退出后,依次修改为对应的ip和端口重复上述命令:./redis-cli -c -h 10.10.10.1 -p 7002