redis安装配置

1、下载链接 redis官网.

// 下载redis-5.0.5.tar.gz ,上传到centos7
//解压
tar -zxvf redis-5.0.5.tar.gz
cd redis-5.0.5
//需要先安装依赖
yum install gcc-c++
//安装编译
make && make install
//配置
cd redis-5.0.5/utils
cp redis_init_script /etc/init.d
//回到redis-5.0.5目录
mkdir /usr/local/redis -p
cp redis.conf /usr/local/redis
cd /usr/local/redis
vim redis.conf
//搜索daemonize(是否后台运行),修改为yes
//搜索dir ,修改目录为/usr/local/redis/working
cd /usr/local/redis
mkdir working
//搜索bind,修改为0.0.0.0
//搜索requirepass ,放开注释,修改密码如wshop
cd /etc/init.d
vim redis_init_script
//修改CONF
CONF="/usr/local/redis/redis.conf"
//esc + :wq 保存修改,添加执行权限
chmod + x redis_init_script
//启动redis
./redis_init_script start
//查看启动状态 ps -ef| grep reids
[root@localhost /]# ps -ef | grep redis
root        902      1  0 Jun06 ?        00:00:58 /usr/local/bin/redis-server 0.0.0.0:6379
root      26666  25404  0 04:27 pts/0    00:00:00 grep --color=auto redis
[root@localhost /]#
//添加到开机自启动
cd /etc/init.d
vim redis_init_script
//添加如下两行,端口上方即可
#chkconfig: 22345 10 90
#description: Start and Stop redis
//保存 esc + :wq
//设置开机自启
chkconfig redis_init_script on
//防火墙设置(开启端口6379)
firewall-cmd --add-port=6379/tcp --permanent

2、redis 主从配置,使用一个master(主节点145)三个slaves(从节点 157、159、160),主节点配置不需要改,进入三个从节点,修改配置文件

// 修改redis配置文件,
cd /usr/local/redis
vim redis.conf
//搜索replicaof,设置主节点ip和端口
replicaof 192.168.106.145 6379
//搜索masterauth,配置主节点权限密码
masterauth wshop
//重启redis
/etc/init.d/redis_init_script stop
/etc/init.d/redis_init_script start
//配置成功,可以通过以下命令查看,进入redis-cli
redis-cli
auth wshop
info replication
//结果如下
127.0.0.1:6379> info replication
# Replication
role:slave
master_host:192.168.106.145
master_port:6379
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:84
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:d359d1eebb8728bf6fdc7c9026722c43b2b7a1ab
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:84
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:84
127.0.0.1:6379>

//主节点显示信息如下
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.106.157,port=6379,state=online,offset=280,lag=0
master_replid:d359d1eebb8728bf6fdc7c9026722c43b2b7a1ab
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:280
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:280
127.0.0.1:6379>

3、第二步中主从数据同步基于磁盘化复制,从节点第一次配置启动后,会发送ping码给主节点,主节点会将持久化数据文件传送给从节点,从节点从磁盘加载到内存,之后的每一次写操作,主节点都会将每次要写入的数据同步写入从节点,从节点宕机重启后,主节点会发送从节点宕机后的增量数据给从节点,从而保持数据一致

以上是磁盘数据同步,数据同步的另一种方式,无磁盘化复制(官方不建议使用,使用场景:机械磁盘低io,网络吞吐量良好,),配置如下:

// 进入主节点redis配置文件
cd /usr/local/redis
vim redis.conf
//搜索 diskless,修改repl-diskless-sync,设置等待从节点准备就绪时间
repl-diskless-sync yes
repl-diskless-sync-delay 5

4、哨兵模式(一主二从实现读写分离,解决了处理大量读请求的情况,但主节点由于设备故障宕机,则新的数据无法写入缓存,于是开启哨兵模式,监测到主节点宕机后,子节点提升为主节点,原先的主节点恢复后,作为子节点加入,子节点变为主节点后,随即配置文件中replicaof 192.168.106.145 6379 行被删除,其余存活子节点配置为replicaof 192.168.106.160 6379 现有主节点IP PORT )
Sentinel(哨兵)集群配置

