Redis安装 Redis主从复制 集群搭建

进入redis 3.0.0
make 进行编译
进入redis 3.0.0的src
make install
#ll //有redis-cli redis-server 即可
建立2个文件夹存放redis命令和配置文件
mkdir -p /usr/local/src/redis/etc
mkdir -p /usr/local/src/redis/bin
将redis 3.0.0的redis.conf移动到etc下
cp redis.conf /usr/local/src/redis/etc
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/src/redis/bin
启动 默认为前台启动
/usr/local/src/redis/bin/redis-server /usr/local/src/redis/etc/redis.conf //默认端口为6379 该为后台启动
ctrl+c 退出
vim  /usr/local/src/redis/etc /redis.conf
参数:
daemonize no //改为yes
tcp-backlog 511 //此参数含义为设置缓存区大小 redis才511
dbfilename dump.rdb  //参数含义:每隔几秒中将redis中的数据刷到硬盘上
将其下面的dir 改为 dir /usr/local/src/redis/etc
保存关闭
在linux中使用shell操作redis
/usr/local/src/redis/bin/redis-cli
redis启动
/usr/local/src/redis/bin/redis-server /usr/local/src/redis/etc/redis.conf
redis 关闭
/usr/local/src/redis/bin/redis-cli shutdown


主从复制 (我们使用3台,实际生产+备份需6台) 主节点可读可写从节只读
主服务器不需要变化 改变从服务器配置
1.清掉 从节点的没用的配置dump.rdb  (无所谓)
cd /usr/local/src/redis/etc/      rm -rf dump.rdb
2.在2个从节点上添加 vim redis.conf 添加
# slaveof <masterip> <masterport>
slaveof 192.168.25.131 6379
3.配置完成后进入 分别启动3个redis
/usr/local/src/redis/bin/redis-server /usr/local/src/redis/etc/redis.conf
4.进入131的cli端
/usr/local/src/redis/bin/redis-cli  
5.输入info 发现 一系列参数如下
# Replication
role:master //主节点
connected_slaves:2
slave0:ip=192.168.25.132,port=6379,state=online,offset=85,lag=1 //在线
slave1:ip=192.168.25.133,port=6379,state=online,offset=85,lag=0
master_repl_offset:85
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:84
6.我们之前删除的dump.rdb文件会自动同步

集群搭建: 正常需要6个虚拟机 我们使用6个实例一台虚拟机
//集群实现了在每个redis实例中储存不同数据
mkdir redis-cluster
mkdir 7001 ~ mkdir 7006
cp redis.conf /usr/local/src/redis-cluster/7001
vim redis.conf //编辑7001下的redis.conf
更的配置:daemonize yes
            改 port 7001 端口改为
            bind 192.168.25.128//绑定虚拟机ip
            改 dir /usr/local/src/redis-cluster/7001/  //将7001实例的持久化文件保存在7001目录下
            cluster-enabled yes
            改 cluster-config-file nodes-7001.conf        //每一个节点都必须知道其他节点的存在,将自己告诉给集群
            cluster-node-timeout 15000            //生效时间15s
            aof配置
复制到7002~7006 更改响应配置
yum install ruby //安装ruby脚本 redis是用ruby脚本启动的
yum install rubygems
gem install redis    //按照redis和ruby的链接
--执行到这里发生报错  解决:
可能失败:解决https://rubygems.global.ssl.fastly.net/gems/redis-3.2.1.gem
gem install -l ./redis-3.2.1.gem
启动:使用同一个redis-server 和不同的配置
/usr/local/src/redis/bin/redis-server /usr/local/src/redis-cluster/7001/redis.conf
netstat -tunpl grep redis //查看是否所有节点都启动 启动则证明配置文件没有问题
进入redis3.0.0 /usr/local/src/redis/redis-3.0.0/src/
./redis-trib.rb create --replicas 1 192.168.25.128:7001 192.168.25.128:7002 192.168.25.128:7003 192.168.25.128:7004 192.168.25.128:7005 192.168.25.128:7006
// 此./redis-trib.rb脚本是使用ruby写的 是用来操作redis集群的 里面有很多配置 create是其中一个
M: 2e64ae2f61230816a5a4f47be275b442923c8188 192.168.25.128:7001
   slots:0-5460 (5461 slots) master
M: ec2dd25d050e29eed8a89ab17e6529739fb1af7d 192.168.25.128:7002
   slots:5461-10922 (5462 slots) master
M: 483e9fd80db5fd85f61f0aa2e885cb7a9aed78cd 192.168.25.128:7003
   slots:10923-16383 (5461 slots) master
S: bdd2477d8567bd9697ba4cdc51b957409029cf6e 192.168.25.128:7004
   replicates 2e64ae2f61230816a5a4f47be275b442923c8188
S: 35254d656a9938e5645227229b5ccaa664dbc5dc 192.168.25.128:7005
   replicates ec2dd25d050e29eed8a89ab17e6529739fb1af7d
S: a50320d37573ca5d17ed565af166559248baeb03 192.168.25.128:7006
   replicates 483e9fd80db5fd85f61f0aa2e885cb7a9aed78cd
Can I set the above configuration? (type 'yes' to accept):
//可以看到里面的槽数 和相关配置 输入yes
进入任意节点查看集群
/usr/local/src/redis/bin/redis-cli -c -h 192.168.25.128 -p 7001 //启动7001节点
cluster nodes    //可以看到主节点有槽数 而从节点没有槽数
set 数据后可以看到set到那个节点上

猜你喜欢

转载自blog.csdn.net/qq_41859067/article/details/82082978