用一台linux,创造3 master、3 salve环境。
reids采用redis-3.2.4版本
安装过程
下载并解压
//目录自行选择
cd /usr/mypack/redis
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
tar -zxvf redis-3.2.4.tar.gz
编译安装
cd redis-3.2.4
make && make install
创建redis节点
mkdir redis_cluster
//在redis_cluster目录下,创建7000、7001、7002等的目录,并将 redis.conf 拷贝到这三个目录中
mkdir 7000 7001 7002 7003 7004 7005
//注意一下,redis.conf为redis安装目录src下的redis.conf文件,目录需要自己改下才能cp
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
对于每个目录下的redis.conf文件,需要做如下修改:
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秒,可自行设置
启动各个节点
//6个节点都按如下启动
./redis-server redis_cluster/7000/redis.conf
//查看redis启动情况
ps -ef | grep redis
现在redis已经启动成功了,但是还没有创建集群,没有把多个redis关联起来。
创建集群
//redis-trib.rb在redis安装目录的src文件夹下
./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
如果出错了,需要安装ruby
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis
安装完成后再创建集群,如果install redis的时候报错,Ruby 版本过低,解决办法见常见问题。
创建集群的时候会有一个Can I set above configuration?提示,选择yes。
到此,集群就创建完成了。
集群验证
./redis-cli -h 127.0.0.1 -c -p 7000
set hello world
get hello //返回world
ctrl+c退出
./redis-cli -h 127.0.0.1 -c -p 7002
get hello //返回world,说明集群正常工作
常见问题
Ruby 版本过低
这里需要升级Ruby的版本
利用RVM升级ruby版本,安装ruby
yum install curl
安装rvm
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash -s stable
source /etc/profile.d/rvm.sh
查看ruby可用版本
rvm list known
选择需要安装的版本安装
rvm install 2.5.1
rvm use 2.5.1
加载redis
gem install redis
现在就不会报错了