环境描述
- 安装方式:编译安装
- home_dir= /data/redis
- 安装包存放解压目录: /data/package
- 2台机器6个redis节点
- 环境用户app
所有机器节点操作
1、安装相关依赖
sudo yum install -y gcc gcc-c++ ruby ruby-devel
2、下载解压redis tar包
cd /data/package
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
tar -zxf redis-3.2.4.tar.gz
mv redis-3.2.4 /data/redis
3、编译安装
make MALLOC=libc && sudo make install #注意我这边使用app用户进行编译的。 MALLOC=libc是为了避免一个libc报错;默认编译目录/usr/local/bin。
4、将redis-trib.rb f复制到/usr/local/bin
cd /data/redis/src
cp redis-trib.rb /usr/local/bin
5、下载安装redis.gem
wget https://rubygems.org/downloads/redis-3.2.2.gem
gem install redis-3.2.2.gem
分别在各节点集群操作
1、创建redis 集群节点
cd /data/redis
mkdir -p redis_cluster/{7000/logs,7001/los,7002/logs}---节点1
mkdir -p redis_cluster/{7003/logs,7004/logs,7005/logs}---节点2
cp redis.conf redis_cluster/7001 # 将redis.conf 复制到各节点目录下
......
2、修改配置
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秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日
logfile "/data/redis/redis_cluster/7000/logs/redis.log" //日志存放路径
#设置redis密码和集群密码
masterauth "Kag6QSTOcoIpWgLc3eM5"
requirepass "Kag6QSTOcoIpWgLc3eM5"
3、启动所有节点
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
其中一台节点设备上操作
1、设置密码添加集群
vim /usr/local/share/gems/gems/redis-3.2.2/lib/redis/client.rb 编辑此文件修改其中密码为配置文件中的密码,加上双引号
redis-trib.rb create --replicas 1 192.168.31.245:7000 192.168.31.245:7001 192.168.31.245:7002 192.168.31.210:7003 192.168.31.210:7004 192.168.31.210:7005
出现Can I set the above configuration?(type 'yes' to accept):输入yes,等待集群创建完成