之前的Linux服务器环境都是用Docker搭建,但是Redis集群搭建使用Docker有些麻烦复杂,不熟悉Docker镜像,网络映射,配置文件映射的朋友可能有点难度,所以下面采用直接暴力的安装搭建方式安装。废话不多说了,开始搭建过程。
使用Ruby脚本搭建集群。
1、本次搭建采用的是Redis 4.0.0版本,该版本自带rb脚本。官网下载命令
wget -P /root http://download.redis.io/releases/redis-4.0.0.tar.gz
# -P /root 指的是下载到root目录下
2、需要ruby的运行环境。
yum install ruby
yum install rubygems
ruby -v
#查看ruby版本
gem 4.0.0的安装需要的 ruby 版本: >= 2.2.2
由于我使用的CentOS7 yum自动安装的ruby版本低于2.2.2,所以需要另外更新版本。
-----------------------------------------------------------------更新ruby版本-----------------------------------------------------------------------
我的更新方式使用RVM更新ruby
–recv-keys 后面的两串代码 可以在https://rvm.io/官网首页的Install GPG keys复制
第一步:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
第二步:上面代码运行完成后,输入:
\curl -sSL https://get.rvm.io | bash -s stable
第三步:安装RVM
source /etc/profile.d/rvm.sh
第四步:为了更新速度,换国内下载源
vim /usr/local/rvm/user/db
添上一行:ruby_url=https://cache.ruby-china.org/pub/ruby
然后按ESC :wq 保存退出
第五步:更新ruby
rvm list known
#查看版本号列表
rvm install 2.4.5
#选择安装版本安装
等待安装结束查看版本号
ruby -v
3、redis-gem-4.0.0 下载地址:https://rubygems.org/gems/redis/versions/4.0.0
4、安装gcc环境,C语言环境,因为redis是C语言编写的。
yum -y install gcc-c++
安装redis-gem-4.0.0
gem install redis -v 4.0.0
安装一份redis
解压redis-4.0.0.tar.gz
tar -xvf redis-4.0.0.tar.gz
cd redis-4.0.0/
make install PREFIX=/usr/local/redis-cluster/redis01
#编译安装到指定位置
cp redis.conf /usr/local/redis-cluster/redis01/bin
#复制一份redis.conf配置文件到该目录
cd /usr/local/redis-cluster/redis01/bin
#进入该目录
ls
rm dump.db
#如果有dump.db请先删除掉
vim redis.conf
#修改配置文件
修改以下四处配置项,前面有#的去掉#号
daemonize yes
port 7001
bind 0.0.0.0
cluster-enabled yes
然后ESC :wq 保存退出
cd /usr/local/redis-cluster/
cp redis01 redis02
cp redis01 redis03
cp redis01 redis04
cp redis01 redis05
cp redis01 redis06
#复制5份 一共6份
vim redis02/bin/redis.conf
vim redis03/bin/redis.conf
vim redis04/bin/redis.conf
vim redis05/bin/redis.conf
vim redis06/bin/redis.conf
#将port项 由7001 依次改为7002 7003 7004 7005 7006 保存退出
vim start.sh
#新建一个启动这6个redis的命令脚本
#输入
cd /usr/local/redis-cluster/redis01/bin
./redis-server redis.conf
cd /usr/local/redis-cluster/redis02/bin
./redis-server redis.conf
cd /usr/local/redis-cluster/redis03/bin
./redis-server redis.conf
cd /usr/local/redis-cluster/redis04/bin
./redis-server redis.conf
cd /usr/local/redis-cluster/redis05/bin
./redis-server redis.conf
cd /usr/local/redis-cluster/redis06/bin
./redis-server redis.conf
#保存退出
#修改执行权限
chmod u+x start.sh
#运行启动
start.sh
cd /root/redis-4.0.0/src
#进入之前的编译包中,将rb脚本复制过来
cp redis-trib.rb /usr/local/redis-cluster/ -r
cd /usr/local/redis-cluster/
#执行下面的命令 将192.168.31.99换成你的虚拟机ip地址即可,replicas后面的1 代表的从机数量为1对1 即将6个redis 分成3对 1主 1从
./redis-trib.rb create --replicas 1 192.168.31.99:7001 192.168.31.99:7002 192.168.31.99:7003 192.168.31.99:7004 192.168.31.99:7005 192.168.31.99:7006
输入yes完成安装
redis01 02 03为redis集群主机
redis04 05 06分别为01 02 03的从机。
测试使用
redis01/bin/redis-cli -p 7002 -c
# -c 是启动集群版必须的
测试成功
图中[12706]是脚本执行中分配的hash槽,值为0-16384,每个槽对应一个redis,比如12706对应端口为7003的redis,每次操作会随机根据hash存储到不同的redis。
至此,VM上的Redis伪分布式环境就搭建成功了。