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