centos安装集群redis 下载redis
wget http://tar.matosiki.site/tar/redis-4.0.9.tar.gz tar -zxvf redis-4.0.9.tar.gz mv redis-4.0.9 /opt/ cd /opt/redis-4.0.9/mkdir -p /opt/redis-4.0.9/redis_cluster cp redis.conf redis_cluster vim redis_cluster/redis.conf
bind 0.0.0.0 //默认ip为127.0.0.1 也可以改为局域网 192.168.10.220daemonize yes //redis后台运行 pidfile /var/run/redis_6379.pid //pidfile文件对应7000,7001,7002 cluster-enabled yes //开启集群 把注释 cluster-config-file nodes_6379.conf //集群的配置 cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置 appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
添加6个节点分别更改配置文件
cp redis_cluster/redis.conf redis_cluster/redis-7000.conf cp redis_cluster/redis.conf redis_cluster/redis-7001.conf cp redis_cluster/redis.conf redis_cluster/redis-7002.conf cp redis_cluster/redis.conf redis_cluster/redis-7003.conf cp redis_cluster/redis.conf redis_cluster/redis-7004.conf cp redis_cluster/redis.conf redis_cluster/redis-7005.conf vim redis_cluster/redis-7000.conf :%s/6379/7000/g vim redis_cluster/redis-7001.conf :%s/6379/7001/g vim redis_cluster/redis-7002.conf :%s/6379/7002/g vim redis_cluster/redis-7003.conf :%s/6379/7003/g vim redis_cluster/redis-7004.conf :%s/6379/7004/g vim redis_cluster/redis-7005.conf :%s/6379/7005/g src/redis-server redis_cluster/redis.conf src/redis-server redis_cluster/redis-7000.conf src/redis-server redis_cluster/redis-7001.conf src/redis-server redis_cluster/redis-7002.conf src/redis-server redis_cluster/redis-7003.conf src/redis-server redis_cluster/redis-7004.conf src/redis-server redis_cluster/redis-7005.conf
安装ruby并升级ruby-redis
yum -y install ruby ruby-devel rubygems rpm-build gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 curl -L get.rvm.io | bash -s stable source /usr/local /rvm/scripts/rvmrvm list known rvm install 2.4.0 rvm use 2.4.0 rvm remove 2.0.0 ruby --version gem install redis
新建分片 参数create表示创建一个新的集群,–replicas 1表示为每个master创建一个slave
./src/redis-trib.rb create --replicas 1 0.0.0.0:7000 0.0.0.0:7001 \ 0.0.0.0:7002 0.0.0.0:7003 0.0.0.0:7004 0.0.0.0:7005
./src/redis-trib.rb create --replicas 1 192.168.10.220:6379 192.168.10.221:6379 192.168.10.220:7000 192.168.10.221:7000 192.168.10.220:7001 192.168.10.221:7001 192.168.10.220:7002 192.168.10.221:7002 192.168.10.220:7003 192.168.10.221:7003 192.168.10.220:7004 192.168.10.221:7004 192.168.10.220:7005 192.168.10.221:7005
完成测试
$ redis-cli -c -p 7000 redis 127.0.0.1:7000> set foo bar -> Redirected to slot [12182] located at 127.0.0.1:7002 OK redis 127.0.0.1:7002> set hello world -> Redirected to slot [866] located at 127.0.0.1:7000 OK redis 127.0.0.1:7000> get foo -> Redirected to slot [12182] located at 127.0.0.1:7002 "bar" redis 127.0.0.1:7000> get hello -> Redirected to slot [866] located at 127.0.0.1:7000 "world"
查看集群状态
127.0.0.1:7000> cluster info cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_slots_pfail:0 cluster_slots_fail:0 cluster_known_nodes:6 cluster_size:3 cluster_current_epoch:6 cluster_my_epoch:1 cluster_stats_messages_ping_sent:48273 cluster_stats_messages_pong_sent:49884 cluster_stats_messages_sent:98157 cluster_stats_messages_ping_received:49879 cluster_stats_messages_pong_received:48273 cluster_stats_messages_meet_received:5 cluster_stats_messages_received:98157
使用cluster nodes命令查看节点状态。127.0.0.1:7000> cluster nodes 58d1fe2d2f06144def4a7de79f6851e0c68d316b 127.0.0.1:7000@17000 slave 45fd67328af03fe008dd3605baaeb347373dd9c8 0 1539090532575 6 connected 45fd67328af03fe008dd3605baaeb347373dd9c8 127.0.0.1:7001@17001 myself,master - 0 1539090533000 1 connected 0-5460 4387192aad51ddf6df1b5c9716088d2e96a55149 127.0.0.1:7002@17002 master - 0 1539090534579 2 connected 5461-10922 b9afd1c136a5b379c695b8c49b3119f6daa25aa0 127.0.0.1:7005@17005 slave 7990a7b654836850ff207146a790f9fec2f0199d 0 1539090535580 5 connected c00d297dc429033ea2396a176d610d6acabe5b62 127.0.0.1:7004@17004 slave 4387192aad51ddf6df1b5c9716088d2e96a55149 0 1539090534000 4 connected 7990a7b654836850ff207146a790f9fec2f0199d 127.0.0.1:7003@17003 master - 0 1539090534000 3 connected 10923-16383
重新安装集群 ./src/redis-cli -p 3679 shutdown ./src/redis-cli -p 7000 shutdown ./src/redis-cli -p 7001 shutdown ./src/redis-cli -p 7002 shutdown ./src/redis-cli -p 7003 shutdown ./src/redis-cli -p 7004 shutdown ./src/redis-cli -p 7005 shutdown rm -f dump.rdb rm -f appendonly.aof rm -f nodes-*.conf
###
./src/redis-cli -p 7000 cluster nodes
给redis添加密码 vi redis_cluster/redis.conf vi redis_cluster/redis-7000.conf vi redis_cluster/redis-7001.conf vi redis_cluster/redis-7002.conf vi redis_cluster/redis-7003.conf vi redis_cluster/redis-7004.conf vi redis_cluster/redis-7005.conf
masterauth 123456 requirepass 123456