redis集群搭建

一、说明: 1、redis节点 3主 3从 192.168.1.55:6300 192.168.1.55:6301 wh-52 192.168.1.59:6300 192.168.1.59:6301 wh-53 192.168.1.87:6300 192.168.1.87:6301 wh-54 2、redis版本 :最新稳定版3.0.6 3、安装配置 安装目录:/usr/local/src/redis-3.0.6/src/ 配置文件:/et/redis_630{0,1}.conf 二、搭建 1、安装redis-3.0.6 [root@wh-52 ~]#cd /usr/local/src [root@wh-52 src]# wget http://download.redis.io/releases/redis-3.0.6.tar.gz [root@wh-52 src]# tar zxvf redis-3.0.6.tar.gz [root@wh-52 src]# yum install gcc openssl-devel pcre-devel zlib-devel ruby rubygems [root@wh-52 src]# cd redis-3.0.6 [root@wh-52redis-3.0.6]# make [root@wh-52redis-3.0.6]# make test 2、集群创建准备 [root@wh-52 ~]# cd /usr/local/src/redis-3.0.6/src/ [root@wh-52 src]# cp redis-trib.rb redis-server redis-cli /bin/ 安装ruby及ruby的redis模块 [root@wh-52 src]# yum -y install ruby rubygems [root@wh-52 src]# gem install redis --version 3.0.6 (等1分钟) Successfully installed redis-3.0.6 1 gem installed Installing ri documentation for redis-3.0.6... Installing RDoc documentation for redis-3.0.6... 创建目录(配置文件涉及到的目录) [root@wh-52 src]# cd /home/ [root@wh-52 home]# mkdir redis_6300 redis_6301 创建配置文件(注意端口修改) [root@wh-52~]# cd /etc [root@wh-52 etc]# touch redis_6300.conf redis_6301.conf [root@wh-52 etc]# vi redis_6300.conf [root@wh-52 etc]# vi redis_6301.conf 启动端口服务 [root@wh-52 etc]# /usr/local/src/redis-3.0.6/src/redis-server /etc/redis_6300.conf [root@wh-52 etc]# /usr/local/src/redis-3.0.6/src/redis-server /etc/redis_6301.conf 同样方法,对剩余2台主机做同样的操作。 3、创建集群 #选举规则 节点角色由启动顺序决定,先master之后是slave,本文中6300是master,6301是slave 初始化集群 [root@wh-53 etc]# /usr/local/src/redis-3.0.6/src/redis-trib.rb create --replicas 1 192.168.1.55:6300 192.168.1.59:6300 192.168.1.87:6300 192.168.1.55:6301 192.168.1.59:6301 192.168.1.87:6301 查看集群状态、列出节点详细信息 [root@wh-53 etc]# /usr/local/src/redis-3.0.6/src/redis-cli -c -p 6300 127.0.0.1:6300> CLUSTER info 127.0.0.1:6300> CLUSTER nodes 5、集群测试 手动关闭一个redis-server端口进程(以192.168.1.87为例)。可以看到(87:6300)down,(59:6301)mater [root@wh-54 etc]# netstat -lnp |grep redis tcp 0 0 0.0.0.0:16300 0.0.0.0:* LISTEN 3026/redis-server * tcp 0 0 0.0.0.0:16301 0.0.0.0:* LISTEN 3030/redis-server * tcp 0 0 0.0.0.0:6300 0.0.0.0:* LISTEN 3026/redis-server * tcp 0 0 0.0.0.0:6301 0.0.0.0:* LISTEN 3030/redis-server * tcp 0 0 :::16300 :::* LISTEN 3026/redis-server * tcp 0 0 :::16301 :::* LISTEN 3030/redis-server * tcp 0 0 :::6300 :::* LISTEN 3026/redis-server * tcp 0 0 :::6301 :::* LISTEN 3030/redis-server * [root@wh-54 etc]# kill -9 3026 [root@wh-54 etc]# /usr/local/src/redis-3.0.6/src/redis-cli -c -p 6301 127.0.0.1:6301> CLUSTER nodes 60ec356fa9e3a60d50b6b5a6c66520a8f3b63e21 192.168.1.87:6300 master,fail - 1454326034837 1454326028321 3 disconnected 1368481dd24815935e911c08b5a6c38c4cdc994c 192.168.1.59:6301 master - 0 1454326120686 7 connected 0-5460 acc3382b04838c7398aa3584514c15b64637c96b 192.168.1.87:6301 myself,slave d7aeefc22768484264a9028bc2c123c73e697895 0 0 6 connected bfdfaf93e9ce73e485cd5f464dd0278b06bc3f2b 192.168.1.55:6300 master - 0 1454326119182 1 connected 10923-16383 d7aeefc22768484264a9028bc2c123c73e697895 192.168.1.59:6300 master - 0 1454326122695 2 connected 5461-10922 dfbaf848ce5731249712c2902344127b74b0c9f1 192.168.1.55:6301 slave bfdfaf93e9ce73e485cd5f464dd0278b06bc3f2b 0 1454326121691 4 connected 恢复该端口进程,可以看到(87:6300)变成slave角色,(59:6301)还是mater [root@wh-54 etc]# /usr/local/src/redis-3.0.6/src/redis-server /etc/redis_6300.conf [root@wh-54 etc]# /usr/local/src/redis-3.0.6/src/redis-cli -c -p 6301 127.0.0.1:6301> CLUSTER NODES 60ec356fa9e3a60d50b6b5a6c66520a8f3b63e21 192.168.1.87:6300 slave 1368481dd24815935e911c08b5a6c38c4cdc994c 0 1454326652647 7 connected 1368481dd24815935e911c08b5a6c38c4cdc994c 192.168.1.59:6301 master - 0 1454326653648 7 connected 0-5460 acc3382b04838c7398aa3584514c15b64637c96b 192.168.1.87:6301 myself,slave d7aeefc22768484264a9028bc2c123c73e697895 0 0 6 connected bfdfaf93e9ce73e485cd5f464dd0278b06bc3f2b 192.168.1.55:6300 master - 0 1454326654649 1 connected 10923-16383 d7aeefc22768484264a9028bc2c123c73e697895 192.168.1.59:6300 master - 0 1454326650640 2 connected 5461-10922 dfbaf848ce5731249712c2902344127b74b0c9f1 192.168.1.55:6301 slave bfdfaf93e9ce73e485cd5f464dd0278b06bc3f2b 0 1454326651644 4 connected 6、经过检验,实验成功完成。后期继续集群理论的学习。 不要让懒惰占据你的大脑,不让要妥协拖跨你的人生。青春就是一张票,能不能赶上时代的快车,你的步伐掌握在你的脚下,good luck

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Samego开发资源

