redis最新版本:redis-6.2.1.tar.gz

安装的版本是redis-6.0.3

采用的主机:

djz-server-001 192.168.2.163 7001,7002,Admin@135

djz-server-002 192.168.2.164 7001,7002,Admin@135

djz-server-003 192.168.2.165 7001,7002,Admin@135

$ sudo mkdir -p /app/{server,soft}
$ sudo yum -y install centos-release-scl
$ sudo yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
# scl enable devtoolset-9 bash
# cd /app/soft
# wget http://download.redis.io/releases/redis-6.0.3.tar.gz
# tar zxf redis-6.0.3.tar.gz
# cd redis-6.0.3
# make
# make install PREFIX=/app/server/redis-cluster
$ cd /app/server/redis-cluster
$ sudo cp bin/redis-server .
$ sudo cp bin/redis-cli .
$ sudo mkdir -p /app/var/logs/redis
$ sudo mkdir -p /app/server/redis-cluster/run
$ sudo vim redis7001.conf protected-mode yes
port 7001
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /app/server/redis-cluster/run/redis_7001.pid
loglevel notice
logfile "/app/var/logs/redis/redis7001.log"
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump7001.rdb
dir /app/server/redis-cluster/
masterauth Admin@135
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
requirepass Admin@135
maxclients 30000
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
cluster-enabled yes
cluster-config-file nodes_7001.conf
cluster-node-timeout 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
sudo vim /etc/init.d/redis7001

#!/bin/bash
#
# redis startup script for the redis7001 server
#
#
# chkconfig: 345 80 20
# description: start the redis7001 deamon
#
# Source function library
#. /etc/rc.d/init.d/functions app_user=dzfp
export app_user
prog=redis7001
RDPATH_HOME=/app/server/redis-cluster
export RDPATH_HOME
CONF_FILE=redis7001.conf
export CONF_FILE
NODE_FILE=nodes_7001.conf
export NODE_FILE
REDIS_AUTH="Admin@135"
export REDIS_AUTH
P_PORT=7001
export P_PORT if [ "$(whoami)" != "root" ] && [ "$(whoami)" != "${app_user}" ]; then
echo "please run this script as root or ${app_user} ."
exit 1
fi case "$1" in
start)
echo "Starting " ${prog} "..."
cd ${RDPATH_HOME}
if [[ "$(whoami)" = "root" ]]; then
if [ -f ${NODE_FILE} ];then
CLUSTER_MYSELF=`su - ${app_user} -c "cat ${RDPATH_HOME}/${NODE_FILE} |grep myself"`
su - ${app_user} -c "echo ${CLUSTER_MYSELF} > ${RDPATH_HOME}/${NODE_FILE}"
fi
su - ${app_user} -c "${RDPATH_HOME}/redis-server ${RDPATH_HOME}/${CONF_FILE}"
elif [[ "$(whoami)" = "${app_user}" ]]; then
if [ -f ${NODE_FILE} ];then
CLUSTER_MYSELF=`cat ${RDPATH_HOME}/${NODE_FILE} |grep myself`
echo ${CLUSTER_MYSELF} > ${RDPATH_HOME}/${NODE_FILE}
fi
${RDPATH_HOME}/redis-server ${RDPATH_HOME}/${CONF_FILE}
fi
;; stop)
echo "Stopping " ${prog} "..."
cd ${RDPATH_HOME}
if [[ "$(whoami)" = "root" ]]; then
su - ${app_user} -c "${RDPATH_HOME}/redis-cli -a ${REDIS_AUTH} -p ${P_PORT} shutdown"
elif [[ "$(whoami)" = "${app_user}" ]]; then
${RDPATH_HOME}/redis-cli -a ${REDIS_AUTH} -p ${P_PORT} shutdown
fi
;; restart)
echo "Stopping " ${prog} "..."
cd ${RDPATH_HOME}
if [[ "$(whoami)" = "root" ]]; then
su - ${app_user} -c "${RDPATH_HOME}/redis-cli -a ${REDIS_AUTH} -p ${P_PORT} shutdown"
elif [[ "$(whoami)" = "${app_user}" ]]; then
${RDPATH_HOME}/redis-cli -a ${REDIS_AUTH} -p ${P_PORT} shutdown
fi
sleep 2
echo
echo "Starting " ${prog} "..."
cd ${RDPATH_HOME}
if [[ "$(whoami)" = "root" ]]; then
su - ${app_user} -c "${RDPATH_HOME}/redis-server ${RDPATH_HOME}/${CONF_FILE}"
elif [[ "$(whoami)" = "${app_user}" ]]; then
${RDPATH_HOME}/redis-server ${RDPATH_HOME}/${CONF_FILE}
fi
;; *)
echo "Usage: $prog {start|stop|restart}"
;;
esac
exit 0
# chown -R dzfp.dzfp /app/server/redis-cluster /app/var/logs/redis/
# chmod 755 /etc/init.d/redis7001
# chkconfig --add redis7001
# /etc/init.d/redis7001 start
# ps -ef|grep redis
# 根据redis7001配置redis7002服务
# cd /app/server/redis-cluster
# cp -a redis7001.conf redis7002.conf # cp -a /etc/init.d/redis7001 /etc/init.d/redis7002
# sed -i 's/7001/7002/g' redis7002.conf
# sed -i 's/7001/7002/g' /etc/init.d/redis7002 # 服务启动
# chkconfig --add redis7002
# /etc/init.d/redis7002 start

