CentOS7搭建Redis集群

CentOS7搭建Redis集群

1.Redis简介

1.1 Redis官网

redis官网https://redis.io/
在这里插入图片描述

1.2 Redis代码库

Redis代码库https://github.com/redis/redis

2.安装Redis

2.1 安装说明

因为群投票机制redis要求至少3主3从共6个节点才能组成redis集群,每个主节点至少有一个从节点,测试环境可一台物理上启动6个redis节点,但生产环境至少要准备3台物理机。
这里为了演示,我们使用了三台Centos7虚拟服务器,每台起两个Redis实例,共6个节点来构建Redis集群。

IP端口
192.168.43.2007001, 7002
192.168.43.2017001, 7002
192.168.43.2027001, 7002

即每台虚拟机启动2个redis服务, 分别使用7001和7002端口

在这里插入图片描述

2.2 从代码库下载安装包

代码库 https://github.com/redis/redis/tags
我们安装 redis-6.2.10.tar.gz

在这里插入图片描述然后通过WIN-SCP将安装包上传到虚拟机 /usr/local路径下
在这里插入图片描述

2.3 检查GCC版本

所有节点服务器都需要进行以下操作, 编译安装时要求gcc版本未5.3以上版本
先执行gcc -v 查看当前gcc版本

gcc -v

在这里插入图片描述
如果提示无gcc,首先需要安装gcc

yum install -y gcc gcc-c++

安装完成后查看gcc版本,Centos版本默认安装的是4.8.5版本的gcc,版本过低

yum install -y centos-release-scl
yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
yum install -y systemd-devel
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
source /etc/profile

升级完成后查看gcc版本
在这里插入图片描述

2.4安装Redis

把下载好的文件上传到三个服务器上,我们放到/usr/local目录下
在这里插入图片描述

解压:

tar -zxvf redis-6.2.10.tar.gz

在这里插入图片描述
创建7001和7002两个文件夹, 并将redis.conf配置文件分别拷贝进这2个文件夹

cd redis-6.2.10/
mkdir {7001,7002}
cd /usr/local/redis-6.2.10
cp redis.conf 7001/redis7001.conf
cp redis.conf 7002/redis7002.conf

在这里插入图片描述

下面进行Redis的编译安装, 因Redis版本原因需要安装或者更新tcl版本大于8.5

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar -xzvf tcl8.6.1-src.tar.gz -C /usr/local/
cd /usr/local/tcl8.6.1/unix/
./configure
make
make install

下面进入redis目录执行编译redis need systemd-devel

cd /usr/local/redis-6.2.10/src/
make BUILD_WITH_SYSTEMD=yes USE_SYSTEMD=yes
make install

安装完成后查看redis版本

redis-cli --version
redis-server --version

在这里插入图片描述

2.5 创建redis用户并授权

创建redis用户

useradd -s /sbin/nologin redis
chown -R redis: /usr/local/redis-6.2.10

给新建的目录附上访问权限

[root@vector03 redis-6.2.10]# chmod 777 7001
[root@vector03 redis-6.2.10]# chmod 777 7002

2.6 修改redis配置文件

修改7001文件夹下的redis7001.conf配置文件

vi redis7001.conf
bind 0.0.0.0
port 7001
protected-mode no
daemonize no
supervised systemd
pidfile /usr/local/redis609/7001/redis_7001.pid
logfile "/usr/local/redis609/7001/7001.log"
dir /usr/local/redis609/7001/
appendonly yes
appendfilename "appendonly7001.aof"
cluster-enabled yes
cluster-config-file nodes-7001.conf
cluster-node-timeout 5000

同理修改redis7002.conf, 只需将redis7001.conf复制一份, 将文件中的7001全局替换为7002即可

cd /usr/local/redis-6.2.10/7001
cp redis7001.conf ../7002/
rm -rf redis7002.conf
mv redis7001.conf redis7002.conf
sed -i "s/7001/7002/g" redis7002.conf

同理在另外2台虚拟机也做同样的操作

2.7 使用Systemd管理Redis服务

直接输入命令:

cat > /etc/systemd/system/redis@.service << EOF
[Unit]
Description=Redis persistent key-value database
After=network.target
[Service]
User=redis
Group=redis
#如果在启动时timeout或者查看状态一直为Activating建议使用默认Type注释掉此参数。如果需要用forking需要配置PIDFile地址 --daemonize yes
Type=notify
ExecStart=/usr/local/bin/redis-server /usr/local/redis-6.2.10/%i/redis%i.conf  --daemonize yes --supervised systemd
ExecStop=/usr/local/bin/redis-cli -p %i shutdown
LimitNOFILE=10240
TimeoutStartSec=90s
TimeoutStopSec=90s
Restart=always
[Install]
WantedBy=multi-user.target
EOF

在这里插入图片描述

6个Redis实例配置完成后启动服务

systemctl start redis@7001.service
systemctl start redis@7002.service

执行后查看服务状态

systemctl status redis@7001.service
systemctl status redis@7002.service
netstat -lnp|grep redis

在这里插入图片描述

以上操作在三台服务器都执行一遍。实例全部启动后 ,在任意服务器上创建redis集群

创建Redis集群

redis-cli --cluster create 192.168.43.200:7001 192.168.200.11:7002 192.168.43.201:7001 192.168.43.201:7002 192.168.43.202:7001 192.168.43.202:7002 --cluster-replicas 1

如果创建失败,检查配置文件和7001,7002目录下的文件权限

查看集群节点

redis-cli -c -h 192.168.200.13 -p 7001 cluster nodes
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值