文章目录
一、首先把单节点的redis缓存文件全部删除
二、建立三个连接,master、note1、note2
1.将redis文件复制到note1和note2
2.创建安装目录 在master ,node1 ,node2中分别创建
在此位置输入命令,回车,意味着在当前显示的会话中都执行
mkdir /usr/local/soft/redis-cluster
三、在master中将redis 复制到redis-cluster 目录下修改名字为7000
- 复制
cp -r /usr/local/soft/redis /usr/local/soft/redis-cluster
- 改名
mv /usr/local/soft/redis-cluster/redis /usr/local/soft/redis-cluster/7000
四、修改配置文件 vim redis.conf
快速查找:=》esc=》/xxxxx=>回车
- daemonize yes //redis后台运行
- pidfile /var/run/redis_7000.pid //pidfile文件对应7000
- port 7000 //端口7000
- cluster-enabled yes //开启集群 把注释#去掉
- cluster-config-file nodes.conf //集群的配置 配置文件首次启动自动生成
- cluster-node-timeout 5000 //请求超时 设置5秒够了
- appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志 (全持久化)
注意:操作时,要把前面的注解#删了,保证圈出来的都应该显示白色
五、复制7000,建立六个节点,三主三从
六个
六、将7001到7005的端口号进行更改
七、将7002 ,7003 复制到node1
scp -r /usr/local/soft/redis-cluster/7002 note1:/usr/local/soft/redis-cluster/
scp -r /usr/local/soft/redis-cluster/7003 note1:/usr/local/soft/redis-cluster/
八、将7004 ,7005 复制到node2
scp -r /usr/local/soft/redis-cluster/7004 note2:/usr/local/soft/redis-cluster/
scp -r /usr/local/soft/redis-cluster/7005 note2:/usr/local/soft/redis-cluster/
复制成功后,master中可删可不删
九、分别在master、note1、note2 中启动各节点
-
1、在master中执行
cd /usr/local/soft/redis-cluster/7000/bin
./redis-server redis.conf
cd /usr/local/soft/redis-cluster/7001/bin
./redis-server redis.conf -
2、在note1中执行
cd /usr/local/soft/redis-cluster/7002/bin
./redis-server redis.conf
cd /usr/local/soft/redis-cluster/7003/bin
./redis-server redis.conf -
3、在note2中执行
cd /usr/local/soft/redis-cluster/7004/bin
./redis-server redis.conf
cd /usr/local/soft/redis-cluster/7005/bin
./redis-server redis.conf
此时,集群还未搭建完成,只是将各节点启动
十、通过工具构建集群 在master中安装
yum -y install ruby ruby-devel rubygems rpm-build
十一、上传redis-3.0.0.gem
- redis-trib.rb:官方提供的管理工具,支持许多集群的操作,要想使用需安装redis-3.0.0依赖
redis-3.0.0.gem
在soft文件下执行安装
安装好后,将redis-3.0.0/src/redis-trib.rb复制到bin目录下,因为放在/usr/local/bin/ 目录下的命令可以在任何一个位置运行
十二、启动集群
- replicas 每一个主节点的备份节点数量,这里为1
- 地址必须要给ip不能给映射
redis-trib create --replicas 1 192.168.154.110:7000 192.168.154.110:7001 192.168.154.111:7002 192.168.154.111:7003 192.168.154.112:7004 192.168.154.111:7005
- 注意:可能出现的问题
是因为配置redis.conf时出错,没有把注解放开 - 解决方法:核对每一个节点的配置,之后杀死进程,重启redis
重新运行启动集群的代码
- 由图可以看到自动分配主从节点
- 当主节点崩溃时,从节点会变为主节点
- 当原先主节点重新启动时,主节点仍然是之前替代的从节点,原先的主节点变为从节点
- 此处代表每个节点存放的键的hash值,要根据key存入入对应的节点
- 出现此图代表集群搭建启动成功
十三、客户端访问reids集群
访问节点
- reids-cli -p 端口号 -h 节点ip -c 自动重定向,如果该节点不能执行操作,重定向切换到其他节点执行
- reids-cli -p 端口号 -h 节点ip 只访问该节点
会出错,因为b的哈希值不在7000节点的范围内,加上-c重定向便可以存入
也可以看到,重定向到7004节点里,由访问的7000节点,变为7004节点
获取值时,有根据重定向,切换到7000
查看集群信息
- cluster info
查看主从节点信息
- cluster nodes
测试:
在note1的会话中把7002主节点杀死
在master会话中,再次查看节点,7002的从节点7005变为主节点
在note1中再启动7002
再次查看节点信息,7002变为了从节点,7005仍然为主节点
- 从节点,不能存储新的键和更改键,只能提供查看功能
- 主节点,既可以查看也可以更改
java
java入门基础学习(一)
java入门基础学习(二)
java入门基础学习(三)
java入门基础学习(四)
java入门基础学习(五)
java入门基础学习(六)
java入门基础学习(七)
java入门基础学习(八)
java入门基础学习(九)
java入门基础学习(十)
java入门基础学习(十一)
java入门基础学习(十二)
java入门基础学习(十三)
java入门基础学习(十四)Maven Git
java总结,题目+笔记
java进阶之常见对象(一)
java进阶之常见对象(二)
java进阶之冒泡排序
java进阶之选择排序
java进阶之面向对象(封装)
java进阶之面向对象(代码块、继承)
java进阶之面向对象(多态、抽象、接口)
java进阶之匿名内部类、访问修饰符、包
java进阶之io流(字节流,字符流)
java应用一(反射的应用)
java应用二(配置文件、工具类)
java应用三(数据库索引、spring)
java应用四(连接池)
Linux
Linux基础一
Linux基础二
Mysql
mysql一
mysql二
mysql三
mysql四
java连接数据库
redis
redis一(缓存,redis简介)
redis二(在虚拟机中的安装,桌面插件)
redis三(指令的使用)
redis四(java与redis的连接,基本指令在java中的操作)
redis五(练习)