CentOS7安装Redis6.2.6
一、单节点安装
1.1 安装依赖包
yum install gcc-c++ gcc cpp binutils glibc glibc-kernheaders glibc-common glibc-devel make devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils ntpdate wget -y
1.2 更新时间
ntpdate time1.aliyun.com && hwclock -w
1.3 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state #not running,即为关闭成功
1.4 关闭selinux
每个机器执行
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
getenforce #Disabled,即为关闭成功
1.5 准备目录
mkdir -p /software/redis/{
logs,etc,scripts,data} /opt/software/redis
1.6 调整参数
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
echo "net.core.somaxconn= 1024" >> /etc/sysctl.conf
sysctl -p
1.7 执行安装
#下载安装源码
wget -P /opt/software/redis https://download.redis.io/releases/redis-6.2.6.tar.gz
tar -zxvf /opt/software/redis/redis-6.2.6.tar.gz -C /opt/software/redis/
cd /opt/software/redis/redis-6.2.6 && make PREFIX=/software/redis install && cd
#复制默认的redis配置文件
cp /opt/software/redis/redis-6.2.6/redis.conf /software/redis/etc/
1.8调整配置
调整通用配置:
sed -i "s/bind 127.0.0.1 -::1/bind 0.0.0.0/g" /software/redis/etc/redis.conf
sed -i "s/tcp-backlog 511/tcp-backlog 1024/g" /software/redis/etc/redis.conf
sed -i "s/daemonize no/daemonize yes/g" /software/redis/etc/redis.conf
sed -i "s/protected-mode yes/protected-mode no/g" /software/redis/etc/redis.conf
sed -i "s/pidfile/#pidfile/g" /software/redis/etc/redis.conf
sed -i "s/dbfilename dump.rdb/#dbfilename dump.rdb/g" /software/redis/etc/redis.conf
sed -i "s/appendfilename/#appendfilename/g" /software/redis/etc/redis.conf
sed -i "s/logfile/#logfile/g" /software/redis/etc/redis.conf
sed -i "s/appendonly no/appendonly yes/g" /software/redis/etc/redis.conf
sed -i "s/dir /#dir /g" /software/redis/etc/redis.conf
增加定制化配置:
cat > /software/redis/etc/redis6379.conf <<EOF
include /software/redis/etc/redis.conf
pidfile /var/run/redis_6379.pid
dir /software/redis/data
dbfilename dump_6379.rdb
appendfilename "appendonly6379.aof"
logfile "/software/redis/logs/redis6379.log"
EOF
1.9编写启停脚本
cat >/software/redis/scripts/start.sh << EOF
#!/bin/sh
/software/redis/bin/redis-server /software/redis/etc/redis6379.conf
EOF
cat >/software/redis/scripts/stop.sh << EOF
#!/bin/sh
/software/redis/bin/redis-cli -p 6379 shutdown
EOF
cat >/software/redis/scripts/restart.sh << EOF
#!/bin/sh
systemctl stop redis
systemctl start redis
EOF
chmod 777 /software/redis/scripts/*
1.10添加到系统服务
cat > /usr/lib/systemd/system/redis.service << EOF
[Unit]
Description=redis
After=network.target
[Service]
Type=forking
ExecStart=/software/redis/scripts/start.sh
ExecStop=/software/redis/scripts/stop.sh
ExecReload=/software/redis/scripts/restart.sh
[Install]
WantedBy=multi-user.target
EOF
chmod 777 /usr/lib/systemd/system/redis.service
1.11启动停止操作
[root@topnet140 etc]# systemctl start redis
[root@topnet140 etc]# systemctl status redis
● redis.service - redis
Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled)
Active: active (running) since 一 2021-12-27 16:03:51 CST; 23s ago
Process: 15390 ExecStart=/software/redis/scripts/start.sh (code=exited, status=0/SUCCESS)
Main PID: 15392 (redis-server)
CGroup: /system.slice/redis.service
└─15392 /software/redis/bin/redis-server 0.0.0.0:6379
#停止redis
systemctl stop redis
#开机启动redis
systemctl enable redis
1.12 连接测试
[root@topnet140 etc]# /software/redis/bin/redis-cli -p 6379
127.0.0.1:6379> set company topnet
OK
127.0.0.1:6379> get company
"topnet"
127.0.0.1:6379>
1.13 卸载删除
systemctl disable redis
systemctl stop redis
rm -rvf /usr/lib/systemd/system/redis.service
systemctl daemon-reload
rm -rvf /software/redis/
rm -rvf /opt/software/redis/
########调整配置########
vim /etc/rc.local
#删除
echo never > /sys/kernel/mm/transparent_hugepage/enabled
vim /etc/sysctl.conf
#删除以下内容
vm.overcommit_memory = 1
net.core.somaxconn= 1024
二、主从模式
2.1 安装规划
序号 | 主机名 | ip地址 | 软件版本 | 说明 |
---|---|---|---|---|
1 | topnet138 | 192.168.65.138 | redis6.2.6 | 主 |
2 | topnet139 | 192.168.65.139 | redis6.2.6 | 备 |
安装规划项 | 安装规划项值 | 备注 |
---|---|---|
redis安装文件保存目录 | /opt/software/redis | |
redis编译目录 | /opt/software/redis/redis6.2.6 | |
redis配置文件目录 | /software/redis/etc | |
redis安装目录 | /software/redis | |
redis脚本目录 | /software/redis/scripts | |
redis日志目录 | /software/redis/logs | |
redis持久化文件 | /software/redis/data |
2.2 安装依赖
所有节点执行
yum install gcc-c++ gcc cpp binutils glibc glibc-kernheaders glibc-common glibc-devel make devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils ntpdate wget -y
2.3准备环境
ntpdate time1.aliyun.com && hwclock -w
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state #not running,即为关闭成功
#关闭selinux
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
getenforce #Disabled,即为关闭成功
#准备目录
mkdir -p /software/redis/{
logs,etc,scripts,data} /opt/software/redis
#调整参数
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
echo "net.core.somaxconn= 1024" >> /etc/sysctl.conf
sysctl -p
2.4 执行安装
所有节点执行
#下载安装源码
wget -P /opt/software/redis https://download.redis.io/releases/redis-6.2.6.tar.gz
tar -zxvf /opt/software/redis/redis-6.2.6.tar.gz -C /opt/software/redis/
cd /opt/software/redis/redis-6.2.6 && make