centos 搭建集群步骤

1、使用yum安装所需要的工具

yum -y install wget vim tcl gcc make

2、下载redis并解压

cd /usr/local

wget http://download.redis.io/releases/redis-3.2.8.tar.gz         (获取redis)

tar -zxvf redis-3.2.8.tar.gz

3、编译安装redis源文件

cd redis-3.2.8

make    (若安装报错,可以改为这一句:make MALLOC=libc)

make install

(如果 /usr/local/bin/ 文件夹内没有 redis-server 那几个文件,就从 /usr/local/redis-3.2.8/src/ 中拷贝过去,命令:cp         redis-server redis-cli redis-sentinel redis-trib.rb redis-benchmark redis-check-aof redis-check-rdb /usr/local/bin/)

4、配置内核参数(可以省略 没成功 )

--配置 vm.overcommit_memory 为1,这可以避免数据被截断

systcl -w vm.overcommit_memory=1

5、创建多实例的文件夹

cd /usr/local/

mkdir cluster

cd cluster

mkdir 7000 7001 7002  8001 8002 8003

6、修改配置文件

vim /usr/local/redis/etc/redis.conf

bind  0.0.0.0   (0.0.0.0表示所有节点都可以访问该redis)

protected-mode no

daemonize yes (设置后台运行redis)

