准备:阿里云,2台机器
要求:通过2台机器模拟6个节点,创建出3个master、3个salve
安装过程
一:下载并解压
cd /data/software
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
tar -zxvf redis-3.2.4.tar.gz -C /data/opensoftware
二:编译安装
cd /data/opensoftware/redis-
3.2.
4
make&&make install
三:复制rb
cd src
cp redis-trib.rb /usr/local/bin
四:创建节点
cd /data/opensoftware/redis-
3.2.
4
mkdir redis_cluster
进入redis_cluster,创建7000 7001 7002三个文件夹
同样的操作第二个机器,创建7003 7004 7005 三个文件夹
五:更新配置文件
cp redis.conf redis_cluster/7000
cp redis.conf redis_cluster/7001
cp redis.conf redis_cluster/7002
第二台机器操作
cp redis.conf redis_cluster/7003
cp redis.conf redis_cluster/7004
cp redis.conf redis_cluster/7005
把6个配置的内容更新为下面的,如果不想清空源文件,则把下面的语句都粘到配置文件的最后面,保证相同参数最终覆盖,同时下面的注释需要去掉
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日志开启 有需要就开启,它会每次写操作都记录一条日志
六:启动节点,进行测试
cd /usr/local/bin
第一台机器上执行
./redis-server redis_cluster/7000/redis.conf
./redis-server redis_cluster/7001/redis.conf
./redis-server redis_cluster/7002/redis.conf
另外一台机器上执行
./redis-server redis_cluster/7003/redis.conf
./redis-server redis_cluster/7004/redis.conf
./redis-server redis_cluster/7005/redis.conf
上面的语句执行完之后的redis都是后台执行的,运行的,如果不是,则表示配置文件中的daemonize yes参数被覆盖或者重写了
然后ps -ef|grep redis查看进程是否启动
七:创建集群
要使用我们第三步的redis-trib.rb,这个地方需要绕个坑
1)安装ruby
yum -y install ruby ruby-devel rubygems rpm-build
2)安装redis
gem install redis
发现安装不了,报错redis requires Ruby version -= 2.2.2
原来ruby版本太低,那么要更换版本
sudo yum install curl
curl -L get.rvm.io | bash -s stable
此处可能报错
不过我们通过报错拿到了key
接下来执行语句 gpg --keyserver hkp://keys.gnupg.net --recv-keys 后面是你获取的key
重新执行命令curl -sSL https://get.rvm.io | bash -s stable
rvm list known
安装
rvm install 2.4.0
执行使用版本
rvm use 2.4.0
卸载之前的版本
rvm remove 2.2.2
查看版本
ruby --version
安装redis
gem install redis
成功了,记下来安装集群
./redis-trib.rb create --replicas 1 IpA:7000 IpA:7001 IpA:7002 IpB:7003 IpB:7004 IpB:7005
中间有选项,选择YES,回车继续
八:测试集群
随便选几个机器
第一台机器
./redis-cli -h IpA -c -p 7001
第二台机器
./redis-cli -h IpB -c -p 7005
然后在第一个窗口随便敲个命令
比如 set a b
在第二个窗口敲一个get命令
get a
结果是"b"
表示我们的集群是ok的了