您的位置:首页 > 数据库 > Redis

Redis三主三从集群搭建

2018-05-29 16:25 92 查看

一,Redis的的的的简介官网给的定义大概意思是:Redis的的的的是一个开源,内存数据结构存储,用作数据库,缓存和消息代理它支持的数据结构有:字符串,哈希,列表,集合,有序集合,位图,超级日志和具有半径查询的地理空间索引.Redis是一个高性能的支持主从同步的键 - 值数据库。
二,集群搭建1>系统环境 本地用的VirtualBox虚拟虚拟的安装三台配置一样的的的Centos下的虚拟机


查看版本:

2>三主三从架构说明三台服务器,启动6个实例,形成三主三从,其中存储相同数据的主从节点不能落在同一台机器上,目的是防止部署的Redis的的的的虚拟机宕机从而造成主从节点全部失效实验机器的地址与端口如下:
         IP端口10.252.21.154 700010.252.21.154 700110.252.21.156 700010.252.21.156 700110.252.21.157 700010.252.21.157 7001
3>安装在三台机器上全部执行如下操作:sudo yum upate && yum install wgetmakir / root /软件cd / root /软件
wget http://download.redis.io/releases/redis-3.2.1.tar.gztar -xvf redis-3.2.1.tar.gzcd redis-3.2.1使
mv redis-3.2.1 / usr / local / redis /mkdir / usr / local / clustermkdir 7000 70001
cp /usr/local/redis/redis.conf / usr / local / cluster / 7000cp /usr/local/redis/redis.conf / usr / local / cluster / 7001
vi /usr/local/cluster/7000/redis.confvi /usr/local/cluster/7001/redis.conf 修改配置文件中下面选项,如port 7000:指定当前Redis服务的端口,默认为6379daemonize yes:配置redis作为守护进程运行集群启用是:开启集群功能 绑定10.252.21.154 127.0.0.1:绑定本地回环地址 appendonly是:配置数据持久化
在防火墙中对端口7000 7001开放:firewall-cmd --zone = public --add-port = 7000 / tcp --permanentfirewall-cmd --zone = public --add-port = 7001 / tcp --permanentfirewall-cmd --reload
启动Redis的的的的实例:cd / usr / local / cluster / 7000 redis-server redis.conf
cd / usr / local / cluster / 7001 redis-server redis.conf
检查是否启动成功:
为了使用主从节点不落在同一台机器上使用如下命令:每台IP +端口交叉(没有找到命令指定主从节点的关系的方法)./redis-trib.rb create --replicas 1 10.252.21.156:7000 10.252.21.154:7001 10.252.21.154:7000 10.252.21.157:7001 10.252.21.157:7000 10.252.21.156:7001 这里选择是表示接受了这种方式: Redis Cluser采用虚拟槽分区,所有键根据哈希函数映射到0〜16383整数槽内,Redis Cluser采用虚拟槽分区,所有键根据哈希函数映射到0〜16383整数槽内。
到此为止集群搭建成功!
三,搭建过程踩的坑1>在装的Redis的的时使报错:解决方式:安装gcc和gcc-c ++:yum install gcc,yum install gcc-c ++如果想看安装情况:先安装yum install tcl,然后进行测试测试
2>执行./redis-trib.rb create --replicas语句报如下错误:/usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in`require':无法加载这样的文件 - redis(LoadError)
解决方式:安装依赖,因为没有安装红宝石的Redis的的插件yum安装ruby ruby​​ gems -ygem install redis-3.0.0.gem
3>等待群集加入.......
解决方式:1> cd / usr / local / cluster / 70002> rm -rf rm -rf appendonly.aof nodes.conf同样的7000也需要执行删除nodes.conf的appendonly.aofredis集群不需要开通redis客户端连接的端口如7000,而且需要开通集群总线端口,集群总线端口为redis客户端连接的端口+ 10000
执行如下命令:firewall-cmd --zone = public --add-port = 17000 / tcp --permanentfirewall-cmd --zone = public --add-port = 17001 / tcp --permanentfirewall-cmd --reload
四,测试这里使用的Redis的的-CLI来进行演示1>存储测试

Redis集群把所有的数据映射到16384个槽中。每个key会映射为一个固定的槽,只有当节点分配了槽,才能响应和这些槽关联的键命令。这里name --conan落在了10.252 .21.151这个节点上我们知道10.252.21.156:7001为10.252.21.151:7001的从节点相应的在从节点也可以获取到数据测试如下:
2>故障转移测试把154的主节点杀掉 查看一下新的主转移情况: 这里可以看出156:7000成了matser节点,我们再获取值:
3>使用Jedis链接的的Redis的的集群 运行结果:
CSDN文章同步会慢些,欢迎关注微信公众号:挨踢男孩
    



阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: