Linux上面搭建redis集群服务

最近项目组要搭建redis集群,顺手就在服务器上搭建了,中途也遇到了一些问题,不过最后也都解决了,本文作为笔记记录。

本文用单台虚拟机模拟6个节点,创建出3 master、3 salve 环境。说明:https://redis.io/上的最新版本是3.2.8,考虑到新版本可能有坑,所以下载3.2.7版本。


1、下载解压

wget http://download.redis.io/releases/redis-3.2.7.tar.gz
tar -zxvf redis-3.2.7.tar.gz

2、安装

cd redis-3.2.7
make
make install

3、将启动集群的文件redis-trib.rb 拷贝到本地 /usr/local/bin 目录下

cd /redis-3.2.7/src
cp redis-trib.rb /usr/local/bin/

4、创建服务节点,在服务器上(这里以本地127.0.0.1为例),创建集群的文件夹redis_cluster

mkdir redis_cluster 

将解压的redis-3.2.7拷贝打牌rediscuter中重新命名为redis_7000

cp -R /redis-3.2.7  /redis_cluster
mv redis-3.2.7  redis_7000

修改/redis_cluster/redis_7000中的redis.conf文件

port  7000                                        //端口7000,7002,7003        
bind 本机ip 127.0.0.1                                       //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
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日志开启  有需要就开启,它会每次写操作都记录一条日志 

然后将redis_7000复制5分放入/redis_cluster中命名分别为redis_7001、redis_7002、redis_7003、redis_7004、redis_7005;
然后分别修改其目录下的redis.conf文件中的端口和ip。


5、启动各节点,进入redis_7000目录下,启动如下

redis-server redis.conf
然后依次启动redis_7001、redis_7002、redis_7003、redis_7004、redis_7005。

6、查看情况

ps -ef | grep redis

root     24559 24517  0 16:37 pts/0    00:00:00 grep redis
root     31987     1  0 11:40 ?        00:01:44 redis-server 127.0.0.1:7000 [cluster]
root     32002     1  0 11:40 ?        00:02:40 redis-server 127.0.0.1:7001 [cluster]
root     32006     1  0 11:40 ?        00:01:11 redis-server 127.0.0.1:7002 [cluster]
root     32015     1  0 11:40 ?        00:00:28 redis-server 127.0.0.1:7003 [cluster]
root     32027     1  0 11:40 ?        00:00:28 redis-server 127.0.0.1:7005 [cluster]
root     32136     1  0 11:43 ?        00:00:28 redis-server 127.0.0.1:7004 [cluster]
netstat -tnlp | grep redis

tcp        0      0 127.0.0.1:17000         0.0.0.0:*                   LISTEN      31987/redis-server
tcp        0      0 127.0.0.1:17001         0.0.0.0:*                   LISTEN      32002/redis-server
tcp        0      0 127.0.0.1:17002         0.0.0.0:*                   LISTEN      32006/redis-server
tcp        0      0 127.0.0.1:17003         0.0.0.0:*                   LISTEN      32015/redis-server
tcp        0      0 127.0.0.1:17004         0.0.0.0:*                   LISTEN      32136/redis-server
tcp        0      0 127.0.0.1:17005         0.0.0.0:*                   LISTEN      32027/redis-server
tcp        0      0 127.0.0.1:7000          0.0.0.0:*                   LISTEN      31987/redis-server
tcp        0      0 127.0.0.1:7001          0.0.0.0:*                   LISTEN      32002/redis-server
tcp        0      0 127.0.0.1:7002          0.0.0.0:*                   LISTEN      32006/redis-server
tcp        0      0 127.0.0.1:7003          0.0.0.0:*                   LISTEN      32015/redis-server
tcp        0      0 127.0.0.1:7004          0.0.0.0:*                   LISTEN      32136/redis-server
tcp        0      0 127.0.0.1:7005          0.0.0.0:*                   LISTEN      32027/redis-server

7、创建集群

Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中,第三步中已将它复制到 /usr/local/bin 目录中,可以直接在命令行中使用了。使用下面这个命令即可完成安装。

redis-trib.rb  create  --replicas  1  127.0.0.1:7000 127.0.0.1:7001  127.0.0.1:7002 127.0.0.1:7003  127.0.0.1:7004  127.0.0.1:7005

中途如果错误内容:/usr/bin/env: ruby: No such file or directory,则需要安装 ruby。这里推荐使用yum install ruby安装,安装命令如下:

yum install ruby

yum -y install ruby ruby-devel rubygems rpm-build

gem install redis

8、验证

通过命令进行访问redis集群: redis-cli -h 127.0.0.1 -c -p 7002 ,加参数 -C 可连接到集群,因为上面 redis.conf 将 bind 改为了ip地址,所以 -h 参数不可以省略。

[root@vm bin]# redis-cli -h 127.0.0.1 -c -p 7002
127.0.0.1:7002> set happy day
-> Redirected to slot [2936] located at 127.0.0.1:7000
OK
127.0.0.1:7000>
[root@vm bin]# redis-cli -h 127.0.0.1 -c -p 7001
127.0.0.1:7001> get happy
-> Redirected to slot [2936] located at 127.0.0.1:7000
"day"
127.0.0.1:7000>
好的,我来回答你关于在 Linux 上部署 Redis 集群的问题。 Redis 是一个高性能的键值存储系统,常用于缓存、消息队列和会话存储等领域。部署 Redis 集群可以提高系统的可用性和性能。 以下是在 Linux 上部署 Redis 集群的一般步骤: 1. 下载和安装 Redis 可以从 Redis 的官方网站(https://redis.io/download)下载最新的 Redis 版本。下载完成后,解压缩文件并将 Redis 安装到你的系统中。 2. 配置 Redis 集群 在部署 Redis 集群之前,需要对 Redis 进行一些配置。首先,在每个节点上创建一个配置文件,其中包含节点的 IP 地址和端口号。然后,通过将这些配置文件复制到所有节点上并对它们进行编辑,来确保所有节点的配置都是相同的。还需要在每个节点上设置密码验证等安全措施。 3. 启动 Redis 集群配置完成后,可以启动 Redis 集群。首先,启动每个节点的 Redis 服务器。然后,在一个节点上运行 Redis 集群管理工具 Redis-trib,以创建 Redis 集群。在 Redis-trib 中,指定集群的节点数和 IP 地址以及端口号。 4. 测试 Redis 集群 最后,可以使用 Redis 命令行工具或其他客户端工具来测试 Redis 集群是否正常工作。可以在集群中的任何一个节点上执行 Redis 命令,并观察命令在集群中的分布情况。 以上是在 Linux 上部署 Redis 集群的一般步骤。当然,实际的部署可能会因为环境和需求的不同而有所变化。希望这些信息能对你有所帮助。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值