// 从安装目录拷贝哨兵配置文件sentinel.conf到 /usr/local/redis
[root@localhost redis-5.0.5]# cp sentinel.conf /usr/local/redis
[root@localhost redis-5.0.5]# cd /usr/local/redis
[root@localhost redis]# mkdir -p /usr/local/redis/sentinel
[root@localhost redis]# vim sentinel.conf
//修改如下配置
protected-mode no //放开此行注释
daemonize yes //修改为后台运行哨兵模式
logfile /usr/local/redis/sentinel/redis-sentinel.log //修改日志文件配置
dir /usr/local/redis/sentinel //设置工作空间目录
sentinel monitor mymaster 192.168.106.145 6379 2 //修改主节点IP端口配置
sentinel auth-pass mymaster wshop //修改主节点密码配置
sentinel down-after-milliseconds mymaster 10000 //设置主节点宕机时长10s 后,哨兵认为naster失效

注:
sentinel parallel-syncs mymaster 1 //哨兵节点成为master节点后,并行同步给子节点的个数
sentinel failover-timeout mymaster 180000 //哨兵节点准备切换为master节点的超时时间,超时后由其他哨兵节点处理
// 配置完成后,拷贝配置文件到所有redis节点(145、157、159、160)
[root@localhost redis]# scp sentinel.conf root@192.168.106.145:/usr/local/redis
[root@localhost redis]# scp sentinel.conf root@192.168.106.157:/usr/local/redis
[root@localhost redis]# scp sentinel.conf root@192.168.106.159:/usr/local/redis
[root@localhost redis]# scp sentinel.conf root@192.168.106.160:/usr/local/redis
//启动哨兵
[root@localhost redis-5.0.5]# cd /usr/local/redis
[root@localhost redis]# redis-sentinel sentinel.conf
//查看是否启动成功 ps -ef | grep redis ,redis-sentinel *:26379 说明启动成功
[root@localhost redis]# ps -ef | grep redis
root       4127      1  0 22:10 ?        00:00:09 /usr/local/bin/redis-server 0.0.0.0:6379
root       5482      1  0 23:39 ?        00:00:00 redis-sentinel *:26379 [sentinel]
root       5487   5412  0 23:39 pts/1    00:00:00 grep --color=auto redis
[root@localhost redis]# 

//查看启动日志
[root@localhost redis]# cd /usr/local/redis/sentinel
[root@localhost redis]# tail -f redis-sentinel.7.log

//查看主节点信息,如master IP PORT
[root@localhost redis]# redis-cli -p 26379
127.0.0.126379> sentinel master mymaster 
//查看哨兵相关信息
127.0.0.126379> sentinel slaves mymaster 
//查看哨兵相关信息
127.0.0.126379> sentinel sentinels mymaster 

5、redis集群配置(三主三从)
使用6台虚拟机

// 6台虚拟机均操作以下步骤
// 修改redis配置文件
[root@localhost redis]# cd /usr/local/redis
[root@localhost redis]# vim redis.conf
//搜索 cluster
cluster-enabled yes // 放开改行注释
cluster-config-file nodes-6379.conf // 放开改行注释,该文件由redis负责维护,不需要修改
cluster-node-timeout 5000 // 修改时长为5000,超出该时长,会认为master挂掉,进行主备切换

//搜索 annendonly
annendonly yes //保持开启

//进入工作空间,删除持久化文件,否则启动集群可能报错
[root@localhost redis]# cd /usr/local/redis/working
[root@localhost redis]# rm -f dump.rdb
[root@localhost redis]# rm -f appendonly.aof

//重新启动redis
[root@localhost redis]# /etc/init.d/redis_init_script stop
[root@localhost redis]# /etc/init.d/redis_init_script start
[root@localhost redis]# ps -ef | grep redis
//结果如下,集群启动成功
[root@localhost redis]# ps -ef | grep redis
root       6325      1  0 00:23 ?        00:00:13 /usr/local/bin/redis-server 0.0.0.0:6379 [cluster]
root       8120   5112  0 02:43 pts/1    00:00:00 grep --color=auto redis
[root@localhost redis]# 

六台虚拟机配置完成后,接着构建集群(数据存放在master上的slots-槽节点中,slave上没有slot节点)

// 使用 redis-cli --cluster 构建集群 -a 为redis密码
[root@localhost redis]# redis-cli -a wshop --cluster create 192.168.106.145:6379 192.168.106.15:6379 192.168.106.159:6379 192.168.106.160:6379 192.168.106.161:6379 192.168.106.162:6379

// 查看某个节点信息
[root@localhost redis]# redis-cli -a wshop --cluster check 192.168.106.145:6379

// 进入集群客户端
[root@localhost redis]# redis-cli -c -a wshop -h 192.168.106.145 -p 6379

//查看节点信息
192.168.106.145:6379> cluster nodes
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值