redis-cluster 集群搭建和迁移(一)

2024-08-22 20:32

本文主要是介绍redis-cluster 集群搭建和迁移(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近给公司搭建了一个redis-cluster集群,把原来的单实例的数据迁移到了集群上,踩了一些坑,记录一些

使用的redis 版本是5.0.5 

操作系统  centos7

安装redis-cluster集群需要ruby环境, centos7  yum 源中的ruby  版本太低,不能安装redis,所以必须离线安装。我选择的版本是2.5.3

一.安装ruby

wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.3.tar.gz
tar zxvf ruby-2.5.3.tar.gz
cd ruby-2.5.3
./configure --prefix=/usr/local/ruby
make
make install
/usr/local/ruby/bin/ruby -v
echo "export PATH=$PATH:/usr/local/ruby/bin" >> /etc/profile
source /etc/profile
echo $PATH

安装好ruby 之后并不能使用 gem install redis 来安装插件,还需要安装 zlib 环境和 openssl 环境

二.安装zlib环境

cd ruby-2.5.3/ext/zlib
ls
ruby ./extmk.rb 
make
yum -y install zlib-devel
gem install redis
cd zlib/
ls
ruby ./extconf.rb 
vim Makefile

打开Makefile文件,这段修改
#zlib.o: $(top_srcdir)/include/ruby.h
zlib.o: ../../include/ruby.h

make
make install

三.安装openssl 环境

cd ruby-2.5.3/ext/openssl
yum install openssl-devel -y
ruby ./extconf.rb
make
vim Makefile 

打开Makefile文件,头文件加上
top_srcdir = ../..

make
make install

四.gem 安装redis 插件

gem install redis

五.编译安装redis

mkdir /usr/local/redis
cd /usr/local/redis/上传redis tartar -xvf redis-5.0.5.tar.gz 
cd redis-5.0.5/
make
make install
cd ..
cd redis-5.0.5/
cd src/
./redis-server 

六.配置cluster集群,我这边创建了6个节点

cd /usr/local/redis/redis-5.0.5/src/
./redis-cli 
mkdir redis_cluster
cd redis_cluster/
mkdir 9000 9001 9002 9003 9004 9005cp redis.conf ./redis_cluster/9000
cp redis.conf ./redis_cluster/9001
cp redis.conf ./redis_cluster/9002
cp redis.conf ./redis_cluster/9003
cp redis.conf ./redis_cluster/9004
cp redis.conf ./redis_cluster/9005

七.修改配置文件,所有的节点的配置文件都改一遍

vim redis.confport 9001 //端口9001
daemonize yes //redis后台运行
pidfile ./redis_9001.pid //pidfile文件对应9001
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_9001.conf //集群的配置 配置文件首次启动自动生成 9001
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
bind 192.168.53.134 //绑定的ip,我写的是写本机内网ip//若设置密码,master和slave需同时配置下面两个参数:
masterauth "12345678"    //连接master的密码
requirepass "12345678"    //自己的密码

八.启动所有节点

//进入各个节点的目录启动实例 启动所有节点
/usr/local/redis/redis-5.0.5/src/redis-server /usr/local/redis/redis-5.0.5/redis_cluster/9000/redis.conf
/usr/local/redis/redis-5.0.5/src/redis-server /usr/local/redis/redis-5.0.5/redis_cluster/9001/redis.conf
/usr/local/redis/redis-5.0.5/src/redis-server /usr/local/redis/redis-5.0.5/redis_cluster/9002/redis.conf
/usr/local/redis/redis-5.0.5/src/redis-server /usr/local/redis/redis-5.0.5/redis_cluster/9003/redis.conf
/usr/local/redis/redis-5.0.5/src/redis-server /usr/local/redis/redis-5.0.5/redis_cluster/9004/redis.conf
/usr/local/redis/redis-5.0.5/src/redis-server /usr/local/redis/redis-5.0.5/redis_cluster/9005/redis.conf

九.创建集群,测试

./redis-cli --cluster create 192.168.53.134:9000 192.168.53.134:9001 192.168.53.134:9002 192.168.53.134:9003 192.168.53.134:9004 192.168.53.134:9005./redis-cli -h 192.168.53.134 -p 9000 -c

 

这篇关于redis-cluster 集群搭建和迁移(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097319

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

Redis中使用布隆过滤器解决缓存穿透问题

一、缓存穿透(失效)问题 缓存穿透是指查询一个一定不存在的数据,由于缓存中没有命中,会去数据库中查询,而数据库中也没有该数据,并且每次查询都不会命中缓存,从而每次请求都直接打到了数据库上,这会给数据库带来巨大压力。 二、布隆过滤器原理 布隆过滤器(Bloom Filter)是一种空间效率很高的随机数据结构,它利用多个不同的哈希函数将一个元素映射到一个位数组中的多个位置,并将这些位置的值置

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

Lua 脚本在 Redis 中执行时的原子性以及与redis的事务的区别

在 Redis 中,Lua 脚本具有原子性是因为 Redis 保证在执行脚本时,脚本中的所有操作都会被当作一个不可分割的整体。具体来说,Redis 使用单线程的执行模型来处理命令,因此当 Lua 脚本在 Redis 中执行时,不会有其他命令打断脚本的执行过程。脚本中的所有操作都将连续执行,直到脚本执行完成后,Redis 才会继续处理其他客户端的请求。 Lua 脚本在 Redis 中原子性的原因