cluster-enabled yes(开启集群,把#去掉)

cluster-node-timeout 15000 (设置请求超时时间,默认为15秒,可以自行修改)

appendonly yes (aop日志开启,会每次进行写操作都记录一条日志)

--根据不同的端口需要设置的地方

port 7000

pidfile /var/run/redis_7000.pid

dbfilename dump_7000.rdb

appendfilename appendonly_7000.aof

cluster-config-file nodes_7000.conf

7、复制配置文件到各个实例文件夹,并且对相应的端口号和参数进行配置。

cp -f /usr/local/redis/etc/redis.conf   /usr/local/cluster/7000/

cp -f /usr/local/redis/etc/redis.conf   /usr/local/cluster/7001/

cp -f /usr/local/redis/etc/redis.conf   /usr/local/cluster/7002/

cp -f /usr/local/redis/etc/redis.conf   /usr/local/cluster/8001/

cp -f /usr/local/redis/etc/redis.conf   /usr/local/cluster/8002/

cp -f /usr/local/redis/etc/redis.conf   /usr/local/cluster/8003/

8、启动各个节点
/usr/local/redis/bin/redis-server /usr/local/cluster/7000/redis.conf
/usr/local/redis/bin/redis-server /usr/local/cluster/7001/redis.conf
/usr/local/redis/bin/redis-server /usr/local/cluster/7002/redis.conf
/usr/local/redis/bin/redis-server /usr/local/cluster/8000/redis.conf
/usr/local/redis/bin/redis-server /usr/local/cluster/8001/redis.conf
/usr/local/redis/bin/redis-server /usr/local/cluster/8002/redis.conf

使用ps -ef|grep redis | grep cluster查看是否都启动成功,ip和端口号是否都正确

9、安装ruby、redis环境

yum -y install ruby rubygems

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3

curl -L get.rvm.io | bash -s stable //此处好像需要翻墙才能实现,不然一直下载不下来

source /usr/local/rvm/scripts/rvm

rvm install ruby-2.3.3   (此过程耗时过长,耐心等待~)

rvm use 2.3.3 --default

gem install redis

10、创建集群

(redis官方提供了redis-trib.rb 这个工具,就在解压目录src目录中,第3步中已将它复制到/usr/local/bin目录中,可以直接在命令行中使用,如果没复制的话自行复制过去即可)

redis-trib.rb create --replicas 1 192.168.33.50:7000 192.168.33.50:7001 192.168.33.50:7002 192.168.33.50:8000 192.168.33.50:8001 192.168.33.50:8002

//如果php代码和服务在一起可以用127.0.0.1 不在一台服务器,最好指定ip 不然laravel 访问请求到slave节点报错 无法连接到127.0.0.1:7000

(redis-trib.rb创建集群时会尝试连接列出来的redis节点,如果这里报错你就要检查一下你列出来的redis节点是否都正常运行或者所有节点直接是否都网络互通)

留意一下屏幕,会有一句(type 'yes' or accept),输入yes,回车。(意思是:接受自主分配三主三从)

如果最后出现

>>> Check for open slots...

>>> Check slots coverage...

说明搭建成功。

11、验证集群

redis-cli -h 192.168.33.50 -c -p 7000  (加参数 -c 可以连接到集群,因为redis.conf将bind改为了ip地址,所以 -h 不可以省略)

参考文档 https://blog.csdn.net/mm493925121/article/details/81947442
https://www.cnblogs.com/ivictor/p/9768010.html

centos搭建集群的更多相关文章

  1. 复制虚拟机vmware centos搭建集群节点过程中网络配置eth0和eth1遇到的问题以及NAT模式下虚拟机静态IP配置方法

    在centos中安装完第一个虚拟机后,一般习惯通过克隆的方式创建其它虚拟机,开后vmware无法发现网卡信息,系统认为这是重新安装,所以重新创建了一个新的网卡叫eth1. 并且用IFCONFIG-a查 ...

  2. Redis 实战篇之搭建集群

    Redis 集群简介# Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0 版本推出的一套分布式存储方案.完全去中心化,由多个节点组成,所有节点彼此互联.Redis 客户 ...

  3. Nginx学习笔记(反向代理&搭建集群)

    一.前言 1.1 大型互联网架构演变历程 1.1.1 淘宝技术 淘宝的核心技术(国内乃至国际的 Top,这还是2011年的数据) 拥有全国最大的分布式 Hadoop 集群(云梯,2000左右节点,24 ...

  4. Nginx 在 Linux 下安装与搭建集群

    搭建集群图例 集群搭建图如下,为了简单一点,使用一个Nginx服务器+两个Tomcat服务器,省略数据库部分: 环境说明 Linux 为 CentOS 7.2 发行版 + Java jdk 1.8 + ...

  5. centos7搭建集群必知:centos7已经无iptables,只有firewall

    1.防火墙概述 centos7搭建集群,发现没有iptables,需要安装.防火墙为firewalle CentOS7默认的防火墙不是iptables,而是firewalle. CentOS 7.0默 ...

  6. k8S 搭建集群

    k8S 搭建集群1:修改主机名称hostnamectl --static set-hostname masterhostnamectl --static set-hostname node1hostn ...

  7. k8s+crio+podman搭建集群

    前言 在传统的k8s集群中,我们都是使用docker engine做为底层的容器管理软件的,而docker engine因为不是k8s亲生的解决方案,所以实际使用中会有更多的分层.之前我们也讲过,k8 ...

  8. ELK——Elasticsearch 搭建集群经验

    本文内容 背景 ES集群中第一个master节点 ES slave节点 本文总结 Elasticsearch(以下简称ES)搭建集群的经验.以 Elasticsearch-rtf-2.2.1 版本为例 ...

  9. redis 一二事 - 搭建集群缓存服务器

    在如今并发的环境下,对大数据量的查询采用缓存是最好不过的了,本文使用redis搭建集群 (个人喜欢redis,对memcache不感冒) redis是3.0后增加的集群功能,非常强大 集群中应该至少有 ...

随机推荐

  1. Java测试当前应用所占用的内存示例

    package test; import java.util.HashMap; import java.util.Map; public class TestMemory { public stati ...

  2. Paper reading: High-Fidelity Pose and Expression Normalization for Face Recognition in the Wild(HPEN)

    1. Introduction 人脸识别受到各种因素影响,其中最重要的两个影响是 pose 和 expression, 这两个因素会对 intra-person 变化产生极大的影响, 有时候甚至会超过 ...

  3. iOS-SDWebImage使用(转)

    SDWebImage提供了如下三个category来进行缓存. MKAnnotationView(WebCache) UIButton(WebCache) UIImageView(WebCache) ...

  4. Sybase数据库网页数据维护工具

    Sybase是优秀的数据库产品,在银行,政务等行业广泛使用, 现在TreeSoft数据库管理系统已支持Sybase了,直接在浏览器中就可以操作查看Sybase数据了,十分方便.        Tree ...

  5. 机器学习算法K-NN的一个使用实例:预测一个人是否患有糖尿病 (KNN-Predict whether a person will have diabetes or not )

    学习中...不断更新. 在糖尿病人的数据库中有几列是不能为0的 比如葡萄糖 胰岛素 身体指数和皮肤厚度.所以在数据预处理阶段需要对这些列的数据进行替换. remeber we did 12 minus ...

  6. 已经安装了VRay但3dmax的材质编辑器里没有VRay材质的解决过程

    已经安装了VRay但3dmax的材质编辑器里没有VRay材质怎么办? 众所周知,vray是一款很好用的渲染器,但是安装过程和使用当中总会出现各种问题.昨天我就遇到了,捣鼓半天终于解决,分享给大家自己的 ...

  7. go timer定时器 WaitGroup用法

    参考文章: timer定时器: https://www.cnblogs.com/oxspirt/p/7107312.html WaitGroup用法: https://studygolang.com/ ...

  8. linux中的pvmove,pvremove,pvs,pvscan

    PV,VG,LV的关系和操作 PV,VG,LV构成了一种易于管理拥有一个或多个硬盘的主机的文件系统,这些硬盘可能只有一个分区也可能有多个.通过将这些物理存在的分区(或称为卷)PV(physical v ...

  9. 如何写出优美的 C 代码 面向对象的 C

    基础知识 结构体 除了提供基本数据类型外,C 语言还提供给用户自己定制数据类型的能力,那就是结构体,在 C 语言中,你可以用结构体来表示任何实体.结构体正是面向对象语言中的类的概念的雏形,比如: ty ...

  10. Linux 时间以及时间间隔的简单处理.

    最近想知道自己的一个部署脚本的耗时, 中午时间看了一下最简单的Linux 时间函数的处理 我这里的处理非常简单, 仅仅是够用而已. 处理过程. 1. 获取当前时间: time1=`date` 或者是 ...