redis安装请参考:
http://www.reallinxu.com/2018/01/24/redis%E5%85%A5%E9%97%A8/
1.单台机器redis集群搭建
[root@linxu ~]# mkdir /usr/local/redis-cluster #创建集群目录
[root@linxu ~]# cd /usr/local/redis-cluster
[root@linxu redis-cluster]# mkdir -p 9001/data 9002/data 9003/data 9004/data 9005/data 9006/data #创建六个节点目录
[root@linxu redis-cluster]# mkdir bin
[root@linxu bin]# cd /usr/local/redis/redis-4.0.6/src #redis安装目录下src
[root@linxu src]# cp * /usr/local/redis-cluster/bin #将redis安装目录src文件copy到bin中
[root@linxu redis-4.0.6]# cd /usr/local/redis/redis-4.0.6 #redis安装目录
[root@linxu redis-4.0.6]# cp * /usr/local/redis-cluster/9001 #其他9002-9006同样操作
[root@linxu 9001]# cd /usr/local/redis-cluster/9001 #先修改9001,其他几台需要同样操作
[root@linxu redis-4.0.6]# vi redis.conf #修改配置文件
port 9001(每个节点的端口号)
daemonize yes(修改daemonize为yes,即默认以后台程序方式运行,效果同使用&号强制后台运行)
bind 192.168.43.163(绑定当前机器 IP)
dir /usr/local/redis-cluster/9001/data/(数据文件存放位置)
pidfile /var/run/redis_9001.pid(pid 9001和port要对应)
cluster-enabled yes(启动集群模式)
cluster-config-file nodes-9001.conf(9001和port要对应)
cluster-node-timeout 15000
appendonly yes(是否开启AOF,默认关闭no)
PS:9002-9006同样修改,只是端口号不同,此处省略,可以将9001的redis.conf拷贝到所有目录,通过vi的:%s/9001/9002替换(此处9001替换为9002),共四处修改
[root@linxu bin]# cd /usr/local/redis-cluster/bin
[root@linxu bin]# ./redis-server ../9001/redis.conf #启动六个节点
[root@linxu bin]# ./redis-server ../9002/redis.conf
[root@linxu bin]# ./redis-server ../9003/redis.conf
[root@linxu bin]# ./redis-server ../9004/redis.conf
[root@linxu bin]# ./redis-server ../9005/redis.conf
[root@linxu bin]# ./redis-server ../9006/redis.conf
[root@linxu bin]# ps -ef|grep redis #查看是否启动成功(成功有六个redis进程)
[root@linxu bin]# cd #返回根目录
[root@linxu ~]# wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.gz #下载rubby,yum下载为2.0.0版本,redis支持版本需大于2.2.2,此处为官网下载
[root@linxu ~]# tar zxvf ruby-2.5.0.tar.gz
[root@linxu ~]# mv ruby-2.5.0 /usr/local/ruby/
[root@linxu ~]# cd /usr/local/ruby/ruby-2.5.0
[root@linxu ruby-2.5.0]# ./configure
[root@linxu ruby-2.5.0]# make
[root@linxu ruby-2.5.0]# make install
[root@linxu ruby-2.5.0]# ruby -v #查看版本
[root@linxu ruby-2.5.0]# yum install rubygems #安装rubygems
[root@linxu ~]# gem install redis
PS:此处如果先通过yum安装ruby版本低于2.2.2会报错,可以移除旧版本,再安装新版本,再安装rvm进行,步骤如下
[root@linxu ~]# yum install curl #安装curl
[root@linxu ~]# curl -L get.rvm.io | bash -s stable
如果执行无法完成,替换为\curl -sSL https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash
[root@linxu ~]# source /etc/profile.d/rvm.sh
此时再执行[root@linxu ~]# gem install redis即可
[root@linxu bin]# ./redis-trib.rb create --replicas 1 192.168.43.216:9001 192.168.43.216:9002 192.168.43.216:9003 192.168.43.216:9004 192.168.43.216:9005 192.168.43.216:9006 #搭建集群
[root@linxu bin]# ./redis-cli -c -h 192.168.43.216 -p 9001 #验证
192.168.43.216:9001> set name da
>Redirected to slot [5798] located at 192.168.43.216:9002
OK
PS:此处需要加参数-c,否则不会自动跳转到分配的节点,会报错(error) MOVED 5798 192.168.43.216:9002
2.不同机器搭建redis集群
此处使用两台机器,通过单台机器一样的方法在每台机器各创建三个节点
第一台 192.168.43.216 节点 10001 10002 10003
第二台 192.168.43.163 节点 10004 10005 10006
将六个节点全部启动
[root@linxu bin]# ./redis-server ../10001/redis.conf #其他节点同样启动
启动后创建集群
./redis-trib.rb create --replicas 1 192.168.43.163:10004 192.168.43.163:10005 192.168.43.163:10006 192.168.43.216:10001 192.168.43.216:10002 192.168.43.216:10003
[root@linxu bin]# ./redis-cli -c -h 192.168.43.216 -p 10001 #验证
192.168.43.216:10001> set a 1
>Redirected to slot [15495] located at 192.168.43.163:10005
OK