文章内容输出来源:拉勾教育Java高薪训练营;
服务器: 阿里云Centos7.4
redis版本: redis5.05
端口号分别为:7001~7006
RedisCluster最少需要三台主服务器,三台从服务器。
tar -zxvf redis-5.0.5.tar.gz
mkdir redis-cluster/7001
#编译
cd redis-5.0.5/make
make install PREFIX=/var/redis-cluster/7001
编辑redis.conf
#复制redis配置文件
cp redis.conf /usr/local/redis-cluster/7001/bin
cd /usr/local/redis-cluster/7001/bin
#编辑redis 配置文件
vi redis.conf
修改内容
port=7001
cluster-enable yes
#注释掉这一行
#bind 127.0.0.1
复制7001文件夹分别为7002 7003 7004 7005 7006 (注意修改端口)
cp -r 7001 /usr/local/redis-cluster/7002
cp -r 7001 /usr/local/redis-cluster/7003
cp -r 7001 /usr/local/redis-cluster/7004
cp -r 7001 /usr/local/redis-cluster/7005
cp -r 7001 /usr/local/redis-cluster/7006
创建启动脚本便于启动(也可以不创建一个一个启动)
vi startup.sh
./redis-server redis.conf
cd ..
cd ..
cd 7002/bin
./redis-server redis.conf
cd ..
cd ..
cd 7003/bin
./redis-server redis.conf
cd ..
cd ..
cd 7004/bin
./redis-server redis.conf
cd ..
cd ..
cd 7005/bin
./redis-server redis.conf
cd ..
cd ..
cd 7006/bin
./redis-server redis.conf
cd ..
cd ..
启动
./startup.sh![在这里插入图片描述](https://img-blog.csdnimg.cn/2020071917402665.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIzODMwNjM3,size_16,color_FFFFFF,t_70)
创建集群
./redis-cli --cluster create 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 --cluster-replicas 1
这里有个坑!如果使用的是阿里云这里的ip修改成外网ip,同时端口记得打开集群总线端口为redis客户端连接的端口 +10000(即17001~17007),否则java客户端会连接不上!!!
进入集群查看
./redis-cli -h 127.0.0.1 -p 7001 -c
cluster nodes
增加主节点7007
./redis-cli --cluster add-node ip地址:7007 ip地址:7001
hash槽重新分配(数据迁移)
添加完主节点需要对主节点进行hash槽分配,这样该主节才可以存储数据。
./redis-cli --cluster reshard ip地址:7007
增加从节点7008
./redis-cli --cluster add-node 从节点ip地址:7008 主ip地址:7007 --cluster-slave --cluster-master-id eadd527609683be723279bf39533c8f823b78904(master节点ip)
查看结果
./redis-cli -h 127.0.0.1 -p 7001 -c
cluster nodes
工作几年,一直都没有去体系化的学习,很多东西没有复杂的工作场景经验,去年综合几家机构,最后还是决定报了拉勾的高薪训练营,在这里也是实实在在的学习到了很多,学完掌握程度也比之前深了很多,而且还有定期的内推,多了更多的机会,真的对我有了很大的帮助提升。