redis集群搭建

测试使用的为centos7的虚拟机环境,真实环境可能会有些许不同,自行参考

 

安装redis,我是安装在根目录

cd /
wget http://download.redis.io/releases/redis-3.2.1.tar.gz
tar -zxvf /redis-3.2.1.tar.gz

进入redis目录,执行make编译

cd redis-3.2.1/
make

报错,没有安装gcc

yum -y install gcc gcc-c++ autoconf make

分配器allocator, 如果有MALLOC  这个 环境变量, 会有用这个环境变量的 去建立Redis。

而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。

但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数,运行如下命令:

make MALLOC=libc

运行make进行编译

编译成功之后,进入src目录,进行安装

安装完成之后,创建redis的节点

我的两个测试服务器的IP为:192.168.1.158   192.168.1.229

cd /usr/local/
mkdir redis_cluster
cd redis_cluster/
mkdir 7000 7001 7002
//将redis的配置文件复制到3个节点文件夹下
cp /redis-3.2.1/redis.conf /usr/local/redis_cluster/7000/
cp /redis-3.2.1/redis.conf /usr/local/redis_cluster/7001/
cp /redis-3.2.1/redis.conf /usr/local/redis_cluster/7002/

分别对配置文件进行修改

daemonize    yes                          //redis后台运行
pidfile  /var/run/redis_7000.pid          //pidfile文件对应7000,7001,7002
port  7000                                //端口7000,7001,7002
cluster-enabled  yes                      //开启集群  把注释#去掉
cluster-config-file  nodes_7000.conf      //集群的配置  配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout  5000                //请求超时  设置5秒够了
appendonly  yes 

在192.168.1.229创建3个节点:对应的端口改为7003,7004,7005.配置对应的改一下就可以了。

 


接下来需要把节点串联起来变成一个集群,需要使用到ruby,所以先安装ruby

yum install curl
yum -y update nss
curl -L get.rvm.io | bash -s stable

RVM:RVM是一个命令行工具,可以提供一个便捷的多版本Ruby环境的管理和切换。

CURL:Linux下的文件传输工具,利用URL的规则在命令行下工作

先下载CURL

 yum install curl 

有可能遇到版本过低的问题,这里可以先升级一下

yum -y update nss

导入密钥(不进行这个操作会导致无法下载)

gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

使用curl安装rvm (可能会花点时间)

curl -L get.rvm.io | bash -s stable

安装ruby

source /usr/local/rvm/scripts/rvm
rvm install 2.3.4

使用安装的ruby

rvm use 2.3.4 --default

可以查看当前使用的ruby版本

ruby --version

安装redis接口

gem install redis

 

关闭服务器的防火墙

参考链接https://blog.youkuaiyun.com/qq_35971258/article/details/79318842

修改redis配置文件,允许外部连接,注释掉 bind127.0.0.1

vim /usr/local/redis_cluster/7000/redis.conf
vim /usr/local/redis_cluster/7001/redis.conf
vim /usr/local/redis_cluster/7002/redis.conf
vim /usr/local/redis_cluster/7003/redis.conf
vim /usr/local/redis_cluster/7004/redis.conf
vim /usr/local/redis_cluster/7005/redis.conf

在redis3.2之后,redis增加了protected-mode,在这个模式下,即使注释掉了bind 127.0.0.1,再访问redisd时候还是报错,修改其为no

两台机启动各节点(两台服务器方式一样)

/redis-3.2.1/src/redis-server /usr/local/redis_cluster/7000/redis.conf
/redis-3.2.1/src/redis-server /usr/local/redis_cluster/7001/redis.conf
/redis-3.2.1/src/redis-server /usr/local/redis_cluster/7002/redis.conf
/redis-3.2.1/src/redis-server /usr/local/redis_cluster/7003/redis.conf
/redis-3.2.1/src/redis-server /usr/local/redis_cluster/7004/redis.conf
/redis-3.2.1/src/redis-server /usr/local/redis_cluster/7005/redis.conf

所有节点全部启动之后,通过create参数来创建集群

/redis-3.2.1/src/redis-trib.rb create --replicas 1 192.168.1.158:7000 192.168.1.158:7001 192.168.1.158:7002 192.168.1.229:7003 192.168.1.229:7004 192.168.1.229:7005

--replicas  1  表示 自动为每一个master节点分配一个slave节点    上面有6个节点,程序会按照一定规则生成 3个master(主)3个slave(从)

运行中,提示Can I set the above configuration? (type 'yes' to accept): yes    //输入yes

创建完成之后,可以通过check命令来查看一下

/redis-3.2.1/src/redis-trib.rb check 192.168.1.158:7000

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值