Linux CentOS 下安装版本 Redis 5.x 聚群操作手册 Red Hat Enterprise Linux Server release 7.1 的示例分析
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本篇文章给大家分享的是有关Linux CentOS 下安装版本 Redis 5.x 聚群操作手册 Red Hat Enterprise Linux Server release 7.1的示例分析 ,小
千家信息网最后更新 2025年02月05日Linux CentOS 下安装版本 Redis 5.x 聚群操作手册 Red Hat Enterprise Linux Server release 7.1 的示例分析
本篇文章给大家分享的是有关Linux CentOS 下安装版本 Redis 5.x 聚群操作手册 Red Hat Enterprise Linux Server release 7.1的示例分析 ,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
安装环境
序号 项目 值1 OS版本 Red Hat Enterprise Linux Server release 7.1 (Maipo)2 内核版本 3.10.0-229.el7.x86_643 Redis redis-5.0.44 Ruby ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-linux]节点信息规划本来只准备部署7001-7006 6个实例,但是redis集群提示最少需要3个主节点,6个节点才能完成启动,所以后面2个是后来加的。注意:这里因为是测试环境,所以将所有实例都放在了一台机器上,生产建议主备节点不要放在一台机器上序号 IP地址 端口 主备 节点配置文件1 192.168.9.216 7001 主 /data/program/redis/etc/redis-7001.conf2 192.168.9.216 7002 主 /data/program/redis/etc/redis-7002.conf3 192.168.9.216 7003 主 /data/program/redis/etc/redis-7003.conf4 192.168.9.216 7004 备 /data/program/redis/etc/redis-7004.conf5 192.168.9.216 7005 备 /data/program/redis/etc/redis-7005.conf6 192.168.9.216 7006 备 /data/program/redis/etc/redis-7006.conf一、下载对应的redis 安装包,并且解压和安装[root@elk01 opt]# wget http://download.redis.io/releases/redis-5.0.4.tar.gz--2017-10-26 09:33:23-- http://download.redis.io/releases/redis-5.0.4.tar.gzResolving download.redis.io (download.redis.io)... 109.74.203.151Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 1711660 (1.6M) [application/x-gzip]Saving to: 'redis-5.0.4.tar.gz'100%[======================================================>] 1,711,660 426KB/s in 3.9s2017-10-26 09:33:28 (426 KB/s) - 'redis-5.0.4.tar.gz' saved [1711660/1711660][root@elk01 program]# ll redis-5.0.4.tar.gz-rw-r--r-- 1 root root 1711660 Jul 24 21:59 redis-5.0.4.tar.gz[root@CentOS program]# mv redis-5.0.4 redis二、创建对应的需要目录;[root@elk01 program]# cd redis[suven@CentOS redis]$ lltotal 268-rw-rw-r--. 1 suven suven 99445 Mar 18 12:21 00-RELEASENOTES-rw-rw-r--. 1 suven suven 53 Mar 18 12:21 BUGS-rw-rw-r--. 1 suven suven 1894 Mar 18 12:21 CONTRIBUTING-rw-rw-r--. 1 suven suven 1487 Mar 18 12:21 COPYINGdrwxr-xr-x. 8 root root 4096 Mar 26 00:01 datadrwxrwxr-x. 6 suven suven 4096 Mar 25 23:12 depsdrwxr-xr-x. 2 root root 4096 Mar 25 23:57 etc-rw-rw-r--. 1 suven suven 11 Mar 18 12:21 INSTALLdrwxr-xr-x. 2 root root 4096 Mar 26 00:02 logs-rw-rw-r--. 1 suven suven 151 Mar 18 12:21 Makefile-rw-rw-r--. 1 suven suven 4223 Mar 18 12:21 MANIFESTO-rw-rw-r--. 1 suven suven 20555 Mar 18 12:21 README.md-rw-rw-r--. 1 suven suven 62155 Mar 18 12:21 redis.conf-rwxrwxr-x. 1 suven suven 275 Mar 18 12:21 runtest-rwxrwxr-x. 1 suven suven 280 Mar 18 12:21 runtest-cluster-rwxrwxr-x. 1 suven suven 281 Mar 18 12:21 runtest-sentinel-rw-rw-r--. 1 suven suven 9710 Mar 18 12:21 sentinel.confdrwxrwxr-x. 3 suven suven 4096 Mar 25 23:45 src-rw-r--r--. 1 root root 0 Mar 25 23:59 stdoutdrwxrwxr-x. 10 suven suven 4096 Mar 18 12:21 testsdrwxrwxr-x. 8 suven suven 4096 Mar 18 12:21 utils三、创建目录脚本如下:[root@CentOS redis]# mkdir -p /data/program/redis/etc[root@CentOS redis]# mkdir -p /data/program/redis/logs[root@CentOS redis]# mkdir -p /data/program/redis/run[root@CentOS redis]# mkdir -p /data/program/redis/data[root@CentOS redis]# mkdir -p /data/program/redis/data/{7001,7002,7003,7004,7005,7006}四、上传配置文件到创建的etc目录上,执行修改脚本:(1).修改配置ip:将配置文件大写的IP,转换成对应的服务器ip地址(127.0.0.1),具体到把个配置文件sed -i "s/IP/ 127.0.0.1" /data/program/redis/etc/redis-7001.conf或(linux 正规匹配所有文件)sed -i "s/IP/ 127.0.0.1" /data/program/redis/etc/redis-700*.conf(2).修改配置文件PORT:将配置文件大写的PORT,转换成对应的redis启动服务端口7001,具体到把个配置文件sed -i "s/PORT/ 7001" /data/program/redis/etc/redis-7001.confsed -i "s/PORT/ 7002" /data/program/redis/etc/redis-7002.confsed -i "s/PORT/ 7003" /data/program/redis/etc/redis-7003.confsed -i "s/PORT/ 7004" /data/program/redis/etc/redis-7004.confsed -i "s/PORT/ 7005" /data/program/redis/etc/redis-7005.confsed -i "s/PORT/ 7006" /data/program/redis/etc/redis-7006.conf执行编译安装命令: make test[root@localhost redis]# make testcd src && make testmake[1]: Entering directory `/data/program/redis/src最后看到的结果:Hint: It's a good idea to run 'make test' ;) INSTALL install INSTALL install INSTALL install INSTALL install INSTALL installmake[1]: Leaving directory `/data/program/redis/src'备注:分分钟搞定Redis编译安装1. 依赖包安装yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl五、启动redis结点服务命令:[root@CentOS redis] cd /data/program/redis/[root@CentOS redis] src/redis-server etc/redis-7001.conf[root@CentOS redis] src/redis-server etc/redis-7002.conf[root@CentOS redis] src/redis-server etc/redis-7003.conf[root@CentOS redis] src/redis-server etc/redis-7004.conf[root@CentOS redis] src/redis-server etc/redis-7005.conf[root@CentOS redis] src/redis-server etc/redis-7006.conf六、查看redis结点服务是否正常启动:[suven@CentOS etc]$ ps -ef | grep redisroot 7470 1 0 00:01 ? 00:00:14 /data/program/redis/src/redis-server 10.211.55.5:7001 [cluster]root 8377 1 0 00:01 ? 00:00:14 /data/program/redis/src/redis-server 10.211.55.5:7002 [cluster]root 8591 1 0 00:01 ? 00:00:14 /data/program/redis/src/redis-server 10.211.55.5:7003 [cluster]root 9597 1 0 00:02 ? 00:00:14 /data/program/redis/src/redis-server 10.211.55.5:7004 [cluster]root 9816 1 0 00:02 ? 00:00:14 /data/program/redis/src/redis-server 10.211.55.5:7005 [cluster]root 10031 1 0 00:02 ? 00:00:14 /data/program/redis/src/redis-server 10.211.55.5:7006 [cluster]suven 19158 9380 0 04:04 pts/0 00:00:00 grep --color=auto redis 注:如果没有看到进程信息;请查看[root@CentOS redis]$ tail -200f logs/redis7001.log 910:C 25 Mar 2019 23:59:35.959 # Can't chdir to '/data/program/redis/data/7001': No such file or directory7469:C 26 Mar 2019 00:01:32.452 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo7469:C 26 Mar 2019 00:01:32.452 # Redis version=5.0.4, bits=64, commit=00000000, modified=0, pid=7469, just started7469:C 26 Mar 2019 00:01:32.452 # Configuration loaded7470:M 26 Mar 2019 00:01:32.454 * No cluster configuration found, I'm 63243f121eb2e90ea3da9d6c7931b577c313e1a07470:M 26 Mar 2019 00:01:32.456 * Running mode=cluster, port=7001.7470:M 26 Mar 2019 00:01:32.456 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.7470:M 26 Mar 2019 00:01:32.456 # Server initialized七、执行结点实现聚群脚本:[root@CentOS redis] src/redis-trib.rb create --replicas 1 10.211.55.5:7001 10.211.55.5:7002 10.211.55.5:7003 10.211.55.5:7004 10.211.55.5:7005 10.211.55.5:7006src/redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1(1).注: 需要安装ruby2.2.2以上版本,卸载老版本ruby2.0.0[root@elk01 ~]# ruby -vruby 2.0.0p648 (2015-12-16) [x86_64-linux][root@elk01 ~]# rpm -qa | grep rubyruby-libs-2.0.0.648-29.el7.x86_64rubygem-bigdecimal-1.2.0-29.el7.x86_64rubygems-2.0.14.1-29.el7.noarchrubygem-psych-2.0.0-29.el7.x86_64rubygem-json-1.7.7-29.el7.x86_64ruby-irb-2.0.0.648-29.el7.noarchrubygem-io-console-0.4.2-29.el7.x86_64ruby-2.0.0.648-29.el7.x86_64rubygem-rdoc-4.0.0-29.el7.noarch[root@elk01 ~]# yum erase ruby注:如果还是旧片本,请参与centos7 rhel7安装较高版本ruby2.2、2.3、2.4笔记执行(2).查看ruby软件版本号,如果低于ruby2.2,执行面删除ruby -v rpm -qa | grep ruby(3).重新安装ruby2.4版本脚本 yum install -y gcc* openssl* wget yum install centos-release-scl-rh yum install rh-ruby24 -y scl enable rh-ruby24 bash(4).查看ruby软件版本号[root@localhost redis]# ruby -vruby 2.4.5p335 (2018-10-18 revision 65137) [x86_64-linux][root@localhost redis]# yum install rubygems[root@localhost redis]# gem install redis八、执行redis 结点聚群脚本;结果如下:其中会提示输入(yes/no),输入yes 即可;[root@CentOS redis]# redis-cli --cluster create 10.211.55.5:7001 10.211.55.5:7002 10.211.55.5:7003 10.211.55.5:7004 10.211.55.5:7005 10.211.55.5:7006 --cluster-replicas 1>>> Performing hash slots allocation on 6 nodes...Master[0] -> Slots 0 - 5460Master[1] -> Slots 5461 - 10922Master[2] -> Slots 10923 - 16383Adding replica 10.211.55.5:7005 to 10.211.55.5:7001Adding replica 10.211.55.5:7006 to 10.211.55.5:7002Adding replica 10.211.55.5:7004 to 10.211.55.5:7003>>> Trying to optimize slaves allocation for anti-affinity[WARNING] Some slaves are in the same host as their masterM: 63243f121eb2e90ea3da9d6c7931b577c313e1a0 10.211.55.5:7001 slots:[0-5460] (5461 slots) masterM: 53692efbc07d2279f267dbba441a06121ea1042f 10.211.55.5:7002 slots:[5461-10922] (5462 slots) masterM: 4665614f463a77ee12f9afd680e96b7af69c9889 10.211.55.5:7003 slots:[10923-16383] (5461 slots) masterS: baa658b4068c5125057e885ead90c985c308b9ae 10.211.55.5:7004 replicates 53692efbc07d2279f267dbba441a06121ea1042fS: 1a30085728c4d20c7528be2a2faa8d769b5456d1 10.211.55.5:7005 replicates 4665614f463a77ee12f9afd680e96b7af69c9889S: e3e9c6e39f9969cc202cd90f045c2acb6b12b427 10.211.55.5:7006 replicates 63243f121eb2e90ea3da9d6c7931b577c313e1a0Can I set the above configuration? (type 'yes' to accept): yes>>> Nodes configuration updated>>> Assign a different config epoch to each node>>> Sending CLUSTER MEET messages to join the clusterWaiting for the cluster to join...>>> Performing Cluster Check (using node 10.211.55.5:7001)M: 63243f121eb2e90ea3da9d6c7931b577c313e1a0 10.211.55.5:7001 slots:[0-5460] (5461 slots) master 1 additional replica(s)S: e3e9c6e39f9969cc202cd90f045c2acb6b12b427 10.211.55.5:7006 slots: (0 slots) slave replicates 63243f121eb2e90ea3da9d6c7931b577c313e1a0M: 4665614f463a77ee12f9afd680e96b7af69c9889 10.211.55.5:7003 slots:[10923-16383] (5461 slots) master 1 additional replica(s)M: 53692efbc07d2279f267dbba441a06121ea1042f 10.211.55.5:7002 slots:[5461-10922] (5462 slots) master 1 additional replica(s)S: 1a30085728c4d20c7528be2a2faa8d769b5456d1 10.211.55.5:7005 slots: (0 slots) slave replicates 4665614f463a77ee12f9afd680e96b7af69c9889S: baa658b4068c5125057e885ead90c985c308b9ae 10.211.55.5:7004 slots: (0 slots) slave replicates 53692efbc07d2279f267dbba441a06121ea1042f[OK] All nodes agree about slots configuration.>>> Check for open slots...>>> Check slots coverage...[OK] All 16384 slots covered.九、连接到对应的redis 聚群脚本: 一定要 -c[root@CentOS redis]# src/redis-cli -c -h 10.211.55.5 -p 7001 10.211.55.5:7001> 十、查看redis聚群信息命令:CLUSTER info10.211.55.5:7001> CLUSTER infocluster_state:okcluster_slots_assigned:16384cluster_slots_ok:16384cluster_slots_pfail:0cluster_slots_fail:0cluster_known_nodes:6cluster_size:3cluster_current_epoch:6cluster_my_epoch:1cluster_stats_messages_ping_sent:385cluster_stats_messages_pong_sent:385cluster_stats_messages_sent:770cluster_stats_messages_ping_received:380cluster_stats_messages_pong_received:385cluster_stats_messages_meet_received:5cluster_stats_messages_received:770十一、查看redis聚群结点分配信息命令(CLUSTER 区分大小写 ):CLUSTER nodes 10.211.55.5:7001> CLUSTER nodese3e9c6e39f9969cc202cd90f045c2acb6b12b427 10.211.55.5:7006@17006 slave 63243f121eb2e90ea3da9d6c7931b577c313e1a0 0 1553588727578 6 connected4665614f463a77ee12f9afd680e96b7af69c9889 10.211.55.5:7003@17003 master - 0 1553588728081 3 connected 10923-1638353692efbc07d2279f267dbba441a06121ea1042f 10.211.55.5:7002@17002 master - 0 1553588726573 2 connected 5461-109221a30085728c4d20c7528be2a2faa8d769b5456d1 10.211.55.5:7005@17005 slave 4665614f463a77ee12f9afd680e96b7af69c9889 0 1553588726000 5 connectedbaa658b4068c5125057e885ead90c985c308b9ae 10.211.55.5:7004@17004 slave 53692efbc07d2279f267dbba441a06121ea1042f 0 1553588728000 4 connected63243f121eb2e90ea3da9d6c7931b577c313e1a0 10.211.55.5:7001@17001 myself,master - 0 1553588727000 1 connected 0-546010.211.55.5:7001> 十二、验证是否可用,测试用例10.211.55.5:7001> set keytest testvalueOK10.211.55.5:7001> get keytest"testvalue"10.211.55.5:7001> CLUSTER INFO 打印集群的信息CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。 //节点CLUSTER MEET将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。CLUSTER FORGET 从集群中移除 node_id 指定的节点。CLUSTER REPLICATE 将当前节点设置为 node_id 指定的节点的从节点。CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。CLUSTER ADDSLOTS [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点。CLUSTER DELSLOTS [slot ...] 移除一个或多个槽对当前节点的指派。CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。CLUSTER SETSLOT NODE 将槽 slot 指派给 node_id 指定的节点。CLUSTER SETSLOT MIGRATING 将本节点的槽 slot 迁移到 node_id 指定的节点中。CLUSTER SETSLOT IMPORTING 从 node_id 指定的节点中导入槽 slot 到本节点。CLUSTER SETSLOT STABLE 取消对槽 slot 的导入(import)或者迁移(migrate)。 //键CLUSTER KEYSLOT 计算键 key 应该被放置在哪个槽上。CLUSTER COUNTKEYSINSLOT 返回槽 slot 目前包含的键值对数量。CLUSTER GETKEYSINSLOT 返回 count 个 slot 槽中的键。 //新增CLUSTER SLAVES node-id 返回一个master节点的slaves 列表
以上就是Linux CentOS 下安装版本 Redis 5.x 聚群操作手册 Red Hat Enterprise Linux Server release 7.1的示例分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
节点
版本
文件
配置
聚群
信息
脚本
集群
结点
命令
服务
目录
手册
操作手册
示例
分析
地址
多个
大写
实例
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库的等值连接
银川在线学习软件开发
网络安全日青少年答题
17173怀旧天龙数据库
网络安全稳定形势分析
为什么总是连不上网络服务器
数据库跨平台技术
梦幻西游2哪个服务器人多
分词 数据库
东丽网络技术证书
点筹互联网农业科技公司怎么样
安卓习惯类软件开发
服务器开机卡在内存初始化多久
徐汇区网络软件开发收费套餐
数据库线性搜索
我的世界基岩版如何在服务器
通过sql检阅数据库信息
越秀区无源网络技术开发服务标准
网络技术更新速度
软件开发增量系统
宝塔服务器管理java
vs程序怎么连接数据库失败
数据库日期型能直接比较吗
深圳tcl软件开发面试
华为服务器是x86架构的
中国移动最快的接入点服务器
足球对冲打水试用软件开发
博图是用vs软件开发的吗
浏览器连接服务器超时
数据库语言教程