Centos7安装Redis(集群模式)

环境:centos7.6 redis4.0
模拟在一个Centos7下安装6个redis实例搭建集群 3主3从

安装wget
yum -y install wget

安装gcc
yum -y install gcc automake autoconf libtool make

下载redis
cd /usr/local/software
wget http://download.redis.io/releases/redis-4.0.0.tar.gz

解压
tar -xzvf redis-4.0.0.tar.gz

切换至程序目录
cd redis-4.0.0

执行make编译Redis:
make MALLOC=libc
注意:make命令执行完成编译后,会在src目录下生成6个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-rdb、redis-sentinel。

安装Redis:
make install

--------------------
计划集群中 Redis 节点的端口号为 7001-7006 ,端口号即集群下各实例文件夹。数据存放在 端口号/data 文件夹中,日志存放在 端口号/log 文件夹中
cd /usr/local/software
mkdir redis-cluster
cd redis-cluster
mkdir -p 7001/data 7002/data 7003/data 7004/data 7005/data 7006/data
mkdir -p 7001/log 7002/log 7003/log 7004/log 7005/log 7006/log

把安装好的Redis的redis.conf 拷贝到这6个端口目录中
cd redis-4.0.0
cp redis.conf /usr/local/software/redis_cluster/7001
cp redis.conf /usr/local/software/redis_cluster/7002
cp redis.conf /usr/local/software/redis_cluster/7003
cp redis.conf /usr/local/software/redis_cluster/7004
cp redis.conf /usr/local/software/redis_cluster/7005
cp redis.conf /usr/local/software/redis_cluster/7006

修改各个端口的redis配置内容如下,以7001为例

#端口号
port 7001
#默认ip为127.0.0.1 需要改为其他节点机器可访问的ip(本机ip) 否则创建集群时无法访问对应的端口,无法创建集群
bind 192.168.182.129
#数据文件存放位置
dir /usr/local/software/redis-cluster/7001/data/
#日志文件存放位置
logfile /usr/local/software/redis-cluster/7001/log/redis.log
#redis后台运行
daemonize yes
#为保证redis-trib.rb工具的正常运行,需要设置为no,完成后可以改回yes,但每次使用redis-trib.rb都需要改回为no
protected-mode no
#pidfile文件
pidfile /var/run/redis_7001.pid
#开启集群
cluster-enabled yes
#集群的配置 配置文件首次启动自动生成
cluster-config-file nodes_7001.conf
#请求超时 默认15秒,可自行设置
cluster-node-timeout 15000
#rdb文件名
dbfilename dump-7001.rdb
#aof日志开启 有需要就开启,它会每次写操作都记录一条日志
appendonly yes
#aof文件名
appendfilename "appendonly-7001.aof"
#设置密码
masterauth 123456
requirepass 123456

注意:各个节点密码都必须一致,否则Redirected就会失败

