redis学习笔记——redis集群搭建(linux版)

本文详细介绍如何使用Redis 3.2.4版本在两台虚拟机上搭建包含六个节点的Redis集群,包括安装步骤、节点配置及集群创建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先介绍安装环境与版本
用两台两台虚拟机,一台机器3个节点,创建出3 master、3 salve 环境。
redis 采用 redis-3.2.4 版本。
IP分别为:120.99.158.113 , 112.42.136.189

一、redis安装过程:
1.选择下载路径,下载并解压
cd /usr/local
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
tar -zxvf redis-3.2.4.tar.gz

2.编译安装
cd redis-3.2.4
make && make install

3.编译完成后,将src下的 redis-trib.rb 复制到 /usr/local/bin 目录下
cd src
cp redis-trib.rb /usr/local/bin/  

二、安装完成,创建 Redis 节点
1.首先在 120.99.158.113 机器上 /usr/local/redis-3.2.4 目录下创建 redis_cluster 目录:

cd /usr/local/redis-3.2.4
mkdir redis_cluster

2.在 redis_cluster 目录下,创建名为7000、7001、7002的目录,并将 redis.conf 拷贝到这三个目录中:

cd redis_cluster
mkdir 7000 7001 7002
cp /usr/local/redis-3.2.4/redis.conf /7000
cp /usr/local/redis-3.2.4/redis.conf /7001
cp /usr/local/redis-3.2.4/redis.conf /7002

3.在第一台机器上(112.42.136.189)分别修改这三个配置文件,修改如下内容:

port  7000     //端口7000,7001,7002
bind 本机ip                                       //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群,此处改为120.99.158.113 或  112.42.136.189
daemonize    yes                               //redis后台运行
pidfile  /var/run/redis_7000.pid          //pidfile文件对应7000,7001,7002
cluster-enabled  yes                           //开启集群  把注释#去掉
cluster-config-file  nodes_7000.conf   //集群的配置  配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout  15000                //请求超时  默认15秒,可自行设置
appendonly  yes                           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志 

然后在另外一台机器上(112.42.136.189)重复以上三步,只是把目录改为7003、7004、7005,对应的配置文件也按照这个规则修改即可;

4.启动各个节点

第一台机器(120.99.158.113)执行:
cd /usr/local/redis/src
./redis-server /usr/local/redis-3.2.4/redisredis_cluster/7000/redis.conf    //更改端口7001,7002重复执行
另外一台机器上(112.42.136.189)执行:
cd /usr/local/redis/src
./redis-server /usr/local/redis-3.2.4/redisredis_cluster/7003/redis.conf    //更改端口7004,7005重复执行

5.检查 redis 启动情况

第一台机器(120.99.158.113):ps -ef | grep redis
root     17682     1  0 Jul14 ?        00:01:44./redis-server 120.99.158.113:7002 [cluster]
root     17687     1  0 Jul14 ?        00:01:11./redis-server 120.99.158.113:7000 [cluster]
root     17691     1  0 Jul14 ?        00:01:44./redis-server 120.99.158.113:7001 [cluster]

netstat -tnlp | grep redis
tcp        0      0 120.99.158.113:17000         0.0.0.0:*                   LISTEN      17687/./redis-serve 
tcp        0      0 120.99.158.113:17001         0.0.0.0:*                   LISTEN      17691/./redis-serve 
tcp        0      0 120.99.158.113:17002         0.0.0.0:*                   LISTEN      17682/./redis-serve 
tcp        0      0 120.99.158.113:7000          0.0.0.0:*                   LISTEN      17687/./redis-serve 
tcp        0      0 120.99.158.113:7001          0.0.0.0:*                   LISTEN      17691/./redis-serve 
tcp        0      0 120.99.158.113:7002          0.0.0.0:*                   LISTEN 17682/./redis-serve

另一台机器(112.42.136.189):ps -ef | grep redis
root     32225     1  0 Jul14 ?        00:02:23 ./redis-server 112.42.136.189:7003 [cluster]
root     32232     1  0 Jul14 ?        00:02:25 ./redis-server 112.42.136.189:7004 [cluster]
root     32236     1  0 Jul14 ?        00:01:12 ./redis-server 112.42.136.189:7005 [cluster]

tcp        0      0 112.42.136.189:7003     0.0.0.0:*               LISTEN      32225/.redis-serve 
tcp        0      0 112.42.136.189:7004     0.0.0.0:*               LISTEN      32232/.redis-serve 
tcp        0      0 112.42.136.189:7005     0.0.0.0:*               LISTEN      32236/.redis-serve 
tcp        0      0 112.42.136.189:17003    0.0.0.0:*               LISTEN      32225/.redis-serve 
tcp        0      0 112.42.136.189:17004    0.0.0.0:*               LISTEN      32232/.redis-serve 
tcp        0      0 112.42.136.189:17005    0.0.0.0:*               LISTEN      32236/.redis-serve 

三、创建集群
1.安装redis-trib.rb执行所需组件
首先执行redis-trib.rb需要安装ruby,rubygem,以及添加gem源,直接传送:
http://www.ithao123.cn/content-2544745.html

2.执行redis-trib.rb创建集群

cd /usr/local/bin
./redis-trib.rb create --replicas 1 112.42.136.189:7003 112.42.136.189:7004 112.42.136.189:7005 120.99.158.113:7000 120.99.158.113:7001 120.99.158.113:7002 

##执行结果如下
>>> Creating cluster
Connecting to node 120.99.158.113:7000: OK
Connecting to node 120.99.158.113:7001: OK
Connecting to node 120.99.158.113:7002: OK
Connecting to node 112.42.136.189:7003: OK
Connecting to node 112.42.136.189:7004: OK
Connecting to node 112.42.136.189:7005: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
120.99.158.113:7001
112.42.136.189:7004
120.99.158.113:7000
Adding replica 112.42.136.189:7003 to 120.99.158.113:7001
Adding replica 120.99.158.113:7002 to 112.42.136.189:7004
Adding replica 112.42.136.189:7005 to 120.99.158.113:7000
M: fc65c271d01fd2151da15f08d7af14e2be8c18c2 120.99.158.113:7000
   slots:0-5460 (5461 slots) master
M: 5b487aa64fee6fd2322d16a3fd1633944bab58f2 112.42.136.189:7004
   slots:5461-10921 (5461 slots) master
M: 2e9be1c7a4af976d678ef26a91dda37c1623d445 120.99.158.113:7000
   slots:10922-16383 (5462 slots) master
S: a8cdcf9756b2e8334c28190d8de95375551c6a8a 112.42.136.189:7003
S: e4f044404413eb1dddef513500beca1e554e760a 120.99.158.113:7002
S: 5628c2985cb8612883b921e24982409bf87d17e0 112.42.136.189:7005
Can I set the above configuration? (type 'yes' to accept): yes

一个yes就好.

3.集群验证
在第一台机器上连接集群的7001端口的节点

cd /usr/local/redis/src
./redis-cli -h 120.99.158.113 -c -p 7001   //加参数 -C 可连接到集群,因为上面 redis.conf 将 bind 改为了ip地址,所以 -h 参数不可以省略。
120.99.158.113:7001> set hello world
-> Redirected to slot [866] located at 112.42.136.189:7004
OK

再在另一台机器(112.42.136.189)上查看key为hello的值

cd /usr/local/redis/src
./redis-cli -h 112.42.136.189 -c -p 7005
112.42.136.189:7005> get hello
-> Redirected to slot [866] located at 112.42.136.189:7004
"world"

说明集群已经搭建成功,并运作正常!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值