两台机器部署:
现有两台机器10.100.16.83和10.100.16.84局域网IP部署集群环境:
使用最新的稳定版本redis-5.优势是这个版本把集群启动从ruby中迁移到C中了,这样就不用安装ruby环境。直接使用redis-cli --cluster create
命令就可以了。
单机环境配置,配置完成后用于创建多个port的配置直接使用.
redis-config:
- bind : 本机ip
- daemonize no
- protected-mode no
- port 7379
- cluster-enabled yes
- cluster-node-timeout 1500
mkdir /data/work/redis/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 10.100.16.83或10.100.16.84 // 默认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
然后ps -ef|grep redis查看进程是否启动
创建集群命令:
redis-cli --cluster create 10.100.16.83:7000 10.100.16.83:7001 10.100.16.83:7002 10.100.16.84:7003 10.100.16.84:7004 10.100.16.84:7005 --cluster-replicas 1
查看是否正常使用:
第一台机器
redis-cli -h 10.100.16.83 -c -p 7001
第二台机器
redis-cli -h 10.100.16.84 -c -p 7005 这样直接使用命令是加入了环境变量
然后在第一个窗口随便敲个命令
10.100.16.83:7001> set a b
在第二个窗口敲一个get命令
10.100.16.84:7005> get a
-> Redirected to slot [15495] located at 10.100.16.83:7001
"b"
结果是b,说明集群是正常的。
参考:
redis集群安装(2台机器) – 这个是中文详细教程,后面部分集群命令是redis-5以下可以使用,5以上版本就不需要了。
Redis cluster tutorial — 官网集群安装,有最新的怎么安装部分
Download – redis官方下载地址,最好使用的是Stable 版本