由于一些项目中需要快速的根据id获取该条记录的所有信息,因此需要采用k-v结构的redis数据实现。
1.配置host
vim /etc/hosts
<IP1> master.redis.com master
<IP2> node01.redis.com node01
<IP3> node02.redis.com node02
2.gcc环境配置
gcc版本需要5.3以上,这里配置版本:9
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
gcc -v
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
3.redis安装与编译
- 下载安装包
mkdir /opt/install
cd /opt/install
wget http://download.redis.io/releases/redis-6.0.8.tar.gz
- 在集群的所有节点上解压编译redis
tar -zxvf redis-6.0.8.tar.gz -C /opt
cd /opt/redis-6.0.8
make
4.修改redis配置文件
- 在集群的所有节点上创建redis工作目录
mkdir /etc/redis-cluster
mkdir /etc/redis
mkdir /var/log/redis
mkdir /var/redis/
- 复制redis配置文件
# master机器执行
cd /opt/redis-6.0.8
cp redis.conf /etc/redis/redis_6379.conf
cp redis.conf /etc/redis/redis_6380.conf
mkdir /var/redis/{6379,6380}
# node01机器执行
cd /opt/redis-6.0.8
cp redis.conf /etc/redis/redis_6381.conf
cp redis.conf /etc/redis/redis_6382.conf
mkdir /var/redis/{6381,6382}
# node02机器执行
cd /opt/redis-6.0.8
cp redis.conf /etc/redis/redis_6383.conf
cp redis.conf /etc/redis/redis_6384.conf
mkdir /var/redis/{6383,6384}
- 修改redis配置文件
vim /etc/redis/redis_6379.conf
在3台节点上依次修改每个/etc/redis/redis_{}.conf文件,配置内容如下所示,不同文件的具体参数稍有变化。
port 6379 # 修改redis监听端口
bind 0.0.0.0 # 表示redis允许所有地址连接
daemonize yes # 允许redis后台运行
pidfile /var/run/redis_6379.pid # pid存放目录
logfile "/var/log/redis/6379.log" # Sentinel日志存放路径
dir /var/redis/6379 # 工作目录
cluster-enabled yes # 是否开启集群
# 集群配置文件的名称,每个节点都有一个集群相关的配置文件,持久化保存集群的信息
# 这个文件并不需要手动配置,这个配置文件有Redis生成并更新
cluster-config-file /etc/redis-cluster/nodes-6379.conf
# 节点互连超时的阀值,集群节点超时毫秒数,默认15秒
cluster-node-timeout 15000
# Redis会把每次写入的数据在接收后都写入 appendonly.aof 文件,
# 每次启动时Redis都会先把这个文件的数据读入内存里,先忽略RDB文件
appendonly yes
appendfsync everysec # 持久化频率
5.启动redis
- 在所有节点设置软链接
ln -s /opt/redis-6.0.8/src/redis-server /usr/bin/redis-server
ln -s /opt/redis-6.0.8/src/redis-cli /usr/bin/redis-cli
- 启动Redis
# master机器
redis-server /etc/redis/redis_6379.conf
redis-server /etc/redis/redis_6380.conf
# node01机器
redis-server /etc/redis/redis_6381.conf
redis-server /etc/redis/redis_6382.conf
# node02机器
redis-server /etc/redis/redis_6383.conf
redis-server /etc/redis/redis_6384.conf
- 验证是否成功
# 查看版本
redis-cli --version
redis-server --version
6.创建集群
创建顺序三主-三从,即主-主-主-从-从-从,–cluster-replicas 1指定从库数量1
redis-cli --cluster create <ip1>:6379 <ip2>:6381 <ip3>:6383 <ip1>:6380 <ip2>:6382 <ip3>:6384
--cluster-replicas 1
登录集群验证
redis-cli -h <ip1> -p 6379 -c