redis4集群安装部署
正常redis集群需要三个主节点三个备份机,搭建集群至少需要6台服务器,我这里是在虚拟机用三台服务器搭个示例。(192.168.128.133,192.168.128.134,192.168.128.135三台centos7服务器下部署7001、7002、7003、7004、7005、7006等6个redis节点)
192.168.128.133 下 7001、7002
192.168.128.134 下 7003、7004
192.168.128.135 下 7005、7006
一 安装节点
1.下载redis4.0.1
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
2.解压
解压并移动到/opt/目录下
tar xzf redis-4.0.1.tar.gz
mv redis-4.0.1 /opt/
3.执行make 看看是否正常
cd /opt/redis-4.0.1/
make
发现报错,需要安装gcc
4.安装gcc
yum install gcc
yum -y install gcc automake autoconf libtool make
5. 再次make
分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis。
而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。
但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数,运行如下命令:
make MALLOC=libc
成功
6.make test
发现报错,原因,要安装tcl
7.安装tcl
yum install tcl
8.再次make test
成功。
二 、部署集群
1.创建个节点集群目录(以7003、7004节点为例)
cd /opt/redis-4.0.1
$ /opt/redis-4.0.1# mkdir redis-cluster$ /opt/redis-4.0.1# mkdir redis-cluster/nodes-7003
$ /opt/redis-4.0.1# mkdir redis-cluster/nodes-7004
$ /opt/redis-4.0.1# cp redis.conf redis-cluster/nodes-7003
$ /opt/redis-4.0.1# cp redis.conf redis-cluster/nodes-7004
2. 配置节点配置文件(7003为例)
cd redis-cluster/nodes-7003
vim redis.conf
配置redis.conf里面参数
port 7003
cluster-enabled yes
bind 192.168.128.134
# daemonize yes #redis后台运行
cluster-config-file nodes-7003.conf
cluster-node-timeout 5000
appendonly yes
3.后台启动
nohup src/redis-server redis-cluster/nodes-7003/redis.conf > redis-cluster/nodes-7003/redis-server.out 2>&1 &
4.安装集群工具(一个集群节点安装即可)
gem install redis
如果出现以下错误,是ruby版本不支持,需要升级ruby版本
可参考https://blog.csdn.net/qq_37595946/article/details/77800147
5启动集群
src/redis-trib.rb create --replicas 1 192.168.128.133:7001 192.168.128.133:7002 192.168.128.134:7003 192.168.128.134:7004 192.168.128.134:7005 192.168.128.135:7006
分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis。
而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。
但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数,运行如下命令:
make MALLOC=libc
成功
6.make test
发现报错,原因,要安装tcl
7.安装tcl
yum install tcl
8.再次make test