使用redis4.0.1和redis-cluster搭建集群并编写重启shell脚本
2017-08-04 15:43
846 查看
1.删除机器上原有的redis2.8
关闭redis-serverkillall -9 redis-server
查找redis文件所在目录
which redis
删除相关文件
rm -rf redis rm -rf redis-proxy/ rm -rf nutcracker/
删除相关命令
rm -f /usr/local/bin/redis-*
2.下载、安装redis
wget http://download.redis.io/releases/redis-4.0.1.tar.gz tar xzf redis-4.0.1.tar.gz mv redis-4.0.1 /usr/local/ cd /usr/local/redis-4.0.1/ make make test
3.配置节点(新建6个以端口号命名的目录,表示6个节点,3主3从)
cd /usr/local mkdir cluster cd cluster/ mkdir 7000 mkdir 7001 mkdir 7002 mkdir 7003 mkdir 7004 mkdir 7005
在上面新建的每个目录下新建redis.conf文件,并写入以下内容:
port 7000 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes protected-mode no
vim 7000/redis.conf vim 7001/redis.conf vim 7002/redis.conf vim 7003/redis.conf vim 7004/redis.conf vim 7005/redis.conf
为了方便使用把redis-server文件复制到/usr/local/cluster目录下
cp /usr/local/redis-4.0.1/src/redis-server /usr/local/cluster
进入每个节点的目录,并用对应的配置文件启动redis
cd /usr/local/cluster/7000 ../redis-server ./redis.conf &
先测试一下是否启动成功过,
/usr/local/redis-4.0.1/src/redis-cli -p 7000
如果能进去redis命令行表示启动成功,再去启动其他端口
cd /usr/local/cluster/7001 ../redis-server ./redis.conf & cd /usr/local/cluster/7002 ../redis-server ./redis.conf & cd /usr/local/cluster/7003 ../redis-server ./redis.conf & cd /usr/local/cluster/7004 ../redis-server ./redis.conf & cd /usr/local/cluster/7005 ../redis-server ./redis.conf &
接下来启动cluster
cd /usr/local/redis-4.0.1/src/ ./redis-trib.rb create --replicas 1 172.16.180.226:7000 172.16.180.226:7001 172.16.180.226:7002 172.16.180.227:7003 172.16.180.227:7004 172.16.180.227:7005
4.常见错误及解决方法
如果系统上各种依赖比较齐全的话,这时就能启动成功了,通常还可能遇到以下错误错误1:
root@localhost src]# ./redis-trib.rb create --replicas 1 172.16.180.226:7000 172.16.180.226:7001 172.16.180.226:7002 172.16.180.227:7003 172.16.180.227:7004 172.16.180.227:7005 /usr/bin/env: ruby: No such file or directory
解决方案:
yum install ruby
错误2:
[root@localhost src]# ./redis-trib.rb create --replicas 1 172.16.180.226:7000 172.16.180.226:7001 172.16.180.226:7002 172.16.180.227:7003 172.16.180.227:7004 172.16.180.227:7005 ./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError) from ./redis-trib.rb:24
解决方案:
yum install rubygems
错误3:
[root@localhost src]# ./redis-trib.rb creat --replicas 1 172.16.180.226:7000 172.16.180.226:7001 172.16.180.226:7002 172.16.180.227:7003 172.16.180.227:7004 172.16.180.227:7005 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError) from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from ./redis-trib.rb:25
解决方案:
gem install redis
yum install ruby yum install rubygems gem install redis
安装完以上各种依赖之后,再次执行以下命令即可成功启动cluster
./redis-trib.rb create --replicas 1 172.16.180.226:7000 172.16.180.226:7001 172.16.180.226:7002 172.16.180.227:7003 172.16.180.227:7004 172.16.180.227:7005
5.测试cluster集群是否能正常使用
/usr/local/src/redis-cli -c -h 172.16.180.226 -p 7000
上面的命令如果缺少了“-c”会出现以下错误。
6.编写重启cluster的shell脚本
vim restart-cluster.sh
写入以下内容:
#!/bin/sh
killall -9 redis-server
#删掉以前运行的节点留下的配置信息
find /usr/local/cluster/ -name "appendonly.aof"|xargs rm -f;
find /usr/local/cluster/ -name "nodes.conf"|xargs rm -f;
find /usr/local/cluster/ -name "dump.rdb"|xargs rm -f;
#重新启动redis
cd /usr/local/cluster/7000 ../redis-server ./redis.conf &
cd /usr/local/cluster/7001 ../redis-server ./redis.conf & cd /usr/local/cluster/7002 ../redis-server ./redis.conf & cd /usr/local/cluster/7003 ../redis-server ./redis.conf & cd /usr/local/cluster/7004 ../redis-server ./redis.conf & cd /usr/local/cluster/7005 ../redis-server ./redis.conf &
cd /usr/local/redis-4.0.1/src/
#重新创建cluster集群
./redis-trib.rb create --replicas 1 127.0.0.1:7000 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
shell文件保存之后需要赋予可执行权限。
chmod +x restart-cluster.sh
使用脚本重启
./restart-cluster.sh
查看是否重启成功
src/redis-cli -c -p 7000
本文参考了以下资料:
http://www.redis.cn/download.html http://www.redis.cn/topics/cluster-tutorial.html http://www.oschina.net/question/1259683_2133954
相关文章推荐
- redis集群搭建之一~使用utils/create-cluster方法
- CentOs7.3 搭建 Redis-4.0.1 Cluster 集群服务
- Linux Redis-Cluster集群搭建与使用
- redis-集群(cluster)创建并使用redis集群(二)
- 分布式缓存集群方案特性使用场景(Memcache/Redis(Twemproxy/Codis/Redis-cluster))优缺点对比及选型
- redis 分片集群(cluster)搭建
- redis 学习笔记(6)-cluster集群搭建
- Redis Cluster 3.0搭建与使用
- Redis集群搭建与简单使用
- centos中redis3 cluster集群的搭建
- 使用MySQL-Cluster搭建MySQL数据库集群
- 搭建Redis主从集群搭建、redis-sentinel的配置以及Jedis对Sentinel的使用[ by 嗡汤圆 ]
- Redis Cluster 3.0搭建与使用
- Redis集群搭建与简单使用
- Redis学习笔记六——搭建redis集群(非分布式真正的cluster)
- Redis学习6之redis多节点集群搭建和使用
- Redis 集群搭建和简单使用教程
- redis(9)、redis集群之redis Cluster使用
- Redis集群搭建之Redis Cluster实践
- Redis3缓存集群(cluster)搭建