IDEA配置Tomcat服务器并创建Java Web项目

33130
来自专栏分布式系统和大数据处理

基于Docker的持续集成方案(安装和配置MySql) - Part.3

这篇文章介绍了使用Docker安装MySql数据库的操作步骤,以及安装完成后如何对MySql进行配置。

21030
来自专栏程序小工

【Docker】--安装与配置

docker 是 linux 虚拟化技术,能够一键式搭建开发环境,并且能保证运维、开发、上线部署的环境完全一致,避免了运行环境差异性带来的问题。 具有简单、轻...

14730
来自专栏SDNLAB

Network Namespace在Openstack中的应用

本文以DHCP为例,介绍了network namespace的基本原理,以及他在OpenStack中的应用。 基本概念 1: Linux系统的全局资源 1)...

40380
来自专栏吴伟祥

IntelliJ IDEA快速实现Docker镜像部署 顶

1、新建一个Spring Boot工程,在工程里写一个REST接口,如下,简单返回一个字符串。

90630
来自专栏bboysoul

使用docker-machine在vmware vsphere上创建docker虚拟机

这个其实没什么好说的,我就是为了记录一下创建的过程,如果不会使用docker-machine。

16120
来自专栏云计算教程系列

如何在Ubuntu 18.04上使用Traefik作为Docker容器的反向代理

Docker可以是在生产中运行Web应用程序的有效方法,但您可能希望在同一个Docker主机上运行多个应用程序。在这种情况下,您需要设置反向代理,因为您只想公开...

52920
来自专栏恰童鞋骚年

Java微服务之Spring Boot on Docker

本文学习前提:Java, Spring Boot, Docker, Spring Cloud

31240
来自专栏用户画像

中断向量 中断向量表

1、中断标识码(中断类型号):由硬件(通常是中断控制器)产生,以标识不同的中断源。

12530
来自专栏jeremy的技术点滴

docker排雷记

35130

扫码关注云+社区

领取腾讯云代金券