其他主机上也做上述同样的操作

$ cd /app/server/redis-cluster
# 在一台主机上执行 (ip换成实际主机ip)
$ ./redis-cli -a Admin@135 --cluster create 192.168.2.163:7001 192.168.2.164:7001 192.168.2.165:7001 192.168.2.163:7002 192.168.2.164:7002 192.168.2.165:7002 --cluster-replicas 1
$ cd /app/server/redis-cluster
$ ./redis-cli -c -h 192.168.2.163 -p 7001 -a "Admin@135"
192.168.2.163:7001> cluster info
192.168.2.163:7001> cluster nodes 192.168.2.163:7001> set name andy
-> Redirected to slot [5798] located at 192.168.2.164:7001
OK
192.168.2.163:7001> 在其他的节点验证是否成功
$ ./redis-cli -c -h 192.168.2.164 -p 7001 -a "Admin@135" 192.168.2.164:7001> get name
"andy"
192.168.2.164:7001> $ ./redis-cli -c -h 192.168.2.165 -p 7001 -a "Admin@135"
192.168.2.165:7001> get name
-> Redirected to slot [5798] located at 192.168.2.164:7001
"andy"
192.168.2.164:7001>

redis cluster 6.2集群的更多相关文章

  1. Redis Cluster高可用集群在线迁移操作记录【转】

    之前介绍了redis cluster的结构及高可用集群部署过程,今天这里简单说下redis集群的迁移.由于之前的redis cluster集群环境部署的服务器性能有限,需要迁移到高配置的服务器上.考虑 ...

  2. Redis Cluster高可用集群在线迁移操作记录

    之前介绍了redis cluster的结构及高可用集群部署过程,今天这里简单说下redis集群的迁移.由于之前的redis cluster集群环境部署的服务器性能有限,需要迁移到高配置的服务器上.考虑 ...

  3. 近千节点的Redis Cluster高可用集群案例:优酷蓝鲸优化实战(摘自高可用架构)

    (原创)2016-07-26 吴建超 高可用架构导读:Redis Cluster 作者建议的最大集群规模 1,000 节点,目前优酷在蓝鲸项目中管理了超过 700 台节点,积累了 Redis Clus ...

  4. 【docker】【redis】2.docker上设置redis集群---Redis Cluster部署【集群服务】【解决在docker中redis启动后,状态为Restarting,日志报错:Configured to not listen anywhere, exiting.问题】【Waiting for the cluster to join...问题】

    参考地址:https://www.cnblogs.com/zhoujinyi/p/6477133.html https://www.cnblogs.com/cxbhakim/p/9151720.htm ...

  5. 部署Redis Cluster 6.0 集群并开启密码认证 和 Redis-cluster-proxy负载

    部署Redis Cluster集群并开启密码认证 如果只想简单的搭建Redis Cluster,不需要设置密码和公网访问,可以参考官方文档. 节点介绍 Cluster模式推荐最少有6个节点,本次实验搭 ...

  6. redis cluster 设置密码做集群时gem下client.rb文件修改

    redis节点有设置密码,然后在创建集群的时候没有设置密码的命令 ./redis-trib.rb create --replicas 1 127.0.0.1:6381 127.0.0.1:6382 1 ...

  7. Redis(十)集群:Redis Cluster

    一.数据分布 1.数据分布理论 2.Redis数据分区 Redis Cluser采用虚拟槽分区,所有的键根据哈希函数映射到0~16383整数槽内,计算公式:slot=CRC16(key)&16 ...

  8. Redis 3.0.5 集群的命令、使用、维护

    cluster命令 CLUSTER INFO 打印集群的信息 CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息. //节点 CLUSTER MEET < ...

  9. 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

