安装redis集群
-- cd /root/temp/redis-3.0.0/src
-- ll *.rb 通配查询
[root@bogon src]# ll *.rb
-rwxrwxr-x. 1 root root 48141 Apr 1 2015 redis-trib.rb 创建redis集群的脚本
第一步 安装 ruby 环境
命令: yum install ruby
第二步 安装 ruby 的包管理器
命令:yum install rubygems
第三步 进入到 redis 的安装目录下的 src 目录下找到到 redis-trib.rb 这个文件 这是集时需要的脚本
第四步 这个脚本的执行需要依赖于一些其他的 ruby 包 所以我们还要下载一个redis-3.0.0.gem
将这个文件上传到 linux 服务器中
第五步 安装这个 ruby 包
命令:gem install redis-3.0.0.gem
第六步 先启动 redis 的 6 个实例
先在 local 目录下创建一个目录名称为:redis-cluster
命令:mkdir redis-cluster
配置redis集群
vim redis.conf
第七步 将安装好的 redis 下的 bin 目录拷贝到 redis-cluster 目录下 并起名为 redis01
命令:进入到 redis 目录下执行:cp -r bin ../redis-cluster/redis01
第九不 修改 redis.conf 配置文件命令:vim redis.conf
(1)修改端口:默认的为 6379 将六个 redis 实例的端口改成从 7001-7006 在配置文的 port 属性中。(2)修改开启集群 在配置文件中搜索 cluster 找到后 将默认为注释的 cluster-enabled
yes 去掉注释
第十步 将这个 redis01 拷贝 6 份到当前这个目录下
命令:
cp -r redis01/ redis02
cp -r redis01/ redis03
cp -r redis01/ redis04
cp -r redis01/ redis05
cp -r redis01/ redis06
第十一步 修改拷贝的这些 redis 的端口命令:
[root@localhost redis-cluster]# vim redis02/redis.conf
[root@localhost redis-cluster]# vim redis03/redis.conf
[root@localhost redis-cluster]# vim redis04/redis.conf
[root@localhost redis-cluster]# vim redis05/redis.conf
[root@localhost redis-cluster]# vim redis06/redis.conf
第十二步 把创建集群的 ruby 脚本复制到 redis-cluster 中
cd /root/temp/redis-3.0.0/src
命令:[root@localhost src]# cp *.rb /usr/local/redis-cluster/
实际步骤见 图创建集群时环境搭建
第十二步 创建一个能够批量启动的脚本程序命令:vim startall.sh
第十三步 在脚本文件中添加命令命令: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
第十七步 创建集群
命令:./redis-trib.rb create --replicas 1 192.168.186.132:8001 192.168.186.132:8002 192.168.186.132:8003 192.168.186.132:8004 192.168.186.132:8005 192.168.186.132:8006
控制台会显示如下信息 输入 yes>>> Creating clusterConnecting to node 192.168.10.128:7001: OK
Connecting to node 192.168.10.128:7002: OK
Connecting to node 192.168.10.128:7003: OK
Connecting to node 192.168.10.128:7004: OK
Connecting to node 192.168.10.128:7005: OK
Connecting to node 192.168.10.128:7006: OK
>>> Performing hash slots allocation on 6 nodes...Using 3 masters:192.168.10.128:7001192.168.10.128:7002192.168.10.128:7003Adding replica 192.168.10.128:7004 to 192.168.10.128:7001Adding replica 192.168.10.128:7005 to 192.168.10.128:7002Adding replica 192.168.10.128:7006 to 192.168.10.128:7003M: 8cf30cb6141b5d5db1fce2c8bdabe32666bbb1e7 192.168.10.128:7001 slots:0-5460 (5461 slots) master
M: e8038d0965377ff0793911a10984174b57ddbaaf 192.168.10.128:7002 slots:5461-10922 (5462 slots) master
M: be58583284fd2f26f03f2fce6c4e38de240eb841 192.168.10.128:7003 slots:10923-16383 (5461 slots) master
S: e66b85a7e72913f1ca4657600a0113d2cb0ece8e 192.168.10.128:7004 replicates 8cf30cb6141b5d5db1fce2c8bdabe32666bbb1e7S: 9f1897cb9c570487685c467b7b4b53f4c0c9f556 192.168.10.128:7005 replicates e8038d0965377ff0793911a10984174b57ddbaaf
S: 1966b2674ce141da372438a29e9e84bfad266da3 192.168.10.128:7006 replicates be58583284fd2f26f03f2fce6c4e38de240eb841Can I set the above configuration? (type 'yes' to accept): 如果控制台输出如下信息表集群成功>>> Nodes configuration updated
>>> Assign a different config epoch to each node>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join.......>>> Performing Cluster Check (using node 192.168.10.128:7001)M: 8cf30cb6141b5d5db1fce2c8bdabe32666bbb1e7 192.168.10.128:7001 slots:0-5460 (5461 slots) master
M: e8038d0965377ff0793911a10984174b57ddbaaf 192.168.10.128:7002 slots:5461-10922 (5462 slots) master
M: be58583284fd2f26f03f2fce6c4e38de240eb841 192.168.10.128:7003 slots:10923-16383 (5461 slots) master
M: e66b85a7e72913f1ca4657600a0113d2cb0ece8e 192.168.10.128:7004 slots: (0 slots) master
replicates 8cf30cb6141b5d5db1fce2c8bdabe32666bbb1e7M: 9f1897cb9c570487685c467b7b4b53f4c0c9f556 192.168.10.128:7005 slots: (0 slots) master
replicates e8038d0965377ff0793911a10984174b57ddbaaf
M: 1966b2674ce141da372438a29e9e84bfad266da3 192.168.10.128:7006 slots: (0 slots) master
replicates be58583284fd2f26f03f2fce6c4e38de240eb841[OK] All nodes agree about slots configuration.>>> Check for open slots...>>> Check slots coverage...[OK] All 16384 slots covered.
测试 Redis 集群
测试 Redis 集群:可以连接集群中的任意一个节点进行测试 注意一定要有-c 参数,则能连上,但是无法操作 redis 集群
命令:[root@localhost redis-cluster]# ./redis01/redis-cli -h 192.168.10.128 -p 7001 -c