CentOS 6.8 minimal版本安装Redis集群之Re

2019-01-07  本文已影响0人  海水味儿

环境:CentOS6.8 minimal版本 

1、安装yum install gcc 

2、安装yum install tcl 

3、安装curl -sSL https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash

4、执行source /etc/profile.d/rvm.sh 

5、安装rvm install 1.9.3 

6、安装yum install -y rubygems 

7、安装gem install redis --version 3.0.0 

8、从官网上下载redis-3.2.5.tar.gz 

9、解压tar -xvsf redis-3.2.5.tar.gz 

10、执行cd redis-3.2.5进入目录,执行make命令 

至此,C编译环境安装完毕,redis安装完毕,ruby安装完毕,ruby主要是cluster集群创建工具需要用ruby环境。 

接下来部署redis_cluster集群环境 

11、准备三台机器A,B,C(redis集群master过半死掉会down机,所以两台对于高可用毫无意义) 

12、分别创建目录mkdir /opt/redis_cluster 

13、进入目录cd /opt/redis_cluster 

14、 

A机器上/opt/redis_cluster目录下创建名字为“7000”与“7001”的文件夹:mkdir 7000 7001 

B机器上/opt/redis_cluster目录下创建名字为“7002”与“7003”的文件夹:mkdir 7002 7003 

C机器上/opt/redis_cluster目录下创建名字为“7004”与“7005”的文件夹:mkdir 7004 7005 

15、 

三台机器分别进入/opt/redis-3.2.5/src目录,cp一份redis.conf文件出来到/opt/redis_cluster/7000目录下,修改redis.conf文件,原目录下的不用动。具体修改事宜:(仅A机器) 

原:port 6379 

现:port 7000(修改运行端口) 

原:bind 127.0.0.1 

现:bind 192.168.10.239 127.0.0.1 (注意,局域网IP一定要放在本机IP前面) 

原:daemonize no 

现:daemonize yes(修改后台启动) 

原:# cluster-enabled yes 

现:cluster-enabled yes 

原:# cluster-config-file nodes-6379.conf 

现:cluster-config-file /opt/redis_cluster/7000/nodes.conf 

原:# cluster-node-timeout 15000 

现:cluster-node-timeout 15000 

原:appendonly no 

现:appendonly yes 

OK保存,将这一份修改的redis.conf文件放到/opt/redis_cluster/7000下,注意文件名需与redis.conf中的port数值相同,port为7000,那么这份conf文件存放的目录名字也一定是7000。 

同理A机器上的7000修改完毕,7001也如此创建。 

同理B机器上的7002与7003也这样创建。 

同理C机器上的7004与7005也这样创建。 

16、分别执行A,B,C机器上的redis 

A机器执行: 

/opt/redis-3.2.5/src/redis-server /opt/redis_cluster/7000/redis.conf 

/opt/redis-3.2.5/src/redis-server /opt/redis_cluster/7001/redis.conf 

B机器执行: 

/opt/redis-3.2.5/src/redis-server /opt/redis_cluster/7002/redis.conf 

/opt/redis-3.2.5/src/redis-server /opt/redis_cluster/7003/redis.conf 

C机器执行: 

/opt/redis-3.2.5/src/redis-server /opt/redis_cluster/7004/redis.conf 

/opt/redis-3.2.5/src/redis-server /opt/redis_cluster/7005/redis.conf 

17、在A机器上,进入/opt/redis-3.2.5/src,执行 

./redis-trib.rb create --replicas 1 192.168.10.239:7000 192.168.10.239:7001 192.168.10.240:7002 192.168.10.240:7003 192.168.10.241:7004 192.168.10.241:7005 

提示成功OK。 

18、set测试:(切记使用集群模式连接,否则出现movedError) 

/opt/redis-3.2.5/src/redis-cli -c -h 192.168.10.239 -p 7000 

set a a 

提示reslove到其他IP的机器上了。 

19、如果中途出现错误了,想彻底重置: 

进入三台机器中的7000-7005的目录下,将nodes.conf文件删除掉,kill掉所有redis的进程,重启redis进程。 

rm -rf /opt/redis_cluster/7000/nodes.conf 

rm -rf /opt/redis_cluster/7001/nodes.conf 

rm -rf /opt/redis_cluster/7002/nodes.conf 

rm -rf /opt/redis_cluster/7003/nodes.conf 

rm -rf /opt/redis_cluster/7004/nodes.conf 

rm -rf /opt/redis_cluster/7005/nodes.conf 

20、参考文章: 

http://www.cnblogs.com/junl0513/p/833f4d3eefc69485958fe83b5c9057d7.html 

http://www.cnblogs.com/yuanermen/p/5717885.html 

http://blog.csdn.net/ownfire/article/details/46624005 

http://blog.csdn.net/prl18353364833/article/details/52459828 

http://blog.csdn.net/c77_cn/article/details/38227797 

http://blog.51yip.com/nosql/1726.html 

http://www.cnblogs.com/kreo/p/4423362.html 

http://blog.csdn.net/rockstar541/article/details/30245493 

21、常见问题: 

[ERR] Node is not empty. Either the node already knows other nodes 

解决方法: 

1)、将需要新增的节点下aof、rdb等本地备份文件删除; 

2)、同时将新Node的集群配置文件删除,即:删除你redis.conf里面cluster-config-file所在的文件; 

3)、再次添加新节点如果还是报错,则登录新Node,./redis-cli–h x –p对数据库进行清除: 

172.168.63.201:7001>  flushdb      #清空当前数据库

上一篇下一篇

猜你喜欢

热点阅读