首页 > 数据库 >Redis4.0.12集群搭建

Redis4.0.12集群搭建

时间:2024-10-26 11:21:57浏览次数:9  
标签:12 6379 redis cluster Redis4.0 集群 usr 10.10 local

服务器:
节点1:10.10.175.55 端口:6379/7379
节点2:10.10.175.56 端口:6379/7379
节点3:10.10.175.57 端口:6379/7379

以下操作均需在每台服务器上执行

  1. 安装依赖关系

yum install make zlib openssl* ImageMagick-devel gcc* rubygems -y

2、创建节点目录
mkdir -p /usr/local/redis-cluster/redis6379
mkdir -p /usr/local/redis-cluster/redis7379

3、下载redis-4.0.12版本并解压
cd /usr/local/redis-cluster

wget http://download.redis.io/releases/redis-4.0.12.tar.gz

tar -zxvf redis-4.0.12.tar.gz

4、安装redis
cd redis-4.0.12
make #编译
make install PREFIX=/usr/local/redis #编译安装并将redis放在/usr/local/redis下,这样就可以直接使用redis

5、配置集群文件

将配置文件复制到安装目录
cp redis.conf /usr/local/redis-cluster/redis6379/redis-6379.conf
将配置安装文件复制到集群节点
cp /usr/local/redis/bin/* /usr/local/redis-cluster/redis6379/
cp /usr/local/redis/bin/* /usr/local/redis-cluster/redis7379/

内核调优(可无)

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo "vm.overcommit_memory = 1" >> /usr/local/sysctl.conf

6、编辑配置文件
vim /usr/local/redis-cluster/redis6379/redis-6379.conf
更改以下配置:
port 6379 #端口
cluster-enabled yes #启用集群模式
cluster-node-timeout 5000 #超时时间
protected-mode no
appendonly yes #开启持久化模式
daemonize yes #后台运行
bind 10.10.175.55 #127.0.0.0配置为本机IP
cluster-config-file nodes-6379.conf #nodes配置为节点名称,不输入的话就是默认port端口
pidfile /var/run/redis_6379.pid #防止启动多个进程副本,只启动7376
requirepass Redispass01! #在最后一行加入密码

更改完成后复制redis-6379.conf至redis-7379并修改端口、pid和nodes文件名称

cp /usr/local/redis-cluster/redis6379/redis-6379.conf /usr/local/redis-cluster/redis7379/redis-7379.conf

vim /usr/local/redis-cluster/redis7379/redis-7379.conf

6379和7379更改完成后拷贝至另外两台服务器,并修改pid IP地址信息
7、安装ruby(在10.10.175.55主节点安装就行)
上传ruby-3.0.1.tar.gz安装包
tar zxvf ruby-3.0.1.tar.gz
cd ruby-3.0.1
./configure --prefix=/usr/local/ruby-3.0.1
make && make install
rm -f /usr/bin/ruby
rm -f /usr/bin/gem
ln -s /usr/local/ruby-3.0.1/bin/ruby /usr/bin/ruby
ln -s /usr/local/ruby-3.0.1/bin/gem /usr/bin/gem
ruby --version
gem --version
8、安装redis集群依赖包
wget http://rubygems.org/downloads/redis-4.0.0.gem
上传redis-4.0.0.gem包
gem install -l ./redis-4.0.0.gem
9、更改ruby调用的redis密码
find / -name client.rb
vim /usr/local/ruby-3.0.1/lib/ruby/gems/3.0.0/gems/redis-4.0.0/lib/redis/client.rb
password => "Redispass01!"
10、启动redis
每台服务器上编辑startall.sh脚本
cd /usr/local/redis-cluster

/bin/bash

DIR=/usr/local/redis-cluster
cd $DIR/redis6379
./redis-server redis-6379.conf
cd $DIR/redis7379
./redis-server redis-7379.conf
ps -ef |grep redis|grep -v grep

启动redis
sh startall.sh
10、启动redis集群(主节点)
cd /usr/local/redis-cluster/src/
./redis-trib.rb create --replicas 1 10.10.175.55:6379 10.10.175.55:7379 10.10.175.56:6379 10.10.175.56:7379 10.10.175.57:6379 10.10.175.57:7379
输入yes
11、测试集群
[root@bjtn-5g183-151 src]# ./redis-cli -c -h 10.10.183.151 -p 6379 -a Redispass01! 必须输入-c参数
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
10.10.183.151:6379> get *
(nil)
10.10.183.151:6379> keys *
(empty list or set)
10.10.183.151:6379> set name lee
-> Redirected to slot [5798] located at 10.10.183.152:6379
OK
10.10.183.152:6379> get name
"lee"
10.10.183.152:6379>
[root@bjtn-5g183-151 src]# redis-cli -c -h 10.10.183.152 -p 6379 -a Redispass01! get name
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
"lee"
[root@bjtn-5g183-151 src]# redis-cli -c -h 10.10.183.153 -p 6379 -a Redispass01! get name
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
"lee"
[root@bjtn-5g183-151 src]# redis-cli -c -h 10.10.183.153 -p 7379 -a Redispasswd01! get name
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
"lee"
[root@bjtn-5g183-151 src]# redis-cli -c -h 10.10.183.152 -p 7379 -a Redispasswd01! get name
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
"lee"
[root@bjtn-5g183-151 src]# redis-cli -c -h 10.10.183.151 -p 7379 -a Redispasswd01! get name
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
"lee"

12、停止集群
每台服务器上编辑stopall.sh脚本
cd /usr/local/redis-cluster

/bin/bash

PID1=ps -ef |grep 6379|grep -v grep|awk '{print $2}'
PID2=ps -ef |grep 7379|grep -v grep|awk '{print $2}'
kill -9 $PID1 $PID2
ps -ef |grep 'redis'
13、再次启动集群
注意再次启动需要删除每个节点下生成的文件,示例:
cd /usr/local/redis-cluster/redis6379
rm -rf appendonly.aof nodes-6379.conf dump.rdb
cd /usr/local/redis-cluster/redis7379
rm -rf appendonly.aof nodes-7379.conf dump.rdb

标签:12,6379,redis,cluster,Redis4.0,集群,usr,10.10,local
From: https://www.cnblogs.com/xiaobaijin/p/18503806

相关文章

  • UVA11294 Wedding 题解
    洛谷题目传送门前排提示:本题需要用到知识点2-SAT以及强联通分量,模板传送门P4782【模板】2-SAT。题目大意:有至多303030对夫妻将会参加一个婚宴。他们将会坐在一个......
  • Zookeeper实战 集群环境部署
    1、概述今天我们来学习一下Zookeeper集群相关的内容,本文主要的内容有集群环境的搭建,集群常见的问题和对应的解决方案。2、集群环境搭建2.1、准备工作首先我们准备好安装包,创建好集群部署的路径。将解压后的安装文件复制三分。这里我在/usr/local目录下创建了一个zkCluster......
  • k8s 1.28.2 集群部署 NFS server 和 NFS Subdir External Provisioner
    目录前言部署NFSserver镜像准备节点打标签启动NFSserver创建pv验证创建pvc创建pod挂载验证部署NFSSubdirExternalProvisioner创建pod验证提前创建pvc的方式使用volumeClaimTemplates的方式前言NFSSubdirExternalProvisioner可以使用现有的NFS服务器......
  • 20241024每日一题洛谷P1012
    普及-洛谷P1012拼数设有n个正整数,a1a2a3......an将它们联接成一排,相邻数字首尾相接,组成一个最大的整数输入:第一行有一个整数,表示数字个数n第二行有n个整数,表示给出的n个整数ai输出:一个正整数,表示最大的整数可以考虑两种路线:使用sort函数编辑cmp参数进行字符串......
  • 力扣练习1264.页面推荐
    1264.页面推荐一、题目链接二、题目描述三、建表语句四、题目解答1、思路讲解2、代码实现五、知识总结一、题目链接1264.页面推荐(需要会员)二、题目描述朋友关系列表:Friendship±--------------±--------+|ColumnName|Type|±--------------±--------+......
  • C语言-详细讲解-洛谷P1255 数楼梯
    目录1.题目要求2.题目解读 1.如何计算走法数?2.如何解决大数加法,防止数据溢出1.进位的处理2.正序运算,倒序输出3.寻找结果中最高的非零位3.代码实现1.题目要求2.题目解读 一道非常经典的题目,简洁易懂,但需要一定的数学思维,难点如下:1.如何计算走法数?这里需要我......
  • Day 12 闭包函数 + 装饰器 (如懂*-*)
    目录0昨日复习0.1函数对象0.1.1引用0.1.2当作函数的返回值0.1.3当作函数的参数0.1.4当作容器的元素0.2函数的嵌套0.3空间名称与作用域1闭包函数1.1何为闭包?1.2代码展示(这就是闭包!)1.3闭包的应用2装饰器2.1装饰器是什么?2.2为什么要用装饰器?(如懂,2.3怎么用装饰器?2.3.1......
  • 处理容器报错:[ERROR] .. Get “http://safeline-fvm/skynetinto“: dial tp: lookup s
    雷池社区版(WAF)是基于容器部署的在容器化应用的部署和运行过程中,我们常常会遇到各种报错信息。其中,形如“[ERROR]detect/skynet.go:114Get“http://safeline-fvm/skynetinto":dialtp:lookupsafeline-fvmon127.0.0.11:53:servermisbehaving”以及“panic:Get......
  • Spectrum 6.4G 12bit数据采集卡
    M5i.33xx-x1612位数据采集卡采样率高达6.4GS/s 产品简述高性能的M5i.33xx系列高速数据采集卡,提供了结合高精度、高采样率、高带宽和业内最快流盘速度的数字化仪指标。一个高速采集系统可以选择6.4GS/s和12bit精度的连续数据流模式至CPU或GPU。M5i系列是基于......
  • 12-linux服务器 sh自启动脚本
    screenrun.sh自启脚本#!/bin/bashecho"screenDuration_serverstart..."#killallpython3sleep0.5pushd/home/rootgpu1/interface/home/rootgpu1/miniconda3/bin/pythonscreenDuration.py&sleep1whiletruepid_array=("screenDuration.py&......