Centos7.5 Redis集群安装

安装环境

1.从官方网站下载最新的稳定版本,目前是redis-5.0.3.tar.gz
https://redis.io/download
在这里插入图片描述
2.三台Linux系统服务器:

server.1=10.255.29.29
server.2=10.255.29.30
server.3=10.255.29.31

3.将下载的redis-5.0.3.tar.gz压缩包放在/home/bak/software目录下

配置主服务器

1.解压缩

cd /home/bak/software
tar -zxvf redis-5.0.3.tar.gz
mv redis-5.0.3 /opt/

2.创建软链接

cd /opt
ln -s redis-5.0.3 redis

3.编译

cd redis
make

make报错:

第一种可能:
在这里插入图片描述
redis编译时,需要依赖gcc

解决方案:yum安装gcc依赖

yum install gcc

第二种可能:
在这里插入图片描述
出现这个错误是因为,在构建Redis时,默认情况下编译并链接到libc malloc,但在Linux系统上默认的内存分配器是jemalloc。linux系统之所以选择jemalloc作为默认的内存分配器,是因为jemalloc被证明比libc malloc具有更少的碎片问题。所以,通过设置“MALLOC”环境变量来选择非默认的内存分配器。

make MALLOC=libc

make命令执行完成编译后,会在src目录下生成6个可执行文件,
分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-rdb、redis-sentinel。

4.编译测试

make test 

make test报错,执行命令,查看是否安装tcl

rpm -qa|grep tcl
yum list installed

如果是因为缺少tcl依赖导致的错误,则安装

yum install tcl

再次make test ,保证下载的代码可以在环境中正确执行。

5.启动redis

cd /opt/redis
src/redis-server redis.conf

在这里插入图片描述
6.修改配置文件

在/etc下创建redis目录

mkdir /etc/redis

将 /opt/redis下的redis.conf和sentinel.conf复制到/etc/redis下

修改redis.conf配置文件

vi /etc/redis/redis.conf

修改:
第一点:daemonize yes
在这里插入图片描述
第二点:requirepass “test2019” (密码)
在这里插入图片描述
第三点:bind 0.0.0.0
在这里插入图片描述

配置从服务器

1.将redis复制到两台从服务器的/opt目录下

scp -r /opt/redis-5.0.3 [email protected]:/opt/

2.创建软连接

cd /opt
ln -s redis-5.0.3 redis

3.配置从服务器的redis.conf文件

scp -r /etc/redis/redis.conf  [email protected]:/etc/redis/
vi /etc/redis/redis.conf

requirepass “test2019”
daemonize yes
bind 0.0.0.0
slaveof 10.255.29.29 6379
masterauth “test2019”

最后将10.255.29.30关于redis的内容复制到10.255.29.31

scp -r /opt/redis-5.0.3 [email protected]:/opt/
scp -r /etc/redis/redis.conf  [email protected]:/etc/redis/

配置哨兵

1.主服务器

vim /etc/redis/sentinel.conf

第一点:
daemonized yes
第二点:
sentinel monitor mymaster 10.255.29.29 6379 2
第三点:
sentinel auth-pass mymaster test2019
第四点:
sentinel down-after-milliseconds mymaster 60000
第五点:
sentinel failover-timeout mymaster 180000
第六点:
sentinel parallel-syncs mymaster 1
第七点:
protected-mode no

2.从服务器

将主服务器的sentinel.conf配置文件,复制到两个从服务器

scp -r /etc/redis/sentinel.conf  [email protected]:/etc/redis/
scp -r /etc/redis/sentinel.conf  [email protected]:/etc/redis/

检查redis集群是否配置成功

主服务器向set中添加元素(由于原来的主服务器10.255.29.29出现问题,主服务器变更为10.255.29.30)
在这里插入图片描述
从服务器可以查看新添加的元素
在这里插入图片描述

redis设置服务自启动

添加开机启动服务

vim /etc/systemd/system/redis.service

在该文件内粘贴如下:

[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/opt/redis/src/redis-server /etc/redis/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

设置开机启动
systemctl daemon-reload
systemctl status redis
systemctl stop redis
systemctl start redis

猜你喜欢

转载自blog.csdn.net/weixin_43840640/article/details/88637032