创建集群:
创建有三个节点的集群:有两个节点挂掉才算是超过半数,这三个节点每个节点得有一主 一备。
需要6台虚拟机。(伪建6台redis服务器)
搭建一个伪分布式的集群,使用6个redis实例来模拟。
搭建集群环境需要使用到官方提供的ruby脚本。需要安装ruby环境。
1.安装ruby
yum install ruby
yum install rubygems (管理工具)
2.在redis安装包中的src文件夹下找到redis-trib.rb(等待使用):
cd /usr/local/redis-3.0.4/src
(安装redis的步骤:https://mp.youkuaiyun.com/mdeditor/83572842#,redis安装包下载也在这个链接里,有什么不懂可以问我)
3.拷贝(拖拽)redis-3.0.0.gem至/usr/local下,这个文件是运行redis-trib.rb文件的ruby包
redis-3.0.0.gem下载地址:https://download.youkuaiyun.com/download/senior_lee/9502524
4.拖拽完成后在/usr/local目录下执行
gem install redis-3.0.0.gem
5.搭建集群(要求模拟6台redis服务器 端口号从7001~~~7006)
1.在/usr/local下创建一个目录
mkdir redis-cluster
2.把redis文件夹中bin的内容全部复制到 redis-cluster中的redis01文件夹作为第一个模拟服务器
(注意:这个时候一定要去删除掉rdb和aof文件,并且把库中的记录删除)
cp redis/bin -r redis-cluster/redis01 -p
3.进入redis01中进行修改redis.conf文件
1)进入redis.conf文件中
vim redis.conf
2)修改端口号
port 7001
3)去掉cluster前的注释(#),指定要使用集群操作:
从 # cluster-enabled yes 变成 cluster-enabled yes
想要快速找到此地方,可以按esc键,然后输入/cluster,就可以快速高亮找到此处进行修改
4.保存:
:wq
5.修改完毕以后在redis-cluster文件夹中复制五个redis01文件,取名redis02~~~redis06
[root@localhost redis-cluster]# cp -r redis01/ redis02
[root@localhost redis-cluster]# cp -r redis01/ redis03
[root@localhost redis-cluster]# cp -r redis01/ redis04
[root@localhost redis-cluster]# cp -r redis01/ redis05
[root@localhost redis-cluster]# cp -r redis01/ redis06
6.进入到每个文件中去修改各自的端口号:
cd redis02
vim redis.conf
端口号各自改成7002 / 7003 /.....
7.把 2. 中找到的文件复制到redis-cluster中
cp redis-trib.rb /usr/local/redis-cluster
8.启动所有redis服务
因为每次都得进入到文件夹中启动服务比较麻烦,可以创建linux脚本来启动服务,创建方式
1)创建脚本文件
vim startall.sh
2)写入启动服务的脚本
cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
cd ..
3)加入可执行权限
chmod +x startall.sh
4)执行脚本
./startall.sh
5)查看进程看看redis服务是否被启动
ps -ef|grep redis
9.创建集群:(ip地址是自己虚拟机的ip地址)
./redis-trib.rb create --replicas 1 192.168.43.123:7001 192.168.43.123:7002 192.168.43.123:7003 192.168.43.123:7004 192.168.43.123:7005 192.168.43.123:7006
10.集群测试
redis01/redis-cli -h 192.168.43.123 -p 7002 -c
注意:
redis01/redis-cli -h 192.168.1.105 -p 7002 -c ,
其中-c表示以集群方式连接redis,-h指定ip地址,-p指定端口号
11.关闭redis服务,使用脚本 批量关闭
1)vim shutdown.sh
写入以下代码:
redis01/redis-cli -p 7001 shutdown
redis02/redis-cli -p 7002 shutdown
redis03/redis-cli -p 7003 shutdown
redis04/redis-cli -p 7004 shutdown
redis05/redis-cli -p 7005 shutdown
redis06/redis-cli -p 7006 shutdown
2)添加权限
chmod +x shutdown.sh
3)执行脚本
./shutdown.sh