随机推荐

  1. Go语言基础四:数组和指针

    GO语言中数组和指针 数组 Go语言提供了数组类型的数据结构. 数组是同一数据类型元素的集合.这里的数据类型可以是整型.字符串等任意原始的数据类型.数组中不允许混合不同类型的元素.(当然,如果是int ...

  2. word count的reduce过程以及项目打包部署

    map过程已经写完了,上面那个流程我们涉及到了泛型以及序列化,我们要知道每个参数代表的含义,这样有助于我们理解整个流程. 下面我们开始reduce,这个过程我们要把map输出的键值对把key值相同的放 ...

  3. 奇技淫巧玄妙无穷| M1 mac os(苹果/AppleSilicon)系统的基本操作和设置

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_191 最近有个朋友跟我说,说他新入职了一家公司,公司还不错,给他配了一台Mac,但是呢他以前一直在Windows环境下开发,对Ma ...

  4. 针对单个球体的World类

    好了,终于到了可以看到图片的环节了.之前的类,你一定要实现好了.所有关于World类的报错,现在我们一个一个解决来了. 先看看World类的声明: #pragma once #ifndef __WOR ...

  5. BZOJ4569 [Scoi2016]萌萌哒(并查集,倍增)

    类似\(ST表\)的思想,倍增\(log(n)\)地合并 你是我家的吗?不是就来呀啦啦啦.还有要来的吗?没了!那有多少个家就映射多少答案呀 倍增原来这么好玩 #include <iostream ...

  6. Vue3 Transition 过渡效果之基于 CSS 过渡

    介绍 Transistion 路由组件的切换.动态组件的切换.v-if 条件渲染组件以及 v-show 显示组件原本是没有任何过渡(CSS 动画)效果的.然而,Vue 的内置组件<Transit ...

  7. dentry的引用计数不对导致的crash

    [17528853.189372] python invoked oom-killer: gfp_mask=0xd0, order=0, oom_score_adj=-998[17528853.189 ...

  8. 检查一个数值是否为有限的Number.isFinite()

    如果参数类型不是数值,Number.isFinite()一律返回false. Number.isFinite(15); // true Number.isFinite(0.8); // true Nu ...

  9. 人人都能看懂的卡西欧fx991cnx玩机指南,手把手教你如何利用计算器的漏洞爆机

    专业术语说明 你是VerB还是VerC 别人问你这个问题的时候不要慌,帮你看你的计算器是Ver几: 同时按住shift.7.开机键 9 5次shift 第一行后半句即是 紧接着可以顺便看看计算器的序列 ...

  10. redis-string类型命令

    一.APPEND key value 如果 key 已经存在,并且值为字符串,那么这个命令会把 value 追加到原来值(value)的结尾. 如果 key 不存在,那么它将首先创建一个空字符串的ke ...