一点一滴搭建一个分布式的框架学习记录(二)

本文详细介绍Redis的安装步骤及配置方法,包括单机配置、主从复制、哨兵配置与集群搭建等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、安装tcl

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar -xzvf tcl8.6.1-src.tar.gz
cd  /usr/local/tcl8.6.1/unix/
./configure 
make && make install

redis配置文件详解 点击打开链接

2.安装redis

make && make test && make install
(1)redis utils目录下,有个redis_init_script脚本
(2)将redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号
(3)修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)
(4)创建两个目录:/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件)
(5)修改redis配置文件(默认在根目录下,redis.conf),拷贝到/etc/redis目录中,修改名称为6379.conf
(6)修改redis.conf中的部分配置为生产环境
daemonize yes       让redis以daemon进程运行
pidfile  /var/run/redis_6379.pid  设置redis的pid文件位置
port  6379      设置redis的监听端口号
dir   /var/redis/6379    设置持久化文件的存储位置
(7)启动redis,执行cd /etc/init.d, chmod 777 redis_6379,./redis_6379 start
(8)确认redis进程是否启动,ps -ef | grep redis
(9)让redis跟随系统启动自动启动
在redis_6379脚本中,最上面,加入两行注释
# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database
chkconfig redis_6379 on
!!另外一定要关闭防火墙,而且配置bind一定要加上本机ip与127.0.0.1

3.配置主从复制

在slave node上配置:slaveof 192.168.1.1 6379,即可
master上启用安全认证,requirepass
master连接口令,masterauth
bind 127.0.0.1 本机地址

常见问题


info replication 查看主从复制信息

4.配置哨兵

创建存放哨兵配置文件的目录
mkdir /etc/sentinel
mkdir /var/sentinel/5000
复制redis目录下的sentinel.conf文件到/etc/sentinel目录下,并且更改名字为5000.conf,修改内容
bind 本机地址
port 5000
dir /var/sentinal/5000
sentinel monitor mymaster 127.0.0.1 6379 2   (监控的master地址)
sentinel parallel-syncs mymaster 1(控制slave向新节点转移的)
sentinel down-after-milliseconds mymaster 30000 (master失联时间)
sentinel failover-timeout mymaster 180000 (哨兵进行主节点转移超时时间)

上面的参数都需要配置,第一次我以为默认了,结果一直判断sdown.
redis-sentinel /etc/sentinal/5000.conf  (启动哨兵)

redis-cli -h 192.168.31.187 -p 5000 (连接哨兵以后查看各个状态)
sentinel master mymaster
SENTINEL slaves mymaster
SENTINEL sentinels mymaster


5.配置集群

cluster-enabled <yes/no>
cluster-config-file <filename>:这是指定一个文件,供cluster模式下的redis实例将集群状态保存在那里,包括集群中其他机器的信息,比如节点的上线和下限,故障转移,不是我们去维护的,给它指定一个文件,让redis自己去维护的
cluster-node-timeout <milliseconds>:节点存活超时时长,超过一定时长,认为节点宕机,master宕机的话就会触发主备切换,slave宕机就不会提供服务


样例
mkdir -p /etc/redis-cluster
mkdir -p /var/log/redis
mkdir -p /var/redis/7001
port 7001
cluster-enabled yes
cluster-config-file /etc/redis-cluster/node-7001.conf
cluster-node-timeout 15000
daemonize yes       
pidfile  /var/run/redis_7001.pid       
dir   /var/redis/7001  
logfile /var/log/redis/7001.log
bind 192.168.31.187  
appendonly yes

利用ruby脚本语言进行合体

yum install -y ruby
yum install -y rubygems
gem install redis
cp /usr/local/redis-3.2.8/src/redis-trib.rb /usr/local/bin
redis-trib.rb create --replicas 1 192.168.31.187:7001 192.168.31.187:7002 192.168.31.19:7003 192.168.31.19:7004 192.168.31.227:7005 192.168.31.227:7006





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值