配置环境
OS: centos 7.2.1511
redis : 最新版 v5.0.5
一、安装redis
- 下载并解压redis,下载地址
运行:
$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
$ tar xzf redis-5.0.5.tar.gz
- 安装gcc依赖
$ yum install gcc
- 重命名文件夹,编译安装redis。
$ mv redis-5.0.5 redis
$ cd redis
$ make MALLOC=libc
- 测试安装结果
./redis/src/redis-srever
出现:
按 ctrl+c即可个退出
二、安装集群
环境:
四台centOS机器,每一天配置6个节点7001~7006
机器一:10.3.0.79
机器二:10.3.0.82
机器三:10.3.0.83
机器四:10.3.0.84
1. 新建集群环境的文件夹(文件路径根据自己情况)
mkdir /usr/local/yanrong/redis-cluster
根据端口创建文件夹
mkdir /usr/local/yanrong/redis-cluster/{7001,7002,7003}
2. 配置redis.conf配置文件
vim /redis/redis.conf
修改redis.conf以下参数
port 7001 # 端口7001,7001,7002,与目录对应
bind 172.28.37.29 #默认ip为127.0.0.1,需要改为其他节点机器可访问的ip,否则创建集群时无法访问对应的端口,无法创建集群
daemonize yes #redis后台运行
cluster-enabled yes #开启集群
cluster-config-file nodes_7000.conf #集群的配置,配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 8000 #请求超时,默认15秒,可自行设置
appendonly yes #开启aof持久化模式,每次写操作请求都追加到appendonly.aof文件中
appendfsync always #每次有写操作的时候都同步
logfile "/data/redis/logs/redis.log" #redis服务日志
pidfile /var/run/redis_7001.pid #pidfile文件对应7000,7001,7002
3. 将配置文件拷贝到每个端口对应的文件夹下(要确保端口号和文件夹一致)
命令如下(记得修改端口号):
cp / redis/redis.conf /usr/local/yanrong/redis-cluster/7001/
....
cp / redis/redis.conf /usr/local/yanrong/redis-cluster/7006/
4.将redis.conf上传到其他机器上
//这里将yanrong这个文件夹直接传过去免得新建文件夹,先上传到另一台机器的tmp文件夹下面,避免报没权限的错误。
scp /usr/local/yanrong userName@IP:/tmp/
5.配置其他机器环境
1)安装redis
2)将redis.conf 中的参数bind 改为当前机器的Ip
3)将tmp文件中配置文件移动到特定目录中,为了维护方便建议每一台机器都一样。
6.启动每台机器的集群环境
./redis/src/redis-server /usr/local/yanrong/redis.conf
查看是否已经运行
ps aux | grep redis-server
结果如下:
7.创建集群(只要子一台机子上运行就行)
//后面的ip根据自己情况写上,这里我只是写了个例子
./redis/src/redis-cli --cluster create 10.3.0.79:7001 10.3.0.79:7002 10.3.0.79:7003 10.3.0.82:7001 .....
运行结果:
到这里集群就搭建完了
为了不每次启动的时候都写命令可以写个脚本,然后在每一个机器上都拷贝一份。
start-redis.sh
脚本
./redis/src/redis-service /usr/local/yanrong/redis-cluster/7001/redis.conf
./redis/src/redis-service /usr/local/yanrong/redis-cluster/7002/redis.conf
./redis/src/redis-service /usr/local/yanrong/redis-cluster/7003/redis.conf
./redis/src/redis-service /usr/local/yanrong/redis-cluster/7004/redis.conf
./redis/src/redis-service /usr/local/yanrong/redis-cluster/7005/redis.conf
./redis/src/redis-service /usr/local/yanrong/redis-cluster/7006/redis.conf
shutdown-redis.sh
脚本 (这里的ip地址根据每一台机器的来设置)
./redis/src/redis-cli -c -h 10.3.0.82 -p 7001 shutdown
./redis/src/redis-cli -c -h 10.3.0.82 -p 7002 shutdown
./redis/src/redis-cli -c -h 10.3.0.82 -p 7003 shutdown
./redis/src/redis-cli -c -h 10.3.0.82 -p 7004 shutdown
./redis/src/redis-cli -c -h 10.3.0.82 -p 7005 shutdown
./redis/src/redis-cli -c -h 10.3.0.82 -p 7006 shutdown
查看节点信息请点击