redis安装

$ wget http://download.redis.io/releases/redis-6.0.6.tar.gz
$ tar xzf redis-6.0.6.tar.gz
$ cd redis-6.0.6
$ make

编译时出现问题

请先检查gcc的版本是否低于5,如果是请先升级,可以使用以下命令:

sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash

编译成功后,进入src文件夹,执行make install进行Redis安装

make install PREFIX=/usr/local/redis

为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中

 

创建bin文件

回到刚刚安装目录,找到redis.conf,将其复制移动到 /usr/local/redis/bin 下

cp redis.conf /usr/local/redis/bin/

进入到redis里面的src目录

cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis/bin/

依次查看移动后文件

将redis修改快速启动路经 修改/etc/profile文件

 vim /etc/profile
添加redis_home

export REDIS_HOME=/usr/local/redis
添加启动目录

:$REDIS_HOME/bin

执行redis-server 启动redis

redis-cli

退出redis,再进入etc文件,vim 进入redis.conf

修改配置文件   

cd /usr/local/redis/bin/

vim redis.conf

修改外部访问

在redis5中需要修改配置文件redis.conf允许外部访问。需要修改两处

注释掉下面
​ bind 127.0.0.1

#bind 127.0.0.1

 

protected-mode yes 改成 no

受保护模式关闭  其他机器访问必须关闭受保护模式

2 设置后台启动redis

 daemonize yes 允许redis 在后台运行

./redis-server redis.conf

重启redis

./redis-cli shutdown

./redis-server redis.conf

启动客户端工具

./redis-cli

 搭建主从复制节点

复制代码
./redis-cli shutdown
新建目录
mkdir /usr/local/replica
复制目录
把之前安装的redis单机版中bin目录复制三份,分别叫做:master、slave1、slave2
# cp -r /usr/local/redis/bin /usr/local/replica/master
# cp -r /usr/local/redis/bin /usr/local/replica/slave1
# cp -r /usr/local/redis/bin /usr/local/replica/slave2
修改从的配置文件
修改2个从的redis.conf,指定主节点ip和端口。并修改自身端口号防止和其他redis冲突。
vim /usr/local/replica/slave1/redis.conf
指定主节点ip和端口
replicaof 192.168.93.10 6379
修改自己端口
port 6380


vim /usr/local/replica/slave2/redis.conf
指定主节点ip和端口
replicaof 192.168.93.10 6379
修改自己端口
port 6381
启动三个redis实例
注意:一定要关闭单机的redis,否则端口冲突。
cd /usr/local/replica
vim startup.sh
在文件中添加下面内容
cd /usr/local/replica/master/
./redis-server redis.conf
  cd /usr/local/replica/slave1
./redis-server redis.conf
  cd /usr/local/replica/slave2
./redis-server redis.conf
赋予权限
chmod a+x startup.sh
开启
./startup.sh
查看启动状态
ps aux|grep redis
测试
cd /usr/local/replica/master/
./redis-cli 
在客户端命令行模式下,添加一条数据:
进去slave查看数据是否同步。
cd /usr/local/replica/slave1
./redis-cli -p 6380
复制代码

 

