CentOS6.5 Redis3.x集群安装配置

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

===============================================================
准备三台机器做redis

192.168.99.5 
192.168.99.28
192.168.99.29

操作系统:

CentOS6.5 64bit

软件包:

redis-3.2.7.tar.gz
redis-3.3.3.gem
rubygems-1.3.7-5.el6.noarch.rpm

================================================================

1.编译安装redis

tar zxf redis-3.2.7.tar.gz 
cd redis-3.2.7

[
Centos6.5上需要修改一下Makefile文件
$redis/src下

修改如下属性
FINAL_LIBS = -lm -lrt

]


make
sudo make install

2.安装rubygems

sudo yum install -y rubygems-1.3.7-5.el6.noarch.rpm

3.gem 安装集群用的redis

sudo gem install -l redis-3.3.3.gem

================================================================
在每一台几点上都要执行以下步骤

1.创建集群配置文件夹

sudo mkdir /usr/local/redis-cluster/{7000,7001,7002}

2.7000,7001,7002下,每个文件夹下创建redis.conf,

sudo touch /usr/local/redis-cluster/7000(7001,7002)/redis.conf

并添加如下配置:

#监听的端口,7000,7001,7002
port  7000  

#redis本机ip
bind 192.168.99.5
daemonize    yes

#按端口号修改pid的序号
pidfile  /var/run/redis_7000.pid

#启用集群模式
cluster-enabled  yes

#也是按照端口号修改序号
cluster-config-file  nodes_7000.conf
cluster-node-timeout  15000
appendonly  yes

3.指定配置文件启动3个redis实例

sudo /usr/local/bin/redis-server /usr/local/redis-cluster/7000/redis.conf
sudo /usr/local/bin/redis-server /usr/local/redis-cluster/7001/redis.conf
sudo /usr/local/bin/redis-server /usr/local/redis-cluster/7002/redis.conf

4.查看端口

sudo netstat -tnlp

会有7000,7001,7002 ,17000 ,17001 ,17002 这几个redis进程


创建集群

1.在任一台机器,解压后的redis的/src/目录下执行以下程序,选出三台机器上的三个节点作为redis集群的三个master节点

./redis-trib.rb create 192.168.99.5:7000 192.168.99.28:7000 192.168.99.29:7000

输出:

Using 3 masters:
192.168.99.29:7000
192.168.99.28:7000
192.168.99.5:7000
M: 29608e1a8b3d3e28315d1231b3a79dc3349bde21 192.168.99.5:7000
   slots:10923-16383 (5461 slots) master
M: eeb89dca7b91e683e77a443f03187eef4ab26cda 192.168.99.28:7000
   slots:5461-10922 (5462 slots) master
M: 0d589ff3efc479fc4acae086045ee1293767bdc6 192.168.99.29:7000
   slots:0-5460 (5461 slots) master
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.99.5:7000)
M: 29608e1a8b3d3e28315d1231b3a79dc3349bde21 192.168.99.5:7000
   slots:10923-16383 (5461 slots) master
   0 additional replica(s)
M: 0d589ff3efc479fc4acae086045ee1293767bdc6 192.168.99.29:7000
   slots:0-5460 (5461 slots) master
   0 additional replica(s)
M: eeb89dca7b91e683e77a443f03187eef4ab26cda 192.168.99.28:7000
   slots:5461-10922 (5462 slots) master
   0 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
You have new mail in /var/spool/mail/mobileoa

2.检查集群:选定集群中一个master节点的ip就可以查询整个集群

[mobileoa@db2test1 src]$ ./redis-trib.rb check 192.168.99.5:7000
>```  

Performing Cluster Check (using node 192.168.99.5:7000)
M: 29608e1a8b3d3e28315d1231b3a79dc3349bde21 192.168.99.5:7000

slots:10923-16383 (5461 slots) master
0 additional replica(s)
M: 0d589ff3efc479fc4acae086045ee1293767bdc6 192.168.99.29:7000
slots:0-5460 (5461 slots) master
0 additional replica(s)
M: eeb89dca7b91e683e77a443f03187eef4ab26cda 192.168.99.28:7000
slots:5461-10922 (5462 slots) master
0 additional replica(s)
[OK] All nodes agree about slots configuration.

Check for open slots...
Check slots coverage...

[OK] All 16384 slots covered.



3.给集群每个主节点分散配置从节点,
                添加节点 类型    要给那个master添加从节点                   从节点ip                   要添加到的集群

./redis-trib.rb add-node --slave --master-id 29608e1a8b3d3e28315d1231b3a79dc3349bde21 192.168.99.28:7001 192.168.99.5:7000
./redis-trib.rb add-node --slave --master-id 29608e1a8b3d3e28315d1231b3a79dc3349bde21 192.168.99.29:7001 192.168.99.5:7000

./redis-trib.rb add-node --slave --master-id 0d589ff3efc479fc4acae086045ee1293767bdc6 192.168.99.5:7002 192.168.99.5:7000
./redis-trib.rb add-node --slave --master-id 0d589ff3efc479fc4acae086045ee1293767bdc6 192.168.99.28:7002 192.168.99.5:7000

./redis-trib.rb add-node --slave --master-id eeb89dca7b91e683e77a443f03187eef4ab26cda 192.168.99.5:7001 192.168.99.5:7000
./redis-trib.rb add-node --slave --master-id eeb89dca7b91e683e77a443f03187eef4ab26cda 192.168.99.29:7002 192.168.99.5:7000


4.查看集群状态

./redis-trib.rb check 192.168.99.5:7000

----

测试集群


redis-cli -h 192.168.99.28 -c -p 7002  ,加参数 -C 可连接到集群,因为上面 redis.conf 将 bind 改为了ip地址,所以 -h 参数不可以省略。

set hello world


查看key


在另一个节点连接redis ,并查询

redis-cli -h 192.168.99.5 -c -p 7001
get hello

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
26天前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
169 1
|
1天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
20天前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
67 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
1天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
17 2
|
27天前
|
NoSQL Linux Redis
在 centos7 下重启/开启 redis 服务器
本文提供了一种在Centos 7操作系统下如何重启Redis服务器的步骤,包括停止Redis服务、确认停止成功以及重新启动Redis服务。
60 2
在 centos7 下重启/开启 redis 服务器
|
12天前
|
存储 NoSQL Redis
Redis 配置
10月更文挑战第14天
15 1
|
15天前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
57 1
|
17天前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
134 3
|
17天前
|
存储 监控 Linux
在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践
本文详细介绍了在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践,包括使用 `fdisk` 创建分区、`mkfs` 格式化分区、创建挂载点、编辑 `/etc/fstab` 实现永久挂载等步骤,旨在有效管理服务器磁盘空间,提高系统稳定性和可维护性。
21 1
|
26天前
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
45 1