Redis4.0集群安装简介
1.安装文件
2.编译安装
2.1安装redis
2.2安装ruby
3.实例配置
4.安装依赖
5.启动实例
6.启动集群
7.维护Redis集群
7.1修改配置
7.2常用命令
1.安装文件
本例安装版本为redis4.0,下载好以下安装文件:
redis-4.0.0.rc1.gem
redis-4.0.2.tar.gz
ruby-2.4.2.tar.gz
这里使用两台主机搭建redis集群,30.16.95.138、30.16.95.139,各搭建10个实例。
分别拷贝到两台主机安装目录下
2.编译安装
2.1安装redis
分别解压redis-4.0.2.tar.gz到安装目录
进入根目录执行
1. make
2. make install
2.2安装ruby
分别解压ruby-2.4.2.tar.gz到安装目录
进入根目录执行
1. make
2. make install
注意账户权限问题,需要部分root权限
3.实例配置
分别在两台主机上执行以下命令(ip需修改),新建实例根目录和生成配置文件,本配置应用于判重业务,具体配置项可以根据自己需要修改,如果主机由多个磁盘,可以将实例的根目录设置到不同磁盘下,提高IO性能。
1. for i in {7000..7001};do (mkdir -p /data1/redis/redis-cluster/nodes-$i;cp redis.conf /data1/redis/redis-cluster/nodes-$i;echo "
2. port $i
3. bind 30.16.95.139
4. daemonize yes
5. cluster-enabled yes
6. cluster-config-file nodes.conf
7. pidfile /data1/redis/redis-cluster/nodes-$i/redis.pid
8. logfile /data1/redis/redis-cluster/nodes-$i/redis.log
9. dir /data1/redis/redis-cluster/nodes-$i
10. save 3600 1
11. save 600 1000
12. save 60 100000
13. dbfilename dump.rdb
14. cluster-node-timeout 60000
15. cluster-require-full-coverage no
16. appendfsync no
17. masterauth password
18. requirepass password
19. maxmemory 6442450944
20. " >/data1/redis/redis-cluster/nodes-$i/redis.conf;);done;
21. for i in {7000..7001};do (mkdir -p /data1/redis/redis-cluster/nodes-$i;cp redis.conf /data1/redis/redis-cluster/nodes-$i;echo "
22. port $i
23. bind 30.16.95.139
24. daemonize yes
25. cluster-enabled yes
26. cluster-config-file nodes.conf
27. pidfile /data1/redis/redis-cluster/nodes-$i/redis.pid
28. logfile /data1/redis/redis-cluster/nodes-$i/redis.log
29. dir /data1/redis/redis-cluster/nodes-$i
30. save 3600 1
31. save 600 1000
32. save 60 100000
33. dbfilename dump.rdb
34. cluster-node-timeout 60000
35. cluster-require-full-coverage no
36. appendfsync no
37. masterauth password
38. requirepass password
39. maxmemory 6442450944
40. " >/data1/redis/redis-cluster/nodes-$i/redis.conf;);done;
其中有些系统配置建议修改,以提高redis性能,高于指标的项可以忽略
1. echo 1 >/proc/sys/vm/overcommit_memory
2. echo never > /sys/kernel/mm/transparent_hugepage/enabled
3. echo 1024>/proc/sys/net/core/somaxconn
4. echo "*hard nproc 262144">> /etc/security/limits.d/90-nproc.conf
4.安装依赖
之前安装的ruby,现在可以使用其gem安装集群调用的依赖包。
在线安装允许的话,执行以下命令
1. gem install redis
否则离线安装
1. gem install –l redis-4.0.0.rc1.gem
5.启动实例
在启动前可以配置好ruby和redis的环境变量,下面是直接启动的命令
1. /data0/soft/redis-4.0.2/src/redis-server /data1/redis/redis-cluster/nodes-7000/redis.conf
2. /data0/soft/redis-4.0.2/src/redis-server /data1/redis/redis-cluster/nodes-7001/redis.conf
3. /data0/soft/redis-4.0.2/src/redis-server /data2/redis/redis-cluster/nodes-7002/redis.conf
4. /data0/soft/redis-4.0.2/src/redis-server /data2/redis/redis-cluster/nodes-7003/redis.conf
5. /data0/soft/redis-4.0.2/src/redis-server /data3/redis/redis-cluster/nodes-7004/redis.conf
6. /data0/soft/redis-4.0.2/src/redis-server /data3/redis/redis-cluster/nodes-7005/redis.conf
7. /data0/soft/redis-4.0.2/src/redis-server /data4/redis/redis-cluster/nodes-7006/redis.conf
8. /data0/soft/redis-4.0.2/src/redis-server /data4/redis/redis-cluster/nodes-7007/redis.conf
9. /data0/soft/redis-4.0.2/src/redis-server /data5/redis/redis-cluster/nodes-7008/redis.conf
10. /data0/soft/redis-4.0.2/src/redis-server /data5/redis/redis-cluster/nodes-7009/redis.conf
6.启动集群
在任意一台主机上启动集群
1. /data0/soft/redis-4.0.2/src/redis-trib.rb create --replicas 1 30.16.95.139:7000 30.16.95.139:7001 30.16.95.139:7002 30.16.95.139:7003 30.16.95.139:7004 30.16.95.139:7005 30.16.95.139:7006 30.16.95.139:7007 30.16.95.139:7008 30.16.95.139:7009 30.16.95.139:7000 30.16.95.139:7001 30.16.95.139:7002 30.16.95.139:7003 30.16.95.139:7004 30.16.95.139:7005 30.16.95.139:7006 30.16.95.139:7007 30.16.95.139:7008 30.16.95.139:7009
7.维护Redis集群
7.1修改配置
由于两台主机的实例是主从配置,我们可以关闭一台主机的所有实例,修改完配置后再启动实例。
关闭实例:
1. for i in {7000..7009};do /data0/soft/redis-4.0.2/src/redis-cli -h 30.16.95.138 -p $i shutdown;done;
启动(略)
当然,我们也可以直接动态修改redis参数,如设置最大可用内存:
注:如果设置密码了,就需要加-a 密码认证参数
1. for i in {7000..7009};do /data0/soft/redis-4.0.2/src/redis-cli -h 30.16.95.138 -p $i -a password config set maxmemory 6442450944;done;
7.2常用命令
除了启动关闭之外,还有些命令会用到:
1. #查看集群状态
2. redis-cli –c –p 7000 -h 30.16.95.138 cluster info/nodes
3. #查看tps
4. redis-cli –c –p 7000 -h 30.16.95.138 -stat
5. #集群操作命令,增删检查
6. redis-trib.rb check/fix/add-node/del-node 30.16.95.138:7000
7. #删除指定key,其他操作类推
8. for i in {7000..7009};do redis-cli -h 30.16.95.139 -p $i -a password keys "DMPKEY*" |xargs -t -i redis-cli -h 30.16.95.139 -p $i -a password DEL {};done;