redis cluster 6.2集群
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集群的更多相关文章
- Redis Cluster高可用集群在线迁移操作记录【转】
之前介绍了redis cluster的结构及高可用集群部署过程,今天这里简单说下redis集群的迁移.由于之前的redis cluster集群环境部署的服务器性能有限,需要迁移到高配置的服务器上.考虑 ...
- Redis Cluster高可用集群在线迁移操作记录
之前介绍了redis cluster的结构及高可用集群部署过程,今天这里简单说下redis集群的迁移.由于之前的redis cluster集群环境部署的服务器性能有限,需要迁移到高配置的服务器上.考虑 ...
- 近千节点的Redis Cluster高可用集群案例:优酷蓝鲸优化实战(摘自高可用架构)
(原创)2016-07-26 吴建超 高可用架构导读:Redis Cluster 作者建议的最大集群规模 1,000 节点,目前优酷在蓝鲸项目中管理了超过 700 台节点,积累了 Redis Clus ...
- 【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 ...
- 部署Redis Cluster 6.0 集群并开启密码认证 和 Redis-cluster-proxy负载
部署Redis Cluster集群并开启密码认证 如果只想简单的搭建Redis Cluster,不需要设置密码和公网访问,可以参考官方文档. 节点介绍 Cluster模式推荐最少有6个节点,本次实验搭 ...
- redis cluster 设置密码做集群时gem下client.rb文件修改
redis节点有设置密码,然后在创建集群的时候没有设置密码的命令 ./redis-trib.rb create --replicas 1 127.0.0.1:6381 127.0.0.1:6382 1 ...
- Redis(十)集群:Redis Cluster
一.数据分布 1.数据分布理论 2.Redis数据分区 Redis Cluser采用虚拟槽分区,所有的键根据哈希函数映射到0~16383整数槽内,计算公式:slot=CRC16(key)&16 ...
- Redis 3.0.5 集群的命令、使用、维护
cluster命令 CLUSTER INFO 打印集群的信息 CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息. //节点 CLUSTER MEET < ...
- 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)
本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...
随机推荐
- 快速入门python看过的一些资料
我快速入门python看过的一些资料 B站的视频 10天自学Python,轻松掌握Python基础[千锋] 廖雪峰 - Python教程 https://www.liaoxuefeng.com/wik ...
- NOI / 1.4编程基础之逻辑表达式与条件分支讲解-01:判断数正负
总时间限制: 1000ms 内存限制: 65536kB 题目: 描述 给定一个整数N,判断其正负. 输入 一个整数N(-109 <= N <= 109) 输出 如果N > 0, 输出 ...
- ubu18时间设置
ubu18 日期设置 1.date date 命令修改系统时间,重启失效,需要写入硬件Bios #查看日期 date #修改日期 date -s "2022-01-14 09:32:00&q ...
- 排查jar包使用的第三方包并导出清单
找到jar包 cd /data/xx/lib/xxx/ 解压缩 unzip xxx.jar -d tempjarfile 进入lib目录 cd tempjarfile/BOOT-INF/lib 生产j ...
- 2510-Druid监控功能的深入使用与配置-基于SpringBoot-完全使用java config的形式
环境 springboot 1.5.9.RELEASE + JDK1.8 配置步骤 分两步,1 配置数据源 2 配置监控 直接上代码 1 配置数据源 package com.company.proje ...
- 【Docker】使用Docker Client和Docker Go SDK为容器分配GPU资源
目录 背景 使用 Docker Client 调用 GPU 依赖安装 安装 Docker 安装 NVIDIA Container Toolkit¶ --gpus 用法 使用 Docker Go SDK ...
- 大数据开发,Hadoop Spark太重?你试试esProc SPL
摘要:由于目标和现实的错位,对很多用户来讲,Hadoop成了一个在技术.应用和成本上都很沉重的产品. 本文分享自华为云社区<Hadoop Spark太重,esProc SPL很轻>,作者: ...
- GreatSQL重磅特性,InnoDB并行并行查询优化测试
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 1 ...
- [GYCTF2020]Ezsqli-1|SQL注入
1.打开界面之后在输入框进行输入测试,分别输入1.2.3.'等字符,结果如下: 2.看到bool(false)这里我想到了bool注入,因为之前做过这道题:https://www.cnblogs.co ...
- Luogu3379 【模板】最近公共祖先(LCA) (倍增LCA)
蒟蒻又来复习模板了.还WA了两次 #include <iostream> #include <cstdio> #include <cstring> #include ...