Redis【第二篇】集群搭建

第一步:准备

1.安装包

ruby-2.4.0.tar.gz

rubygems-2.6.10.tgz

zlib-1.2.11.tar.gz

redis-3.3.2.gem

2. 架构:
名称IP端口节点属性
redisA192.168.6.1286379主节点
redisB192.168.6.1289379从节点
redisC192.168.6.1296379主节点
redisD192.168.6.1299379从节点
redisE192.168.6.1306379主节点
redisF192.168.6.1309379从节点
2. 实例 redis 安装

参照 Redis【第一篇】安装 来安装架构中的实例。

第二步:安装Ruby

1. 版本

ruby-2.4.0

2. 安装
# tar zxvf ruby-2.4.0.tar.gz
# cd ruby-2.4.0
# ./configure prefix=/usr/local/ruby
# make
# make install
3. 设置环境变量
# echo 'export PATH="$PATH:/usr/local/ruby/bin"' >> /etc/profile
# source /etc/profile
4. 测试
# ruby -v

第三步:安装 rubygems

1. 版本

rubygems-2.6.10

2. 安装
# tar zxvf rubygems-2.6.10.tgz
# cd rubygems-2.6.10
# ruby setup.rb
3. 测试
# gem -v

第四步:安装zlib

1. 版本

zlib-1.2.11.tar.gz

2. 安装
# tar zxvf zlib-1.2.11.tar.gz
# cd zlib-1.2.11
# ./configure --prefix=/usr/local/zlib
# make
# make install

第五步:安装 ruby-zlib

1. 版本

为 ruby-2.4.0 包中的文件。

2. 安装
# cd ruby-2.4.0/ext/zlib
# ruby ./extconf.rb --with-zlib-dir=/usr/local/zlib
# make
# make install

返回信息:

第六步:安装 redis-3.3.2.gem

1. 版本

redis-3.3.2.gem

2. 安装
gem install -l redis-3.3.2.gem

返回信息:

第七步:启动

1. 分别修改各个 redis 的配置文件
# cp redis.conf redis-cluster.conf
# vi redis-cluster.conf

编辑配置文件:

1)更改的内容:

daemonize no 更改为 daemonize yes
logfile "" 更改为 logfile "/root/redisA/logs/redis.log"    # 需要创建 logs 目录
dir ./ 更改为 dir /root/redisA/data    #需要创建 data 目录
appendonly no 更改为 appendonly yes

2)去掉注释的内容

# cluster-enabled yes
# cluster-config-file nodes-6379.conf
# cluster-node-timeout 15000
# cluster-slave-validity-factor 10
# cluster-migration-barrier 1
# cluster-require-full-coverage yes
2. 分别启动各个 redis 服务
# ./src/redis-server redis-cluster.conf

第八步:测试

1. 查看进程
# ps -ef|grep redis|grep -v grep

2. 查看日志

第九步:建立集群

1. 执行命令
# ./src/redis-trib.rb create --replicas 1 192.168.6.128:6379 192.168.6.128:9379 192.168.6.129:6379 192.168.6.129:9379 192.168.6.130:6379 192.168.6.130:9379

--replicas 1 表示每个主节点下有一个从节点。

默认是前三个为主节点,后三个为从节点。

默认情况下不能从 slaves 读取数据,但建立连接后,执行一次命令 READONLY,该 slaves 即可读取数据。

2. 返回信息
>>> Creating cluster
Connecting to node 192.168.6.128:6379: OK
Connecting to node 192.168.6.128:9379: OK
Connecting to node 192.168.6.129:6379: OK
Connecting to node 192.168.6.129:9379: OK
Connecting to node 192.168.6.130:6379: OK
Connecting to node 192.168.6.130:9379: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.6.128:6379
192.168.6.129:6379
192.168.6.130:6379
Adding replica 192.168.6.129:9379 to 192.168.6.128:6379
Adding replica 192.168.6.128:9379 to 192.168.6.129:6379
Adding replica 192.168.6.130:9379 to 192.168.6.130:6379
M: 31f6b90cfe190d94f39bef42449bdb7efe1b85b0 192.168.6.128:6379
   slots:0-5460 (5461 slots) master
S: 02c6f0321ebbaf52fe42dd372e5daf179ca77853 192.168.6.128:9379
   replicates 90fec8236d68d9e89262a1ae101056fa1da6df25
M: 90fec8236d68d9e89262a1ae101056fa1da6df25 192.168.6.129:6379
   slots:5461-10922 (5462 slots) master
S: 5cf4bd75f93514e1895f8bb5bb7042ae23f277e7 192.168.6.129:9379
   replicates 31f6b90cfe190d94f39bef42449bdb7efe1b85b0
M: 82889edd96156daa109e84868ceda24a0272ee82 192.168.6.130:6379
   slots:10923-16383 (5461 slots) master
S: 9e238a85863ea02fc534fc870db4f47fd79b9ef6 192.168.6.130:9379
   replicates 82889edd96156daa109e84868ceda24a0272ee82
Can I set the above configuration? (type 'yes' to accept): yes
>>> 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.6.128:6379)
M: 31f6b90cfe190d94f39bef42449bdb7efe1b85b0 192.168.6.128:6379
   slots:0-5460 (5461 slots) master
   1 additional replica(s)
M: 90fec8236d68d9e89262a1ae101056fa1da6df25 192.168.6.129:6379
   slots:5461-10922 (5462 slots) master
   1 additional replica(s)
S: 5cf4bd75f93514e1895f8bb5bb7042ae23f277e7 192.168.6.129:9379
   slots: (0 slots) slave
   replicates 31f6b90cfe190d94f39bef42449bdb7efe1b85b0
S: 9e238a85863ea02fc534fc870db4f47fd79b9ef6 192.168.6.130:9379
   slots: (0 slots) slave
   replicates 82889edd96156daa109e84868ceda24a0272ee82
M: 82889edd96156daa109e84868ceda24a0272ee82 192.168.6.130:6379
   slots:10923-16383 (5461 slots) master
   1 additional replica(s)
S: 02c6f0321ebbaf52fe42dd372e5daf179ca77853 192.168.6.128:9379
   slots: (0 slots) slave
   replicates 90fec8236d68d9e89262a1ae101056fa1da6df25
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
集群创建成功!

第十步:测试

1. 客户端连接
# ./src/redis-cli -c -h 192.168.6.128 -p 6379

连接成功则返回:

2. 存取数据

1)连接192.168.6.128的6379端口,并存入数据

2)连接192.168.6.130的9379端口,并读取数据

此时,redis 的三主三从集群已搭建成功!

转载于:https://www.cnblogs.com/RUReady/p/6439763.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值