文档章节

Linux(Ubuntu)Redis 搭建集群

PythonJsGo
 PythonJsGo
发布于 04/04 14:21
字数 1301
阅读 163
收藏 5

        Redis 发布的 5.x 系列和5.x之前的版本,进行集群的构建方式有所调整而并不通用。

一、基础环境准备

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.

        可以查看Redis官网查看集群搭建方式,连接如下:
        https://redis.io/topics/cluster-tutorial

二、创建集群步骤

2.1 创建目录并进入

mkdir ~/temp

cd ~/temp

2.2 下载源码并解压编译

# redis5.x
wget http://download.redis.io/releases/redis-5.0.0.tar.gz
tar -zxvf redis-5.0.0.tar.gz
cd redis-5.0.0
make PREFIX=/home/weblogic/redis install



# redis4.x
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
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 <master-password> 下新增密码配置

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

/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

 

----------------------------------------------------

        本文为博主原创文章,转载请注明出处!

----------------------------------------------------

© 著作权归作者所有

PythonJsGo
粉丝 32
博文 104
码字总数 155493
作品 0
朝阳
高级程序员
私信 提问
加载中

评论(1)

胖胖胖法式小面包
Ubantu?Ubuntu?
ubuntu中redis集群的安装

首先先要检查一下是否安装gcc 如果没有安装gcc,需要安装一下 下载 集群的创建 分别对7001,7002、7003文件夹中的3个文件修改对应的配置 在192.168.1.238创建3个节点:对应的端口改为7003,70...

miaojiangmin
07/01
26
0
【Redis学习】--Redis集群搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/YYZZHC999/article/details/83038344 Redis部署 以Linux(CentOS7.4)为例 1.1 安装依赖环境 Redis是c语言开发...

杨晓慧_Hepburn
2018/10/13
0
0
用 Docker 构建分布式 Redis 集群

本文介绍了如何使用Docker搭建Redis集群,很多读者都在问Docker能带来哪些实质性的好处,我想本文就是一个很好的例子。不使用Docker你也可以搭建Redis集群,那使用Docker后会有怎么样的优势了...

sjzmlb
2015/10/18
5.4K
0
redis 集群

我是用 redis cluster 搭建的redis集群,开了密码验证,我在Linux下 进测试都是OK的,但是 我在Java代码中连接时报错。Java连接代码: 报错信息:

叶知秋
2017/07/21
154
0
基于Docker的Redis高可用集群搭建(redis-sentinel)

前言   之前介绍了用docker来搭建redis主从环境,但这只是对数据添加了从库备份(主从复制),当主库down掉的时候,从库是不会自动升级为主库的,也就是说,该redis主从集群并非是高可用的。...

mario阿东
2018/07/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

程序性能checklist

程序性能checklist

Moks角木
昨天
2
0
VUE 计算属性

本文转载于:专业的前端网站▶VUE 计算属性 1、示例代码 <!DOCTYPE html><html lang="zh"> <head> <meta charset="UTF-8" /> <title>vue示例</title> </hea......

前端老手
昨天
2
0
快速搭建LNMT平台和环境部署 Tomcat详解

Tomcat部署的基本概念 1. CATALINA_HOME与CATALINA_BASE分别指什么?     CATALINA_HOME指的是Tomcat的安装目录     bin:\\Tomcat一些脚本存放目录,比如启动脚本startup.bat/start...

网络小虾米
昨天
2
0
float浮动

float浮动 float浮动概念及原理: 文档流:文档流是文档中可显示对象在排列时所占用的位置。 加浮动的元素,会脱离文档流,会沿父容器靠左或靠右排列,如果之前已经有浮动的元素,会挨着浮动...

studywin
昨天
2
0
实战项目-学成在线(一)

之前看的黑马程序员实战项目之一,打算以博客的形式写出来,也让自己重新温习一下。 1、项目背景 略(就是当前这东西很火,我们重点在开发,这些就略过) 2、功能模块 门户,学习中心,教学管...

lianbang_W
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部