安装包
redis-4.0.0.tar.gz
下载并解压redis
1
2
3cd /alidata/package
wget http://download.redis.io/releases/redis-4.0.0.tar.gz
tar -zxvf redis-4.0.0.tar.gz编译安装
1
2cd redis-4.0.0
make && make install新建 redis 目录,便于管理
1
2
3
4
5
6cd /alidata
mkdir -p redis/bin
mkdir -p redis/etc
cp package/redis-4.0.0/redis.conf redis/etc
cd package/redis-4.0.0/src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb /alidata/redis/bin/新建 redis_cluster 目录, 并在目录下新建 7001,7002,7003,7004,7005,7006 子目录
1
2
3
4cd /alidata
mkdir redis_cluster
cd redis_cluster
mkdir 7000 7001 7002 7003 7004 7005 7006
将 redis.conf 拷贝至 7000-7006 这几个目录里
1
2
3
4
5
6
7cp /alidata/redis/etc/redis.conf 7000/
cp /alidata/redis/etc/redis.conf 7001/
cp /alidata/redis/etc/redis.conf 7002/
cp /alidata/redis/etc/redis.conf 7003/
cp /alidata/redis/etc/redis.conf 7004/
cp /alidata/redis/etc/redis.conf 7005/
cp /alidata/redis/etc/redis.conf 7006/依次修改 7000-7006 目录下的redis.conf
1
2
3
4
5
6
7
8port 7000 #端口7000-7006
bind 127.0.0.1
daemonize yes #后台运行
pidfile /var/run/redis_7000.pid #pidfile文件对应7000-7006
cluster-enabled yes #开启集群
cluster-config-file nodes-7000.conf #集群的配置,对应7000-7006
cluster-node-timeout 15000 #请求超时,默认15秒
appendonly yes #aof日志开启启动节点
1
2
3
4
5
6
7
8cd /alidata/redis/bin
redis-server /alidata/redis_cluster/7000/redis.conf
redis-server /alidata/redis_cluster/7001/redis.conf
redis-server /alidata/redis_cluster/7002/redis.conf
redis-server /alidata/redis_cluster/7003/redis.conf
redis-server /alidata/redis_cluster/7004/redis.conf
redis-server /alidata/redis_cluster/7005/redis.conf
redis-server /alidata/redis_cluster/7006/redis.conf检测redis启动情况
1
ps -ef | grep redis
创建集群
1
redis-trib.rb 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 127.0.0.1:7006
若提示:/usr/bin/env: ruby: No such file or directory, 则安装 ruby 后重新运行1
2yum -y install ruby ruby-devel rubygems rpm-build
gem install redis输入 yes
- 运行命令
多台服务器集群步骤
例:A(192.168.160.130),B(192.168.160.131) 两台服务器
- A服务器创建 7000、7001、7002 三个目录, B服务器创建 7003、7004、7005 三个目录
- 配置 redis.conf, 7000、7001、7002 三个目录下的redis.conf的 bind 127.0.0.1 修改成 bind 192.168.160.130, 而7003、7004、7005 三个目录下的 redis.conf 的 bind 127.0.0.1 修改成 bind 192.168.160.131
- 启动A、B服务器的节点
创建集群
1
redis-trib.rb create --replicas 1 192.168.160.130:7000 192.168.160.130:7001 192.168.160.130:7002 192.168.160.131:7003 192.168.160.131:7004 192.168.160.131:7005 127.0.0.1:7006
在A服务器运行命令
1
2redis-cli -c -h 192.168.160.130 -p 7000
set foo bar在B服务器运行命令
1
2redis-cli -c -h 192.168.160.131 -p 7003
get foo