Mac安装Redis集群
下载、解压、编译
$ wget http://download.redis.io/releases/redis-4.0.11.tar.gz
$ tar xzf redis-4.0.11.tar.gz
$ cd redis-4.0.11
$ make
启动
$ src/redis-server
验证
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
创建redis-cluster目录,然后在redis-cluster下分别创建7000 7001 7002 7003 7004 7005目录
mkdir redis-cluster
cd redis-cluster
mkdir 7000 7001 7002 7003 7004 7005
在7000目录下创建配置文件
vi ./redis-cluster/7000/redis.conf
bind 127.0.0.1
port 7000
daemonize no
pidfile /var/run/redis_7000.pid
logfile "./redis-cluster/7000/redis.log"
dir ./redis-cluster/7000/
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 5000
appendonly yes
appendfsync always
复制配置文件,分别执行下面的命令(或者放在脚本里执行),将配置文件复制到其他目录下,并做相应的替换。
这里说一下sed命令:
- -t是在执行前回显各个command
- -i 是可以直接修改文件内容
- “.bak”是备份文件的后缀,mac上必须加这个否则报错。产生的备份文件如果不想要可以用”find ./redis-cluster -name “*.bak” -exec rm {} \;”命令删除
cp ./redis-cluster/7000/redis.conf ./redis-cluster/7001/redis.conf
grep 7000 -rl ./redis-cluster/7001 | xargs -t sed -i ".bak" "s/7000/7001/g"
cp ./redis-cluster/7000/redis.conf ./redis-cluster/7002/redis.conf
grep 7000 -rl ./redis-cluster/7002 | xargs -t sed -i ".bak" "s/7000/7002/g"
cp ./redis-cluster/7000/redis.conf ./redis-cluster/7003/redis.conf
grep 7000 -rl ./redis-cluster/7003 | xargs -t sed -i ".bak" "s/7000/7003/g"
cp ./redis-cluster/7000/redis.conf ./redis-cluster/7004/redis.conf
grep 7000 -rl ./redis-cluster/7004 | xargs -t sed -i ".bak" "s/7000/7004/g"
cp ./redis-cluster/7000/redis.conf ./redis-cluster/7005/redis.conf
grep 7000 -rl ./redis-cluster/7005 | xargs -t sed -i ".bak" "s/7000/7005/g"
分别启动五个实例
./src/redis-server ./redis-cluster/7000/redis.conf &
./src/redis-server ./redis-cluster/7001/redis.conf &
./src/redis-server ./redis-cluster/7002/redis.conf &
./src/redis-server ./redis-cluster/7003/redis.conf &
./src/redis-server ./redis-cluster/7004/redis.conf &
./src/redis-server ./redis-cluster/7005/redis.conf &
安装ruby
brew install ruby
安装redis gem
gem install redis
创建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
脚本
为了后续方便,编写启动与停止的脚本
- 启动 start.sh
#!/bin/sh
./src/redis-server ./redis-cluster/7000/redis.conf &
./src/redis-server ./redis-cluster/7001/redis.conf &
./src/redis-server ./redis-cluster/7002/redis.conf &
./src/redis-server ./redis-cluster/7003/redis.conf &
./src/redis-server ./redis-cluster/7004/redis.conf &
./src/redis-server ./redis-cluster/7005/redis.conf &
chmod u+x start.sh
- 停止 stop.sh
#!/bin/sh
./src/redis-cli -p 7000 shutdown
./src/redis-cli -p 7001 shutdown
./src/redis-cli -p 7002 shutdown
./src/redis-cli -p 7003 shutdown
./src/redis-cli -p 7004 shutdown
./src/redis-cli -p 7005 shutdown
chmod u+x