Redis5.0.7的部署与集群搭建

Redis5.0.7的部署与集群搭建

一、单机版部署

第一步:下载最新稳定版

wget http://download.redis.io/releases/redis-5.0.7.tar.gz

第二步:解压

tar -zxvf redis-5.0.7.tar.gz

第三步:进入解压后文件夹并编译

$ cd redis-5.0.7
$ make

第四步:运行

$ src/redis-server

此时不是后台运行,需要另起一窗口,打开客户端进行测试:

[root@host-192-168-54-16 redis-5.0.7]# src/redis-cli 
127.0.0.1:6379> set foo hao
OK
127.0.0.1:6379> get foo
"hao"

此时单机版的已经构建完毕。接下来就是搭建集群。

二、集群版搭建

我有三台服务器

192.168.54.16,192.168.54.17,192.168.54.18

第一步:创建redis_cluster文件夹,在里面创建7000,8000文件夹

三台机器都做这个操作

mkdir redis_cluster
cd redis_cluster
mkdir 7000 8000
第二步:将redis.conf赋值进刚才创建的文件夹

三台机器都做这个操作

cp redis.conf redis_cluster/7000
cp redis.conf redis_cluster/8000
第三步:修改配置文件

6个节点里的配置文件:

redis集群配置
port  7000                                        //端口7000,7002,7003        
bind 本机ip                                       //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize    yes                               //redis后台运行
pidfile  /var/run/redis_7000.pid          //pidfile文件对应7000,7001,7002
cluster-enabled  yes                           //开启集群  把注释#去掉
cluster-config-file  nodes_7000.conf   //集群的配置  配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout  15000                //请求超时  默认15秒,可自行设置
appendonly  yes                           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志(建议开发时开启) 

第四步:分别启动节点(三台机器、六个节点):
src/redis-server redis_cluster/7000/redis.conf
src/redis-server redis_cluster/8000/redis.conf
第五步:检查状态
ps -ef | grep redis
root     18923     1  0 15:00 ?        00:00:00 src/redis-server 192.168.54.16:7000 [cluster]
root     18928     1  0 15:00 ?        00:00:00 src/redis-server 192.168.54.16:8000 [cluster]

后面有[cluster]则是正常

第六步:创建集群
src/redis-trib.rb  create  --replicas  1  192.168.54.16:7000 192.168.54.16:8000 192.168.54.17:7000 192.168.54.17:8000 192.168.54.18:7000 192.168.54.18:8000

此时有了一个报错:(若是没有报错,直接去第八步)

/usr/bin/env: ruby: No such file or directory
第七步:解决异常(安装ruby)

这个报错异常明显是ruby未安装,此时我们安装上ruby应该就可以了。

yum -y install ruby ruby-devel rubygems rpm-build
gem install redis

继续报错:

ERROR:  Error installing redis:
	redis requires Ruby version >= 2.3.0.

问题分析:ruby版本过低

检查版本:

ruby -v
ruby 2.0.0p648 (2015-12-16) [x86_64-linux]

解决措施:升级ruby。考虑到CentOS库里版本最高只有2.0.

所以从红宝石官网下载。

# 我这个是新服务器,所以首先下载curl,有的服务器可能不需要下载了
yum -y install curl
# 安装rvm:
# 从红宝石官网下载RVM:http://rvm.io/rvm/install
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
# 检查一哈
curl -L https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
# 生效
source /usr/local/rvm/scripts/rvm
# RVM库中已知的红宝石版本
rvm list known
# 结果
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.8]
[ruby-]2.4[.6]
[ruby-]2.5[.5]
[ruby-]2.6[.3]
[ruby-]2.7[.0-preview1]
# 选择最近稳定版2.6.3
rvm install 2.6.3
# 使用2.6.3版本
rvm use 2.6.3
# 添加默认(有强迫症的人可以将2.0的卸载掉:rvm remove 2.0.0)
rvm use 2.6.3 --default
# 检查版本
ruby --v
第八步:继续创建集群
[root@host-192-168-54-16 redis-5.0.7]# gem install redis
Fetching redis-4.1.3.gem
Successfully installed redis-4.1.3
Parsing documentation for redis-4.1.3
Installing ri documentation for redis-4.1.3
Done installing documentation for redis after 1 seconds
1 gem installed
# 继续执行redis-trib.rb命令
src/redis-trib.rb  create  --replicas  1  192.168.54.16:7000 192.168.54.16:8000 192.168.54.17:7000 192.168.54.17:8000 192.168.54.18:7000 192.168.54.18:8000
# 提示redis5.0.7版本已经舍弃redis-trib.rb,再次使用redis-cli命令创建
redis-cli --cluster create 192.168.54.16:7000 192.168.54.16:8000 192.168.54.17:7000 192.168.54.17:8000 192.168.54.18:7000 192.168.54.18:8000 --cluster-replicas 1

接下来Can I set the above configuration? (type ‘yes’ to accept):

输入yes

第九步:结果

在这里插入图片描述

第十步:验证

进入随便一台服务器,启动任意一节点:

# 加参数 -C 可连接到集群,因为上面 redis.conf 将 bind 改为了ip地址,所以 -h 参数不可以省略。
src/redis-cli -h 192.168.54.16 -c -p 7000

执行结果是:

192.168.54.16:7000> set name haosc
-> Redirected to slot [5798] located at 192.168.54.17:7000
OK
192.168.54.17:7000> get name
"haosc"

可以看到存储值的时候,节点发生了变化。这正是因为集群的原因。接下来如果还有时间就详细说集群的特点与优势。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值