192.168.110.138:6001
192.168.110.138:6002
192.168.110.138:6003
192.168.110.138:6004
192.168.110.138:6005
192.168.110.138:6006
yum install gcc-c++ wget vim
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
tar -zxvf redis-3.0.0.tar.gz
mv redis-3.0.0 /usr/local/src
cd /usr/local/src/
mkdir redis
cd /usr/local/src/redis-3.0.0/
./configure --prefix=/usr/local/src/redis
make && make install
mkdir -p /usr/local/src/cluster
cd /usr/local/src/cluster
mkdir 6001
mkdir 6002
mkdir 6003
mkdir 6004
mkdir 6005
mkdir 6006
cp /usr/local/src/redis/redis.conf /usr/local/src/cluster
cd /usr/local/src/cluster
vim redis.conf
修改配置文件中的下面选项
port 6001
daemonize yes
cluster-enabled yes ##去掉命令前注释
cluster-config-file nodes.conf ##去掉命令前注释
cluster-node-timeout 5000 ##去掉命令前注释
appendonly yes
修改 完 redis.conf 配 置 文 件 中 的 这 些 配置 项 之 后 把这 个 配 置文 件 分别 拷 贝 到6001/6002/6003/6004/6005/6006目录下面
cp /usr/local/src/cluster/redis.conf /usr/local/src/cluster/6001
cp /usr/local/src/cluster/redis.conf /usr/local/src/cluster/6002
cp /usr/local/src/cluster/redis.conf /usr/local/src/cluster/6003
cp /usr/local/src/cluster/redis.conf /usr/local/src/cluster/6004
cp /usr/local/src/cluster/redis.conf /usr/local/src/cluster/6005
cp /usr/local/src/cluster/redis.conf /usr/local/src/cluster/6006
注意:拷贝完成之后要修改 6001/6002/6003/6004/6005/6006 目录下面 redis.conf 文件中的 port参数,分别改为对应的文件夹的名称
cd /usr/local/src/cluster/6001
redis-server redis.conf
cd /usr/local/src/cluster/6002
redis-server redis.conf
cd /usr/local/src/cluster/6003
redis-server redis.conf
cd /usr/local/src/cluster/6004
redis-server redis.conf
cd /usr/local/src/cluster/6005
redis-server redis.conf
cd /usr/local/src/cluster/6006
redis-server redis.conf
启动之后使用命令查看 redis 的启动情况 ps -ef|grep redis
如下图显示则说明启动成功
6.1、安装ruby环境
yum install curl
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E37D2BAF1CF37B13E2069D6956105BD0E739499BDB
\curl -sSL https://get.rvm.io | bash -s stable
find / -name rvm.sh
source /etc/profile.d/rvm.sh
rvm requirements
rvm list known
yum install rubygems
gem sources –remove https://rubygems.org/
gem sources --add https://gems.ruby-china.com/
gem sources -l
*** CURRENT SOURCES *** https://gems.ruby-china.com
gem install rails
sed -i -E 's!https?://cache.ruby-lang.org/pub/ruby!https://ruby.taobao.org/mirrors/ruby!' /usr/local/rvm/config/db
rvm install ruby-2.4.1
(There was an error while trying to resolve rubygems version for 'latest'.Halting the installation.可忽略此报错)
使用ruby -v可查看所装版本是否正确
rvm use 2.4.1 default
gem install redis
6.2、创建redis集群
cd /usr/local/src/redis/src
./redis-trib.rb create --replicas 1 192.168.110.138:6001 192.168.110.138:6002 192.168.110.138:6003 192.168.110.138:6004 192.168.110.138:6005 192.168.110.138:6006
输入yes完成配置
出现下图表示redis集群搭建成功^_^
redis-cli -c -p 6001
127.0.0.1:6001>
cd/usr/local/src/cluster
mkdir 6007
cp /usr/local/src/cluster/redis.conf /usr/local/src/cluster/6007/
vim redis.conf
修改 redis.conf 中的 port 参数的值为 7006
redis-server redis.conf
cd /usr/local/src/redis/src
./redis-trib.rb add-node 192.168.110.138:6007 192.168.110.138:6001
4.1、把这个节点变成主节点,使用 redis-trib 程序,将集群中的某些哈希槽移动到新节点里面,这个新节点就成为真正的主节点了。
执行下面的命令对集群中的哈希槽进行移动
cd /usr/local/src/redis/src
./redis-trib.rb reshard 192.168.110.138:6001
系统会提示我们要移动多少哈希槽,这里移动 1000 个
然后还需要指定把这些哈希槽转移到哪个节点上,输入我们刚才新增的节点的 ID,然后需要我们指定转移哪几个几点的哈希槽,输入 all 表示从所有的主节点中随机转移
凑够 1000 个哈希槽,然后再输入 yes,redis 集群就开始分配哈希槽了
至此,一个新的主节点就添加完成了,执行命令查看现在的集群中节点的状态
redis-cli -c -p 6001 cluster nodes
4.2、把这个节点变成从节点
前 面 我 们 已 经 把 这 个 新 节 点 添 加 到 集 群 中 了 , 现 在 我 们 要 让 新 节 点 成 为192.168.110.138:6002 的从节点,只需要执行下面的命令就可以了,命令后面的节点 ID 就是192.168.110.138:6002的节点 ID
redis-cli -c -p 6007 cluster replicate f14036d655baadec3645a9a3b41a3c6bb6f0a6b8
可执行redis-cli -c -p 6001 cluster nodes查看节点状态
首先要把节点中的哈希槽转移到其他节点中,执行下面的命令
cd /usr/local/src/redis/src
./redis-trib.rb reshard 192.168.110.138:6001
系统会提示我们要移动多少哈希槽,这里移动 1000 个,因为 192.168.110.138:6007节点有1000 个哈希槽
然后系统提示我们输入要接收这些哈希槽的节点的 ID,这里使用 192.168.110.138:6002的节点 ID
然后要我们选择从那些节点中转出哈希槽,这里一定要输入 192.168.110.138:6007这个节点的 ID,最后输入 done 表示输入完毕
然后输入yes
待1000个哈希槽转出完毕,使用下面的命令把这个节点删除
cd /usr/local/src/redis/src
./redis-trib.rb del-node 192.168.110.138:6001 需要删除的节点 ID
cd /usr/local/src/redis/src
./redis-trib.rb del-node 192.168.110.138:6001 需要删除的节点 ID