一、序言
老规矩先来个序言,给大家来说一下这篇文章要做些什么,这篇文章主要是实现Redis集群配置,我是用的Ubuntu16.0,感觉很有趣,来实现一下吧。需要准备的东西:
1、ruby及其环境
2、redis环境
二、实现步骤
1、安装redis,这个很简单,没什么难度,也不用自动添加系统服务,自动添加了
在线安装redis : wget http://download.redis.io/releases/redis-3.0.1.tar.gz
开启redis服务: ./redis-server
关闭redis服务 :redis-cli shutdown
卸载redis:rm -f /usr/local/bin/redis*
开启客户端:./redis-cli
2、开始配置
(1)进入到/usr/local目录下面
cd /usr/lcoal
(2)创建redis实例统一存放的文件夹,在/usr/local/路径下面创建cluster文件夹 mkdir cluster
(3)进入到新建的文件夹cluster下面为每个实例创建一个文件夹分别是8001 、8002、 8003、 8004、 8005、 8006
创建文件夹的命令 sudo mkdir 8001 8002 8003 8004 8005 8006
(4)查找自己服务器安装的redis的bin文件,并将其分别复制到新建的六个文件夹下面
如果不知道自己的redis的安装目录在哪里,可以执行这个命令来查找到bin 执行该命令查找路径Whereis redis-server
进入到安装包的解压包同一级,即bin的同级目录进行拷贝
上面只是拷贝到了8001下面,还有其他五个目录需要拷贝
上面的800只是意外,不要在意,直接忽略即可
(5)拷贝redis的配置文件redis.conf到/usr/local/cluster下面
如果找不到redis.conf文件,可以执行该命令查找sudo find / -name "redis.conf"
进行拷贝 执行cp命令到指定文件夹下面,并且进入到该文件夹下面
(6)编译拷贝过来的redis.conf文件
屏蔽限制本地访问,在bind 127.0.0.1之前加# 这一行在60行左右
protected-mode后的yes改为no 我的配置文件中没有这一行,我直接在最后一行添加了,事实证明不能添加,如果有的话直接修改即可
daemonize后的no改为yes 大概在39行
去掉cluster-enabled yes前面的# 大概在632行
去掉cluster-node-timeout 15000 大概在646行
该端口号 需要修改6次,分别对应800*文件夹名称 在45行左右
(7)将修改后的文件拷贝到分贝对应的800*文件夹下面
结果图
(8)开启六个实例(我在root下面开启的好像可以开启,其他用户下面没有打开)
六个都要打开,上面显示打开了7个,因为有一个是默认的3679
(9)进入到redis解压包下面的src下面,一般和redis.conf实在同一目录下面,你懂的,直接find搜索一下就可以了
执行以下命令
./redis-trib.rb create --replicas 1 127.0.0.1:8001 127.0.0.1:8002 127.0.0.1:8003 127.0.0.1:8004 127.0.0.1:8005 127.0.0.1:8006
在执行过程中会让你输入yes,直接输入就ok了
(10)如果你的报错了,可能是因为没有安装ruby,我的因为之前测试过,所以没有报错,没关第一次,我来叫你安装ruby相关
1)ruby的环境,执行命令:yum install ruby
2)rubygems组件,执行命令:yum install rubygems
3)redis和ruby的接口,执行命令:gem install redis
(11)如果安装完成,重新执行第8步
配置完成的结果图
3、测试
先进入到其中一个实例下面,打开对应的redis-cli
从图中我们可以看到由8001 变成了8002的环境
到此为止,redis集群已经配置完成
三、总结
到目前为止已经基本实现了redis集群的配置,这是我配置的第二次,第一次失败了,没想到这次居然成功了,第一次虽然失败了,但是原理大概都明白了,所以这次配置很成功,希望你小伙伴可以配置成功。
redis集群是分布式缓存的一种,我们下次再讲解redis集群的原理,谢谢