最近一段时间在看redis,今天又没什么事就研究了一下redis集群
1. linux环境下下载及安装:
$ wget http://download.redis.io/releases/redis-4.0.10.tar.gz
$ tar xzf redis-4.0.10.tar.gz
$ cd redis-4.0.10
$ make
开启服务器端
$ src/redis-server
客户端
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
2.设置redis.conf
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
创建文件夹cluster,在cluster创建 7000-7005 6个文件夹
mkdir cluster
cd cluster
mkdir 7000 7001 7002 7003 7004 7005
将redis-server 和redis.conf拷贝到7000 7001 7002 7003 7004 7005
启动每一个分支
cd 7000
../redis-server ./redis.conf
ps -ef|grep redis|grep cluster(下图所示)
3.在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
因为redis-trib.rb 需要安装redisgem才能运行
3.1 执行下面这条命令(会报错提示需要安装ruby)
gem install redis3.2 yum安装ruby
yum install ruby -y
继续执行
gem install redis
会报错 redis requires Ruby version >= 2.2.2.(说明ruby安装的版本较低,需要升级)
3.3 开始升级ruby
3.3.1 查看rvm 是否已经安装
rvm -v
3.3.2 没安装执行下面这条语句
curl -L get.rvm.io | bash -s stable(会报错如下图)
3.3.3 按照提示运行下面这条语句获取public key
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
3.3.4 继续执行
curl -L get.rvm.io | bash -s stable(执行成功)
source /usr/local/rvm/scripts/rvm
3.3.5 查看可以安装的ruby版本:
rvm list known
3.3.6 选择安装2.4.1(安装大于要求的版本都行我安装的是这个)
rvm install 2.4.1
3.3.7 确认一下版本号
ruby -v
4.继续执行下面2条命令
gem install redis
./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
简单测试: