redis集群搭建
1、安装环境及版本介绍
两台虚拟机centos6.5,每台虚拟机上3个redis节点,共3个master,3个salve。
redis版本3.2.4
两台虚拟机地址为:192.168.75.151、192.168.75.152
2、环境搭建过程
2.1 解压并安装redis ,没有报错的话就编译安装成功。
tar -zxvf redis-3.2.4.tar.gz
cd redis-3.2.4
make && make install
注意:安装过程中如遇到一下错误,说明未安装gcc,使用 "yum install gcc -y" 安装即可。
2.2 将 redis-trib.rb 复制到 /usr/local/bin 目录下
cd src cp redis-trib.rb /usr/local/bin/
2.3 创建redis节点
首先在虚拟机一(192.168.75.151)的redis主目录下创建目录 redis_cluster,以及在redis_cluster下创建节点目录(以使用端口号命名目录名,也可以用其他规则命名,只要区分开就行)。
mkdir -p ./redis_cluster/{7000,7001,7002}
将redis.conf 复制到新建的三个节点目录下。
cp redis.conf redis_cluster/7000/ cp redis.conf redis_cluster/7001/ cp redis.conf redis_cluster/7002/
分别进入节点目录下,修改redis.conf
port 7000 //端口7000,7002,7003 bind 192.168.75.151 //默认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日志开启 有需要就开启,它会每次写操作都记录一条日志
在第二台虚拟机(192.168.75.152)上重复以上三步操作,对应端口设置成 7003、7004、7005,配置文件的按照对应的端口设置即可
3 启动各个节点
3.1 启动节点
192.168.75.151上边执行 redis-server redis_cluster/7000/redis.conf redis-server redis_cluster/7001/redis.conf redis-server redis_cluster/7002/redis.conf 192.168.75.152上边执行 redis-server redis_cluster/7003/redis.conf redis-server redis_cluster/7004/redis.conf redis-server redis_cluster/7005/redis.conf
3.2 检查节点的启动情况
192.168.75.151上边查看 ps -ef|grep redis root 31146 1 0 15:37 ? 00:00:00 redis-server 192.168.75.151:7000 [cluster] root 31150 1 0 15:37 ? 00:00:00 redis-server 192.168.75.151:7001 [cluster] root 31155 1 0 15:38 ? 00:00:00 redis-server 192.168.75.151:7002 [cluster] netstat -nltp | grep redis tcp 0 0 192.168.75.151:7000 0.0.0.0:* LISTEN 31146/redis-server tcp 0 0 192.168.75.151:7001 0.0.0.0:* LISTEN 31150/redis-server tcp 0 0 192.168.75.151:7002 0.0.0.0:* LISTEN 31155/redis-server tcp 0 0 192.168.75.151:17000 0.0.0.0:* LISTEN 31146/redis-server tcp 0 0 192.168.75.151:17001 0.0.0.0:* LISTEN 31150/redis-server tcp 0 0 192.168.75.151:17002 0.0.0.0:* LISTEN 31155/redis-server 192.168.75.152上边查看 ps -ef|grep redis root 30046 1 0 15:35 ? 00:00:00 redis-server 192.168.75.152:7003 [cluster] root 30050 1 0 15:35 ? 00:00:00 redis-server 192.168.75.152:7004 [cluster] root 30054 1 0 15:35 ? 00:00:00 redis-server 192.168.75.152:7005 [cluster] netstat -nltp | grep redis tcp 0 0 192.168.75.152:17003 0.0.0.0:* LISTEN 30046/redis-server tcp 0 0 192.168.75.152:17004 0.0.0.0:* LISTEN 30050/redis-server tcp 0 0 192.168.75.152:17005 0.0.0.0:* LISTEN 30054/redis-server tcp 0 0 192.168.75.152:7003 0.0.0.0:* LISTEN 30046/redis-server tcp 0 0 192.168.75.152:7004 0.0.0.0:* LISTEN 30050/redis-server tcp 0 0 192.168.75.152:7005 0.0.0.0:* LISTEN 30054/redis-server
4、创建集群
4.1 Redis 官方提供了 redis-trib.rb 这个工具 可以实现创建集群
redis-trib.rb create --replicas 1 192.168.75.151:7000 192.168.75.151:7001 192.168.75.151:7002 192.168.75.152:7003
192.168.75.152:7004 192.168.75.152:7005
注意:可能会报错,报错信息:/usr/bin/env: ruby: 没有那个文件或目录 ,因为这个工具需要ruby实现,所以得安装ruby
##在编译安装ruby前需要确认 zlib、zlib-devel包是否已安装。因为ruby安装redis接口时要依赖zlib,所以要提前安装 yum install zlib -y yum install zlib-devel -y #解压并编译安装ruby tar -zxvf ruby-2.4.3.tar.gz cd ruby-2.4.3 ./configure make make install
ruby安装完成后一定要安装redis接口
##安装包提前准备好,在没网的环境下也不用捉急 gem install --local redis-4.0.1.gem
一切都安装好以后,重新输入上面的命令,可以正常执行。期间会有交互页面直接输入“yes” (如下图),集群即可顺利安装成功。
redis-trib.rb create --replicas 1 192.168.75.151:7000 192.168.75.151:7001 192.168.75.151:7002 192.168.75.152:7003 192.168.75.152:7004
192.168.75.152:7005
安装成功界面
4.2 简单的集群验证
登陆集群客户端(分别在两台主机上登陆),-c标识以集群方式登陆 如下图(集群搭建成功)
redis-cli -h 192.168.75.151 -p 7002 -c