单机redis安装和集群搭建

目录

  1. 单机redis安装
  2. redis集群搭建

一、单机redis安装

# 切换到root用户
su root
# 进入到/usr/local/目录下
cd /usr/local
# 创建redis目录
mkdir -p redis
# 进入redis目录
cd redis
# 创建redis的安装目录
mkdir -p redis/redis-5.0.3
# 下载redis安装包
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
# 解压redis安装包
tar -zxvf redis-5.0.3.tar.gz
# 进入解压目录
cd redis-5.0.3
# 安装编译器gcc
yum -y install gcc
# 编译redis安装文件
make
# 将编译后redis安装到指定目录
make PREFIX=/usr/local/redis/redis/redis-5.0.3 install
# 进入redis安装目录
cd /usr/local/redis/redis/redis-5.0.3/bin/
# 将配置文件redis.conf拷贝到安装目录
cp /usr/local/redis/redis-5.0.3/redis.cong redis.conf
# 修改配置文件, 将daemonize no修改成daemonize yes,即允许redis后台启动
vi redis.conf

# 启动redis
./redis-server redis.conf
# 启动客户端
./redis-cli --raw -h 127.0.0.1 -p 6379
# 测试redis启动是否正常
set name "孙悟空"
get name
# 退出redis客户端
exit
# 关闭redis服务
./redis-cli -h 127.0.0.1 -p 6379 shutdown

 

二、redis集群搭建

# 进入redis安装目录
cd /usr/local/redis/redis/
# 创建redis-cluster集群安装目录
mkdir -p redis-cluster
# 进入redis-cluster
cd redis-cluster
# 创建redis集群实例安装目录
mkdir -p redis-7001 redis-7002 redis-7003 redis-7004 redis-7005 redis-7006
# 将/usr/local/redis/redis/redis-5.0.3/bin/dump.rdb文件删除, 然后将bin目录及
# 子文件拷贝到redis-7001 redis-7002 redis-7003 redis-7004 redis-7005 redis-7006
cp -r /usr/local/redis/redis/redis-5.0.3/bin/ /usr/local/redis/redis/redis-cluster/redis-7001
cp -r /usr/local/redis/redis/redis-5.0.3/bin/ /usr/local/redis/redis/redis-cluster/redis-7002
cp -r /usr/local/redis/redis/redis-5.0.3/bin/ /usr/local/redis/redis/redis-cluster/redis-7003
cp -r /usr/local/redis/redis/redis-5.0.3/bin/ /usr/local/redis/redis/redis-cluster/redis-7004
cp -r /usr/local/redis/redis/redis-5.0.3/bin/ /usr/local/redis/redis/redis-cluster/redis-7005
cp -r /usr/local/redis/redis/redis-5.0.3/bin/ /usr/local/redis/redis/redis-cluster/redis-7006
# 按照如下格式修改各个服务实例的配置文件
bind 192.168.217.130  # 绑定本机实际ip
port 7001  # 指定端口
pidfile /var/run/redis-7001.pid  # 设置redis实例pid文件
daemonize yes  # 后台启动redis服务实例
cluster-enabled yes  # 启用集群模式
cluster-node-timeout 15000  # 设置当前节点连接超时毫秒数
cluster-config-file nodes-7001.conf  # 设置当前节点集群配置文件路径
# 进入/usr/local/redis/redis/redis-cluster目录
cd /usr/local/redis/redis/redis-cluster
# 创建redis集群启动脚本redis-cluster-start.sh, 内容如下
cd /usr/local/redis/redis/redis-cluster/redis-7001/bin/
./redis-server redis.conf
cd /usr/local/redis/redis/redis-cluster/redis-7002/bin/
./redis-server redis.conf
cd /usr/local/redis/redis/redis-cluster/redis-7003/bin/
./redis-server redis.conf
cd /usr/local/redis/redis/redis-cluster/redis-7004/bin/
./redis-server redis.conf
cd /usr/local/redis/redis/redis-cluster/redis-7005/bin/
./redis-server redis.conf
cd /usr/local/redis/redis/redis-cluster/redis-7006/bin/
./redis-server redis.conf
# 执行启动脚本, 启动redis服务实例
./redis-cluster-start.sh
# 使用客户端连接任一个redis服务实例
./redis-7001/bin/redis-cli -h 192.168.217.130 -p 7001
# 让redis集群进行握手
cluster meet 192.168.217.130 7002
cluster meet 192.168.217.130 7003
cluster meet 192.168.217.130 7004
cluster meet 192.168.217.130 7005
cluster meet 192.168.217.130 7006
# 对7001, 7002, 7003进行分配槽位
./redis-7001/bin/redis-cli -h 192.168.217.130 -p 7001 cluster addslots {0..5461}
./redis-7001/bin/redis-cli -h 192.168.217.130 -p 7002 cluster addslots {5462..10922}
./redis-7001/bin/redis-cli -h 192.168.217.130 -p 7003 cluster addslots {10923..16383}
# 查看各个节点的node-id
./redis-7001/bin/redis-cli -h 192.168.217.130 -p 7001 cluster nodes
# 指定7004, 7005, 7006的主节点
./redis-7001/bin/redis-cli -h 192.168.217.130 -p 7004 cluster replicate 节点1的node-id
./redis-7001/bin/redis-cli -h 192.168.217.130 -p 7005 cluster replicate 节点2的node-id
./redis-7001/bin/redis-cli -h 192.168.217.130 -p 7006 cluster replicate 节点3的node-id
# 连接集群7001节点测试服务是否正常
./redis-7001/bin/redis-cli -h 192.168.217.130 -p 7001 -c
set name "孙悟空"  # 存值
get name  # 取值
# 退出redis客户端
exit
# 创建集群关闭脚本redis-cluster-stop.sh, 内容如下
cd /usr/local/redis/redis/redis-cluster/redis-7001/bin/
./redis-cli -h 192.168.217.130 -p 7001 shutdown
cd /usr/local/redis/redis/redis-cluster/redis-7002/bin/
./redis-cli -h 192.168.217.130 -p 7002 shutdown
cd /usr/local/redis/redis/redis-cluster/redis-7003/bin/
./redis-cli -h 192.168.217.130 -p 7003 shutdown
cd /usr/local/redis/redis/redis-cluster/redis-7004/bin/
./redis-cli -h 192.168.217.130 -p 7004 shutdown
cd /usr/local/redis/redis/redis-cluster/redis-7005/bin/
./redis-cli -h 192.168.217.130 -p 7005 shutdown
cd /usr/local/redis/redis/redis-cluster/redis-7006/bin/
./redis-cli -h 192.168.217.130 -p 7006 shutdown
# 执行关闭脚本, 关闭redis各个服务实例
./redis-cluster-stop.sh

在redis服务实例启动后, 也可以通过如下简洁的命令方式搭建, 如下

# --cluster-replicate 1表示每个master对应一个slave
./redis-cli --cluster create 192.168.217.130:7001 192.168.217.130:7002 192.168.217.130:7003 192.168.217.130:7004 192.168.217.130:7005 192.168.217.130:7006 --cluster-replicas 1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值