复制代码
哨兵(Sentinel)
新建目录
mkdir /usr/local/sentinel
复制redis
cp -r /usr/local/redis/bin/* /usr/local/sentinel
复制配置文件
从redis解压目录中复制sentinel配置文件
# cd /usr/local/tmp/redis-5.0.5/
# cp sentinel.conf /usr/local/sentinel/
修改配置文件
# cd /usr/local/sentinel
# vim sentinel.conf
port 26379
daemonize yes
logfile “/usr/local/sentinel/26379.log”
sentinel monitor mymaster 192.168.93.10 6379 2
复制sentinel.conf,命名为sentinel-26380.conf
# cp sentinel.conf sentinel-26380.conf
# vim sentinel-26380.conf
port 26380
daemonize yes
logfile “/usr/local/sentinel/26380.log”
sentinel monitor mymaster 192.168.93.10 6379 2
复制sentinel.conf,命名为sentinel-26381.conf
# cp sentinel.conf sentinel-26381.conf
# vim sentinel-26381.conf
port 26381
daemonize yes
logfile “/usr/local/sentinel/26381.log”
sentinel monitor mymaster 192.168.93.10 6379 2
启动主从*
如果已经启动状态,忽略下面命令。如果启动部分,全部kill后重新启动。
使用kill杀死全部redis
ps aux|grep redis
# kill -9 进程号
启动三个哨兵

cd /usr/local/sentinel ./redis-sentinel sentinel.conf ./redis-sentinel sentinel-26380.conf ./redis-sentinel sentinel-26381.conf
查看日志
cat 26379.log

测试宕机
查看redis进程号
ps aux|grep redis
杀死主进程号
kill -9 进程号
查看日志,短暂延迟后会发现,出现新的主。
cat 26379.log

复制代码
复制代码
解决问题redis-cli --cluster fix 192.168.1.136:7001


集群(Cluster) 当集群中超过或等于1
/2节点不可用时,整个集群不可用。为了搭建稳定集群,都采用奇数节点。
复制redis配置文件
从/usr/local/redis/bin下把redis.conf复制到当前目录中,命名为redis-7001.conf
cp /usr/local/redis/bin/redis.conf /usr/local/redis/bin/redis-7001.conf
修改redis-7001.conf
cd /usr/local/redis/bin
vim redis-7001.conf
需要修改如下
port 7001
cluster-enabled yes
cluster-config-file nodes-7001.conf
cluster-node-timeout 15000
# appendonly yes 如果开启aof默认,需要修改为yes。如果使用rdb,此处不需要修改
daemonize yes
protected-mode no
pidfile /var/run/redis_7001.pid
复制配置文件,并修改内容
把redis-7001.conf 复制5份,分别叫做redis-7002.conf、redis-7003.conf、redis-7004.conf、redis-7005.conf、redis-7006.conf 
# cp redis-7001.conf redis-7002.conf
# cp redis-7001.conf redis-7003.conf
# cp redis-7001.conf redis-7004.conf
# cp redis-7001.conf redis-7005.conf
# cp redis-7001.conf redis-7006.conf
     新复制的5个配置文件都需要需改三处。

​	例如nodes-7002.conf中需要把所有7001都换成7002。

​	可以使用 :%s/7001/7002/g 进行全局修改。

port 7002
cluster-config-file nodes-7002.conf
pidfile /var/run/redis_7002.pid

启动6个redis
可以使用redis-server结合6个配置文件进行启动6个实例。

​	执行之前一定要先删除dump.rdb
# rm -f dump.rdb
# vim startup.sh

./redis-server redis-7001.conf
./redis-server redis-7002.conf
./redis-server redis-7003.conf
./redis-server redis-7004.conf
./redis-server redis-7005.conf
./redis-server redis-7006.conf


# chmod a+x startup.sh
# ./startup.sh
查看启动状态
建立集群
在redis3的时候需要借助ruby脚本实现集群。在redis5中可以使用自带的redis-cli实现集群功能,比redis3的时候更加方便了。

​	建议配置静态ip,ip改变集群失效
./redis-cli --cluster create 192.168.93.10:7001 192.168.93.10:7002 192.168.93.10:7003 192.168.93.10:7004 192.168.93.10:7005 192.168.93.10:7006 --cluster-replicas 1
测试
集群测试时,千万不要忘记最后一个-c参数。
# ./redis-cli -p 7001 -c
# set age 18

编写关闭脚本
# vim stop.sh
# chmod a+x stop.sh

./redis-cli -p 7001 shutdown
./redis-cli -p 7002 shutdown
./redis-cli -p 7003 shutdown
./redis-cli -p 7004 shutdown
./redis-cli -p 7005 shutdown
./redis-cli -p 7006 shutdown


复制代码

 

posted @   花心大萝卜li  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示