在redis-cluster 下创建 bin 文件夹,用来存放集群运行脚本,并把安装好的 Redis 的 src 路径下的运行脚本拷贝过来
cd /usr/local/software/redis_cluster
mkdir bin
cd /usr/local/software/redis-4.0.0
cp -r src/* /usr/local/software/redis-cluster/bin/

启动节点
/usr/local/software/redis-cluster/bin/redis-server /usr/local/software/redis-cluster/7001/redis.conf
/usr/local/software/redis-cluster/bin/redis-server /usr/local/software/redis-cluster/7002/redis.conf
/usr/local/software/redis-cluster/bin/redis-server /usr/local/software/redis-cluster/7003/redis.conf
/usr/local/software/redis-cluster/bin/redis-server /usr/local/software/redis-cluster/7004/redis.conf
/usr/local/software/redis-cluster/bin/redis-server /usr/local/software/redis-cluster/7005/redis.conf
/usr/local/software/redis-cluster/bin/redis-server /usr/local/software/redis-cluster/7006/redis.conf

可以检查一下6个节点是否启动成功:ps -ef | grep redis

创建集群

由于 Redis 集群需要使用 ruby 命令,所以我们需要安装 ruby 和相关接口
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis

在执行gem install redis时
如果提示:
gem install redis
ERROR: Error installing redis:
redis requires Ruby version >= 2.3.0

原因,ruby版本小于了2.3.0

安装RVM
gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -L https://get.rvm.io | bash -s stable
find / -name rvm -print

source /usr/local/rvm/scripts/rvm

查看rvm库中已知的ruby版本
rvm list known

根据列表显示 选择一个高版本安装
rvm install 2.5.5

使用一个ruby版本
rvm use 2.5.5

设置默认版本
rvm use 2.5.5 --default

查看ruby版本
ruby --version

继续执行安装redis
gem install redis

Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中
上面已经将它复制到 /usr/local/software/redis_cluster/bin 目录中,可以直接在命令行中使用了
/usr/local/software/redis-cluster/bin/redis-trib.rb create --replicas 1 192.168.182.129:7001 192.168.182.129:7002 192.168.182.129:7003 192.168.182.129:7004 192.168.182.129:7005 192.168.182.129:7006

节点设置密码之后如果需要使用redis-trib.rb的各种命令
则会报错 Sorry, can’t connect to node

解决方法:找到client.rb 然后修改默认password为上面设置的密码
client.rb路径可以通过find命令查找:
find / -name ‘client.rb‘
类似/usr/local/rvm/gems/ruby-2.5.5/gems/redis-4.1.2/lib/redis/client.rb

执行过程中,可能需要输入 yes
从屏幕输出,可以很容易地看出哪些是主(master)节点,哪些是从(slave)节点

--replicas 1 表示主从复制比例为 1:1,即一个主节点对应一个从节点;然后,默认给我们分配好了每个主节点和对应从节点服务,以及 solt 的大小

验证是否成功安装好集群
通过客户端命令连接上,通过集群命令看一下状态和节点信息
/usr/local/software/redis-cluster/bin/redis-cli -c -h 192.168.182.129 -p 7001 -a 123456
cluster info
cluster nodes
设置一个key值
set key1 value1
keys *
get key1

然后登录另外一个实例
/usr/local/software/redis-cluster/bin/redis-cli -c -h 192.168.182.129 -p 7002 -a 123456
get key1
如果返回value1,说明集群运作正常

原文地址:https://www.cnblogs.com/zengnansheng/p/11421436.html

时间: 2024-11-17 06:21:58

Centos7安装Redis(集群模式)的相关文章

安装redis 集群

安装redis集群 第一步:安装相关依赖包 1):安装redis-cluster依赖:redis-cluster的依赖库在使用时有兼容问题,在reshard时会遇到各种错误,请按指定版本安装. (1)确保系统安装zlib,否则geminstall会报(no such file to load -- zlib)     #download:zlib-1.2.6.tar       ./configure      make  make install   或者 yum install zlib (

突破Java面试-Redis集群模式的原理

1 面试题 Redis集群模式的工作原理说一下?在集群模式下,key是如何寻址的?寻址都有哪些算法?了解一致性hash吗? 2 考点分析 Redis不断在发展-Redis cluster集群模式,可以做到在多台机器上,部署多个实例,每个实例存储一部分的数据,同时每个实例可以带上Redis从实例,自动确保说,如果Redis主实例挂了,会自动切换到redis从实例顶上来. 现在新版本,大家都是用Redis cluster的,也就是原生支持的集群模式,那么面试官肯定会就redis cluster对你来

7.redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗?

作者:中华石杉 面试题 redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗? 面试官心理分析 在前几年,redis 如果要搞几个节点,每个节点存储一部分的数据,得借助一些中间件来实现,比如说有 codis,或者 twemproxy,都有.有一些 redis 中间件,你读写 redis 中间件,redis 中间件负责将你的数据分布式存储在多台机器上的 redis 实例中. 这两年,redis 不断在发展

Linux离线安装redis集群

一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,联网环境安装较为简单,这里只说脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网,服务器处于脱机状态. 二.安装环境及工具 系统:CentOS7 工具:XShell5及Xftp5 安装包: Ruby-2.4.2 Rubygems-2.6.14 Redis-4.0.2(3.x版本才开始支持集群功能) openssl-1.1.0f 三.安装步骤 要搭建一个最简单的Redis集群,我们至少

Linux安装redis集群

linux安装单机版redis已经在另一篇文章说过了,下边来搞集群,环境是新浪云服务器: redis3.0以后开始支持集群. 前言:redis用什么做集群? 用一个叫redis-trib.rb的ruby脚本.redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下(redis-xxx/src/).是基于redis提供的集群命令封装成简单.便捷.实用的操作工具.redis-trib.rb是redis作者用ruby完成的.所以redis集群需要先安

就publish/subscribe功能看redis集群模式下的队列技术(一)

Redis 简介 Redis 是完全开源免费的,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储. Redis支持数据的备份,即master-slave模式的数据备份. 性能极高 – Redis能读的速度是110000次/s

Redis集群模式部署

以下以Linux(CentOS)系统为例 1.1 下载和编译 $ wget http://download.redis.io/releases/redis-4.0.7.tar.gz $ tar xzf redis-4.0.7.tar.gz $ cd redis-4.0.7 $ make 1 2 3 4 编译完成后会在src目录下生成Redis服务端程序redis-server和客户端程序redis-cli. 1.2 启动服务 1.前台运行 src/redis-server 1 该方式启动默认为前

深入剖析Redis系列: Redis集群模式搭建与原理详解

前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 Redis 在 分布式 方面的需求.当遇到 单机内存.并发.流量 等瓶颈时,可以采用 Cluster 架构方案达到 负载均衡 的目的. 本文将从 集群方案.数据分布.搭建集群.节点通信.集群伸缩.请求路由.故障转移.集群运维 等几个方面介绍 Redis Cluster. 正文 1. Redis集群方

离线安装redis集群

redis集群需要安装如下组件: ruby rubygems redis ---------------------------------------------------------------------------------- 离线安装ruby 1:上传ruby-2.3.1.tar.gz至服务器: 2:tar -xzvf ruby-2.3.1.tar.gz: 3:cd ruby-2.3.1 4:./configure --prefix='/opt/ruby' 5:make 6:mak