redis集群cluster模式搭建
实验服务器 :192.168.44.139 192.168.44.138 192.168.44.144
在 192.168.44.139上操作:
将redis的包上传的新建的目录newtouch
解压
tar -zxf redis-3.0.7.tar.gz
安装redis依赖的包
yum -y install gcc gcc-c++ make tcl
cd到解压的redis的包里安装
make && make install
在opt下新建/opt/redis/redis-cluster/
mkdir -p /opt/redis/redis-cluster/
将redis.conf cp到/opt/redis/redis-cluster/ 起名redis-6379.conf redis-6380.conf
cp /newtouch/redis-3.0.7/redis.conf /opt/redis/redis-cluster/redis-6379.conf
cp /newtouch/redis-3.0.7/redis.conf /opt/redis/redis-cluster/redis-6380.conf
编辑redis-6379.conf redis-6380.conf
bind 127.0.0.1 //修改为当前服务器IP地址
port 6379 //修改对应的端口
daemonize yes //由no改为yes
cluster-enabled yes //将#号去掉
cluster-node-timeout 5000 //将#号去掉
appendonly yes //将#号去掉
logfile "redis-6379.log" //修改日志文件为对应的端口好
pidfile /var/run/redis_6379.pid //修改为对应端口号
cluster-config-file nodes_6379.conf //修改为对应端口号
修改完之后
:x保存退出。
启动redis服务
redis-server /opt/redis/redis-cluster/redis-6379.conf
redis-server /opt/redis/redis-cluster/redis-6380.conf
其余两台也找这样操作。
搭建集群有两种方法手动和自动我们先自动在试试手动
1,自动:
安装redis-trid.rd搭建集群(可以自动实现握手和自动分配虚拟槽)
redis-strid.rd是采用ruby实现redis集群管理的工具:
安装ruby:
下载ruby:
wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz
创目录:mkdir /usr/local/ruby
解压ruby的包
tar -zxf ruby-2.3.1.tar.gz
监测环境并制定安装目录在/usr/local/ruby
./configure –prefix=/usr/local/ruby/
安装:
Make && make install
Cd到/usr/local/ruby下执行一下操作
[root@localhost ruby]# cp bin/ruby /usr/local/bin/
[root@localhost ruby]# cp bin/gem /usr/local/bin/
安装rubygem redis的依赖:
下载:
wget http://rubygems.org/downloads/redis-3.3.0.gem
安装
gem install -l redis-3.3.0.gem
{如执行这抱一下错误:那是系统没有zlib的包下载zlib的包安装
zlib包的下载地址
下载后执行解压和。/configure 和make make install 就可以了
在进入到ruby的安装目录的ext/zli执行一下操作 (ruby-2.3.1/ext/zlib/)
ruby ./extconf.rb
make && make install 就ok啦
然后在执行gem install -l redis-3.3.0.gem}
gem list -- check redis gem
安装redis-trid.rb
cp /newtouch/redis/src/redis-trib.rb /usr/local/bin/
安装完 ruby环境后执行redis-trib.rb命令确认环境是否正确:
出现以上信息说明环境ok
创建集群:
[root@localhost redis]# redis-trib.rb create --replicas 1 192.168.44.139:6379 192.168.44.139:6380 192.168.44.138:6379 192.168.44.138:6380 192.168.44.144:6379 192.168.44.144:6380
--replicas 参数制定一个主节点有几个从节点 后面的1 表示1个从节点
输入yes就可以了redis-trib.rb 就开始节点握手和槽的分配
可以查看是否分配成功
isred-tric.rb check 192.168.44.144:6379
出现一下信息可就ok
Redis-trib.rb 就在一台上暗转 我在192.168.44.139的服务器上的安装的。
这样集群就可以搭建完成在192.168.44.139上set值 别的服务器上可以gei到值。
我做的 是3主3从 主从 会自动分配的。
现在可以测试
在192.168.44.139上执行set name lili
在别的端口查看
至此cluster的集群搭建完成 进入是一定加-c参数
2,下面是手动完成集群的操作:
节点搭建好后 开始搭建集群
节点握手:
在一个节点操作一下命令
加入集群 之后还不能 同步数据还没有分槽:可以通过cluster nodes 查看信息
cluster info 查看 并没有分配槽
下面开始分槽:
redis-cli -h 192.168.44.139 -p 6379 cluster addslots {0...5461}
redis-cli -h 192.168.44.141 -p 6379 cluster addslots {5462…10922}
redis-cli -h 192.168.44.144 -p 6379 cluster addslots {10923…16383}
通过cluster info 查看槽分配的信息
分配从节点:
进入到没有分配操的节点
执行 (主节点的id就是cluster info 命令查看出的master的id)
在每个没有分配槽的几点执行
之后就可以cluster nodes 查看了
就此手动大家cluster的集群完成
凡事要细心。要有耐心
可以参考 https://www.cnblogs.com/hello-daocaoren/p/8431902.html
redis集群cluster模式搭建的更多相关文章
- redis单点、redis主从、redis哨兵sentinel,redis集群cluster配置搭建与使用
目录 redis单点.redis主从.redis哨兵 sentinel,redis集群cluster配置搭建与使用 1 .redis 安装及配置 1.1 redis 单点 1.1.2 在命令窗口操作r ...
- Redis集群-Cluster模式
我理解的此模式与哨兵模式根本区别: 哨兵模式采用主从复制模式,主和从数据都是一致的.全量数据: Cluster模式采用数据分片存储,对每个 key 计算 CRC16 值,然后对 16384 取模,可以 ...
- 超详细,多图文介绍redis集群方式并搭建redis伪集群
超详细,多图文介绍redis集群方式并搭建redis伪集群 超多图文,对新手友好度极好.敲命令的过程中,难免会敲错,但为了截好一张合适的图,一旦出现一点问题,为了好的演示效果,就要从头开始敲.且看且珍 ...
- Docker快速构建Redis集群(cluster)
Docker快速构建Redis集群(cluster) 以所有redis实例运行在同一台宿主机上为例子 搭建步骤 redis集群目录清单 . ├── Dockerfile ├── make_master ...
- redis集群环境的搭建和错误分析
redis集群环境的搭建和错误分析 redis集群时,出现的几个异常问题 09 redis集群的搭建 以及遇到的问题
- 一文轻松搞懂redis集群原理及搭建与使用
今天早上由于zookeeper和redis集群不在同一虚拟机导致出了点很小错误(人为),所以这里总结一下redis集群的搭建以便日后所需同时也希望能对你有所帮助. 笔主这里使用的是Centos7.如果 ...
- redis集群cluster简单设置
环境: 这里参考官方使用一台服务器:Centos 7 redis-5.0.4 192.168.10.10 redis集群cluster最少要3个主节点,所以本次需要创建6个实例:3个主节点,3 ...
- Redis | 一文轻松搞懂redis集群原理及搭建与使用
转载:https://juejin.im/post/5ad54d76f265da23970759d3 作者:SnailClimb 这里总结一下redis集群的搭建以便日后所需同时也希望能对你有所帮助. ...
- Redis集群~windows下搭建Sentinel环境及它对主从模式的实际意义
回到目录 关于redis-sentinel出现的原因 Redis集群的主从模式有个最大的弊端,就是当主master挂了之前,它的slave从服务器无法提升为主,而在redis-sentinel出现之后 ...
随机推荐
- HBase环境搭建、shell操作及Java API编程
一. 1.掌握Hbase在Hadoop集群体系结构中发挥的作用和使过程. 2.掌握安装和配置HBase基本方法. 3.掌握HBase shell的常用命令. 4.使用HBase shell命令进行表的 ...
- GIS入门基础知识点
自从国企辞职以后,找了一份关于GIS开发的工作,好多从事这个都是地理信息科学方面的专业.由于自己才疏学浅,只能从头入门学起,先是大致了解公司的业务以及产品,学习一下相关地理信息的基础知识. 首先今天简 ...
- [LeetCode] 43. Multiply Strings ☆☆☆(字符串相乘)
转载:43. Multiply Strings 题目描述 就是两个数相乘,输出结果,只不过数字很大很大,都是用 String 存储的.也就是传说中的大数相乘. 解法一 我们就模仿我们在纸上做乘法的过程 ...
- openssh安装/更新教程(CentOS)
由于rpm包版本总落后于tar包,对于想安装新版本或由于漏洞需要更新到新版本那只能选择源代方式编译安装. 更新执行和安装一样的步骤就行了. 1.下载 官方网址:http://www.openssh.c ...
- a标签在编辑器中可以整体删除并且a标签为不可编辑的情况下 标签依然存在(棒棒哒)
a标签在编辑器中可以整体删除并且a标签为不可编辑的情况下 标签依然存在 因为给a标签的后面 添加了一个空元素,如<i></i>(棒棒哒)<div contentEdita ...
- axios ajax fetch 区别
请求方式千千万,axios是一种对ajax的封装,fetch是一种浏览器原生实现的请求方式,跟ajax对等
- 0-MAVEN SETTING
localRepository : 表示本地库的保存位置,也就是maven主要的jar包保存位置,默认在${user.dir}/.m2/repository,如果需要另外设置,就换成其他的路径 Ser ...
- sql取大的一个值
select b.*, a.recid, a.keyno from product b, (select pcode, ...
- u-boot的内存分布
cpu会自动从NAND flash 中读取前4KB的数据放置在片内SRAM里(s3c2440是soc),同时把这段片内SRAM映射到nGCS0片选的空间(即0x00000000).cpu是从0x000 ...
- 原生js(form)验证,可以借鉴下思路,应用到工作中
我在工作中时常使用form验证,在目前的公司做的表单验证用的angular的form组件,对于一个有追求的前端,或者应用在移动端写个form验证,引入angular或者jquery组件等验证,难免显得 ...