搭建一个 Redis 的最小集群,使用伪集群(同IP不同的端口)方式。
Redis 中最少的集群三对主从(6个)。
如果使用已经使用过的单机版创建集群时,需要删除 dump.rdb 与 apeendonly.aof 文件。
举例:6 个 redis 实例的端口分配:7001、7002、7003、7004、7005、7006
一:集群步骤:
1:先创建 redis 的 6 个实例
先在 local 目录下创建一个目录名称为:rediscluster
命令:mkdir redis-cluster
2:将安装好的 redis 下的 bin 目录拷贝到 rediscluster 目录下并起名为 redis01
命令:进入到 redis 目录下执行:cp -r bin ../redis-cluster/redis01
注意:拷贝之前一定要把安装好的redis下运行后自动生成的文件dump.rdb和aof文件(如果存在)两个文件删除
3:修改redis01中的 redis.conf 配置文件
命令:vim redis.conf
修改端口:默认的为 6379 将六个 redis 实例的端口改成从 7001-7006 在配置文件
修改内容:
port 7001(每个节点的端口号)
daemonize yes
bind 192.168.160.132(绑定当前机器 IP)pidfile /var/run/redis_7001.pid(pid 7001和port要对应)
cluster-enabled yes(启动集群模式)
cluster-config-file nodes7001.conf(7001和port要对应)
cluster-node-timeout 15000
appendonly yes
4:将这个 redis01 拷贝 6 份到当前这个目录下命令:
cp -r redis01/ redis02
cp -r redis01/ redis03
cp -r redis01/ redis04
cp -r redis01/ redis05
cp -r redis01/ redis06
5:创建一个能够批量启动的脚本程序
命令:vim startall.sh
6:写个批处理启动脚本
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 ..
使命令生效
命令:chmod +x startall.sh
执行这个批量启动的脚本
命令:[root@localhost redis-cluster]# ./startall.sh
查看 redis 是否启动成功
命令:ps aux|grep redis
6.1:写个批处理启动脚本
命令:vim shutdown.sh
redis01/redis-cli -h 192.168.160.128 -p 7001 shutdown
redis01/redis-cli -h 192.168.160.128 -p 7002 shutdown
redis01/redis-cli -h 192.168.160.128 -p 7003 shutdown
redis01/redis-cli -h 192.168.160.128 -p 7004 shutdown
redis01/redis-cli -h 192.168.160.128 -p 7005 shutdown
redis01/redis-cli -h 192.168.160.128 -p 7006 shutdown
授权命令:chmod +x shutdown.sh
7:安装集群所需软件
由于 Redis 集群需要使用 ruby 命令,所以我们需要安装 ruby 和相关接口。
yum install ruby
yum install rubygems
gem install redis
8:创建集群
命 令 :在rediscluster目录下执行的任意redis下进行启动
./redis-cli --cluster create 192.168.160.128:7001 192.168.160.128:7002 192.168.160.128:7003 192.168.160.128:7004 192.168.160.128:7005 192.168.160.128:7006 --cluster-replicas 1
集群一旦创建在每个redis中多了一个nodes.conf文件,里面是集群节点信息,下次使用只要启动集群就可以了,不用再次创建了
二:测试 Redis 集群
测试 Redis 集群:可以连接集群中的任意一个节点进行测试 注意一定要有-c 参数,否则能连上,但是无法操作 redis 集群(存入数据:(存储数据会在几个节点中切换hash插槽)
随便进入集群中一个redis中启动客户端,如:我们进入redis03中执行:
命令:
[root@bogon redis01]# cd redis03
[root@bogon redis01]# ./redis-cli -h 192.168.160.128 -p 7002 -c
可以通过添加key值查看到存入到那个主节点的插槽位置,如果不能查看get key值时也能查看