Linux(Ubuntu)Redis 搭建集群

本文详细介绍了在Linux环境下从零开始搭建Redis集群的过程,包括环境准备、集群创建、配置修改及启动步骤。同时,对比了Redis 4.x与5.x在集群管理上的不同,提供了从Ruby到C语言编写的redis-cli的转变细节。

一、基础环境准备
1.1 Linux下的C语言编译环境
Redis是C语言开发的,安装redis需要C语言的编译环境。如果没有gcc需要在线安装。
CentOS:

yum install gcc tcl
yum install gcc-c++
Ubuntu:

apt-get update
apt-get upgrade
apt-get install gcc

或者

命令:>apt-get install build-essential

在make时可能出现错误" error: jemalloc/jemalloc.h: No such file or directory",通过如下命令解决。

命令:>make MALLOC=libc

1.2 Redis4.x 之前需要安装ruby环境

apt-get install ruby

gem install redis
1.3 Redis5.x 之后不需要安装ruby环境
2018年十月 Redis 发布了稳定版本的 5.0 版本,推出了各种新特性,其中一点是放弃 Ruby的集群方式,改为 使用 C语言编写的 redis-cli的方式,是集群的构建方式复杂度大大降低。关于集群的更新可以在 Redis5 的版本说明中看到,如下:

The cluster manager was ported from Ruby (redis-trib.rb) to C code inside redis-cli. check redis-cli --cluster help for more info.

二、创建集群步骤
2.1 创建目录并进入
mkdir ~/temp

cd ~/temp
2.2 下载源码并解压编译

redis5.x

wget
tar -zxvf redis-5.0.0.tar.gz
cd redis-5.0.0
make PREFIX=/home/weblogic/redis install

redis4.x

tar -zxvf redis-5.0.0.tar.gz
cd redis-5.0.0
make PREFIX=/home/weblogic/redis install

2.3 创建6个Redis配置文件
服务器上搭建有6个节点的 Redis集群,在路径为/home/weblogic/redis/redis-cluster下创建6个文件夹代表6个实例。

6个配置文件不能在同一个目录

mkdir 7000 7001 7002 7003 7004 7005
分别给六个文件夹,创建日志、数据和配置文件存放路径:

示例:/home/weblogic/redis/redis-cluster/7000/conf

mkdir /home/weblogic/redis/redis-cluster/文件名/conf

示例:/home/weblogic/redis/redis-cluster/7000/conf

mkdir /home/weblogic/redis/redis-cluster/文件名/log

示例:/home/weblogic/redis/redis-cluster/7000/conf

mkdir /home/weblogic/redis/redis-cluster/文件名/data
进去安装redis的目录分别将 redis.config 配置文件 cp 到这6个目录,并将6个目录下的redis.config分别重名命为“文件名.config”,例如:7000.config

2.4 分别进入目录修改配置文件

port 7000 # 修改端口号对应目录的端口号
bind 0.0.0.0 # Ip绑定 绑定本机ip或者改为 0.0.0.0
/home/weblogic/redis/redis-cluster/7000 # 数据位置dir ./ 改为>dir /home/weblogic/redis/redis-cluster/7000/data
cluster-enabled yes # 启用集群模式
cluster-config-file nodes-7000.conf # 集群模式中节点的配置文件
cluster-node-timeout 5000 # 超时时间
appendonly yes # redis数据持久化开启,开启AOF模式
daemonize yes # 后台运行
protected-mode no # 非保护模式,允许 Redis 远程访问
pidfile /home/weblogic/redis/redis-cluster/7000/data/redis_7000.pid # pidfile 需要随着文件夹的不同调增

如需密码则修改如下配置

requirepass “guoyuan” # 在:# requirepass foobared 下新增密码配置
masterauth “密码” # masterauth 下新增密码配置

2.5 加载六个redis配置文件启动

进入redis的src目录启动redis (加载制定配置文件启动的方式) 6个都要启动,注意换配置文件位置

redis-server /home/weblogic/redis/redis-cluster/7000/7000.conf
redis-server /home/weblogic/redis/redis-cluster/7000/7001.conf
redis-server /home/weblogic/redis/redis-cluster/7000/7002.conf
redis-server /home/weblogic/redis/redis-cluster/7000/7003.conf
redis-server /home/weblogic/redis/redis-cluster/7000/7004.conf
redis-server /home/weblogic/redis/redis-cluster/7000/7005.conf

ps进程看看是否都启动

ps -ef|grep redis
2.5 创建redis集群
2.5.1 创建redis4.x集群

进入redis的src目录

./redis-trib.rb create --replicas 1 0.0.0.0:7000 0.0.0.0:7001 0.0.0.0:7002 0.0.0.0:7003 0.0.0.0:7004 0.0.0.0:7005
安装过程中,输入yes:

    无报错,结尾出现[OK]即创建成功!

2.5.2 创建redis5.x集群

redis5.x用redis-cli方式 不用redis4.x用的redis-trib.rb方式

/home/weblogic/redis/src/redis-cli --cluster create 0.0.0.0:7000 0.0.0.0:7001 0.0.0.0:7002 0.0.0.0:7003 0.0.0.0:7004 0.0.0.0:7005 --cluster-replicas 1
安装过程中,输入yes:

    至此,Reids5 集群搭建完成。

三、Redis5集群其他操作

Redis5 提供了关闭集群的工具,在如下目录:

/home/weblogic/redis/utils/create-cluster
打开此文件修改端口为我们自己的,如下所示:

    端口PROT设置为6379,NODES为6,工具会自动累加1 生成 7000-7005 六个节点 用于操作。

3.1 修改后,执行如下命令关闭集群:

/home/weblogic/redis/utils/create-cluster/create-cluster stop
3.2 重新启动集群

/home/weblogic/redis/utils/create-cluster/create-cluster start

3.3 使用脚本文件启动集群

#!/bin/sh
/home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7000/7000.conf
/home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7001/7001.conf
/home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7002/7002.conf
/home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7003/7003.conf
/home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7004/7004.conf
/home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7005/7005.conf

深圳网站建设www.sz886.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值