博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis【第二篇】集群搭建
阅读量:5953 次
发布时间:2019-06-19

本文共 4602 字,大约阅读时间需要 15 分钟。

第一步:准备

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 端口 节点属性
redisA 192.168.6.128 6379 主节点
redisB 192.168.6.128 9379 从节点
redisC 192.168.6.129 6379 主节点
redisD 192.168.6.129 9379 从节点
redisE 192.168.6.130 6379 主节点
redisF 192.168.6.130 9379 从节点

2. 实例 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 yeslogfile "" 更改为 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 clusterConnecting to node 192.168.6.128:6379: OKConnecting to node 192.168.6.128:9379: OKConnecting to node 192.168.6.129:6379: OKConnecting to node 192.168.6.129:9379: OKConnecting to node 192.168.6.130:6379: OKConnecting to node 192.168.6.130:9379: OK>>> Performing hash slots allocation on 6 nodes...Using 3 masters:192.168.6.128:6379192.168.6.129:6379192.168.6.130:6379Adding replica 192.168.6.129:9379 to 192.168.6.128:6379Adding replica 192.168.6.128:9379 to 192.168.6.129:6379Adding replica 192.168.6.130:9379 to 192.168.6.130:6379M: 31f6b90cfe190d94f39bef42449bdb7efe1b85b0 192.168.6.128:6379   slots:0-5460 (5461 slots) masterS: 02c6f0321ebbaf52fe42dd372e5daf179ca77853 192.168.6.128:9379   replicates 90fec8236d68d9e89262a1ae101056fa1da6df25M: 90fec8236d68d9e89262a1ae101056fa1da6df25 192.168.6.129:6379   slots:5461-10922 (5462 slots) masterS: 5cf4bd75f93514e1895f8bb5bb7042ae23f277e7 192.168.6.129:9379   replicates 31f6b90cfe190d94f39bef42449bdb7efe1b85b0M: 82889edd96156daa109e84868ceda24a0272ee82 192.168.6.130:6379   slots:10923-16383 (5461 slots) masterS: 9e238a85863ea02fc534fc870db4f47fd79b9ef6 192.168.6.130:9379   replicates 82889edd96156daa109e84868ceda24a0272ee82Can 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 clusterWaiting 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 31f6b90cfe190d94f39bef42449bdb7efe1b85b0S: 9e238a85863ea02fc534fc870db4f47fd79b9ef6 192.168.6.130:9379   slots: (0 slots) slave   replicates 82889edd96156daa109e84868ceda24a0272ee82M: 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

你可能感兴趣的文章
Subarray Sum Equals K
查看>>
preventDefault, stopPropagation, stopImmediatePropagation 三者的区别
查看>>
王下邀月熊_Chevalier的前端每周清单系列文章索引
查看>>
js设计模式之观察者模式和发布/订阅模式
查看>>
Mac上以太坊Geth环境安装
查看>>
基于Netty模拟解析Binlog
查看>>
零配置构建工具:parcel
查看>>
算法题解:找出包含给定字符的最小窗口(枚举的一般方法)
查看>>
lodash源码分析之baseFindIndex中的运算符优先级
查看>>
MySQL数据库规范及解读
查看>>
用 Go 构建一个区块链 -- Part 5: 地址
查看>>
vscode+sftp 开发模式环境的同步
查看>>
Web Storage 与cookies
查看>>
Android Gallery2技术分析
查看>>
微信群 保存到通讯录
查看>>
路由器和iP地址的那些事
查看>>
Glide 这样用,更省内存!!!
查看>>
php无法连接mysql(selinux)
查看>>
[面试专题]Vue.js 2.0 独立构建和运行时构建的区别
查看>>
React 初探
查看>>