Linux搭建Redis集群(单服务器模拟搭建)

简介

本文使用单服务器模拟搭建redis集群,都是自己亲自搭建,避开过程中的坑,成功后才做的笔记。多服务起搭建只需参考本文,修改部分IP地址即可。

安装redis

这里只给出了简化后的安装过程,如果想看详细安装步骤和各个配置文件的作用,见:CentOS7安装Redis

1.下载

cd /usr/local/
mkdir redis
wget http://download.redis.io/releases/redis-5.0.7.tar.gz

2.解压

tar -zxvf redis-5.0.7.tar.gz

3.进入src目录安装

cd redis-5.0.7/src
//安装到指定目录
sudo make install PREFIX=/usr/local/redis

4.从之前的Redis解压目录拷贝Redis配置文件到指定目录

cd /usr/local/redis
mkdir etc
cd redis-5.0.7
cp redis.conf /usr/local/redis/etc

搭建集群

1.创建文件

mkdir redis-cluster
cd redis-cluster/
mkdir -p 9001/data 9002/data 9003/data 9004/data 9005/data 9006/data
mkdir bin

2.复制脚本

cd /usr/local/redis-5.0.7/src/
cp mkreleasehdr.sh redis-benchmark redis-check-aof  redis-cli redis-server redis-trib.rb /usr/local/redis-cluster/bin

3.复制一个新的redis实例

cp -r /usr/local/redis /usr/local/redis-cluster/9001

4.修改配置文件

cd /usr/local/redis-cluster/9001/redis/etc/
vim redis.conf
#修改以下配置,900*代表对应端口,由于我们是测试,就不执行10和11配置密码操作
#注意:如果需要外网访问,需要注释步骤3 bind,并将 protected-mode 修改为 no,下面所有的ip变为 127.0.0.1
1)port 900*(分别对每个机器的端口号进行设置)
2)daemonize yes(允许后台运行)
3)bind 172.16.228.165(去掉bind绑定访问ip信息,一定要是内网ip)
4)dir /usr/local/redis-cluster/900*/data/(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)
5)pidfile /var/run/redis_900*.pid(pid 900*和port要对应)
6)cluster-enabled yes(启动集群模式)
7)cluster-config-file nodes-900*.conf(集群节点信息文件,这里900x最好和port对应上)
8)cluster-node-timeout 15000(node超时时间)
9)appendonly yes
*10)requirepass 密码 (设置redis密码)
*11)masterauth xxx  (设置集群节点间访问密码,跟上面一致)

5.重复步骤3、4,把9001的redis文件复制给9002-9006即可,配置文件只需修改步骤1、4、5、7即可

cp -r redis/ /usr/local/redis-cluster/9002/
cp -r redis/ /usr/local/redis-cluster/9003/
cp -r redis/ /usr/local/redis-cluster/9004/
cp -r redis/ /usr/local/redis-cluster/9005/
cp -r redis/ /usr/local/redis-cluster/9006/
#再依次修改redis.conf
cd /usr/local/redis-cluster/900*/redis/etc/
vim redis.conf

6.依次启动9001-9006六个节点

/usr/local/redis/bin/redis-server  /usr/local/redis-cluster/900*/redis/etc/redis.conf 

在这里插入图片描述
7.查看启动状态

ps -ef|grep redis

如图代表启动成功:
在这里插入图片描述
8.随便找一个节点测试

/usr/local/redis-cluster/9001/redis/bin/redis-cli -h 172.16.228.165 -p 9001
>set name 123456

此时发现报错:(error) CLUSTERDOWN Hash slot not served(不提供集群的散列槽)
在这里插入图片描述
这是因为虽然我们配置并启动了 Redis 集群服务,但是他们暂时还并不在一个集群中,互相直接发现不了,而且还没有可存储的位置,就是所谓的slot(槽)。

9.执行搭建集群命令

*注意:redis5 以前的版本集群是依靠 ruby 脚本 redis-trib.rb 实现,我们用的是 redis5.0 版本,无需 ruby 脚本

/usr/local/redis-cluster/bin/redis-cli --cluster create 172.16.228.165:9001 172.16.228.165:9002 172.16.228.165:9003 172.16.228.165:9004 172.16.228.165:9005 172.16.228.165:9006 --cluster-replicas 1

*注意:如果开启了 redis 密码验证,需要在 redis-cli 后加 -a ***(密码)
*注意:–cluster-replicas 1中,1代表的是一个 master 有一个 slave;前三个 ip 是 master,后三个 ip 是对应的 slave 。
在这里插入图片描述
10.使用集群模式再次测试

测试9001
*注意:一定要加 -c

/usr/local/redis-cluster/bin/redis-cli -c -h 172.16.228.165 -p 9001

在这里插入图片描述
测试其他节点是否能查到name
在这里插入图片描述

至此安装完成。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值