centos搭建集群
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搭建集群的更多相关文章
- 复制虚拟机vmware centos搭建集群节点过程中网络配置eth0和eth1遇到的问题以及NAT模式下虚拟机静态IP配置方法
在centos中安装完第一个虚拟机后,一般习惯通过克隆的方式创建其它虚拟机,开后vmware无法发现网卡信息,系统认为这是重新安装,所以重新创建了一个新的网卡叫eth1. 并且用IFCONFIG-a查 ...
- Redis 实战篇之搭建集群
Redis 集群简介# Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0 版本推出的一套分布式存储方案.完全去中心化,由多个节点组成,所有节点彼此互联.Redis 客户 ...
- Nginx学习笔记(反向代理&搭建集群)
一.前言 1.1 大型互联网架构演变历程 1.1.1 淘宝技术 淘宝的核心技术(国内乃至国际的 Top,这还是2011年的数据) 拥有全国最大的分布式 Hadoop 集群(云梯,2000左右节点,24 ...
- Nginx 在 Linux 下安装与搭建集群
搭建集群图例 集群搭建图如下,为了简单一点,使用一个Nginx服务器+两个Tomcat服务器,省略数据库部分: 环境说明 Linux 为 CentOS 7.2 发行版 + Java jdk 1.8 + ...
- centos7搭建集群必知:centos7已经无iptables,只有firewall
1.防火墙概述 centos7搭建集群,发现没有iptables,需要安装.防火墙为firewalle CentOS7默认的防火墙不是iptables,而是firewalle. CentOS 7.0默 ...
- k8S 搭建集群
k8S 搭建集群1:修改主机名称hostnamectl --static set-hostname masterhostnamectl --static set-hostname node1hostn ...
- k8s+crio+podman搭建集群
前言 在传统的k8s集群中,我们都是使用docker engine做为底层的容器管理软件的,而docker engine因为不是k8s亲生的解决方案,所以实际使用中会有更多的分层.之前我们也讲过,k8 ...
- ELK——Elasticsearch 搭建集群经验
本文内容 背景 ES集群中第一个master节点 ES slave节点 本文总结 Elasticsearch(以下简称ES)搭建集群的经验.以 Elasticsearch-rtf-2.2.1 版本为例 ...
- redis 一二事 - 搭建集群缓存服务器
在如今并发的环境下,对大数据量的查询采用缓存是最好不过的了,本文使用redis搭建集群 (个人喜欢redis,对memcache不感冒) redis是3.0后增加的集群功能,非常强大 集群中应该至少有 ...
随机推荐
- SpringBoot集成tk mybatis插入数据,回显主键为null
实体信息如下 @Data public class ApiCertificate{ @Id @GeneratedValue(generator = "JDBC") private ...
- mysql修改时区的几种方法
说明: 以下记录修改mysql时区的几种方法. 具体:方法一:通过mysql命令行模式下动态修改1.1 查看mysql当前时间,当前时区 > select curtime(); #或select ...
- 第二十四章 在线会话管理——《跟我学Shiro》
目录贴:跟我学Shiro目录贴 有时候需要显示当前在线人数.当前在线用户,有时候可能需要强制某个用户下线等:此时就需要获取相应的在线用户并进行一些操作. 本章基于<第十六章 综合实例>代码 ...
- Egret入门学习日记 --- 第十二篇(书中 5.1节 内容)
第十二篇(书中 5.1节 内容) 昨天把 第4章完成了. 今天来看第5章. 接下来是 5.1节 的内容. 总结一下 5.1节 的重点: 1.如何制作一个公用按钮皮肤. 跟着做: 重点1:如何制作一个公 ...
- CenOS 7 安装Tomcat
1.首先需要安装jdk yum install java-1.8.0-openjdk-devel.x86_64 2.下载 http://mirrors.tuna.tsinghua.edu.cn/apa ...
- idea多级目录与单级目录切换
- org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exc ...
- Shuffle 机制
1. 概述 Map 方法之后,Reduce 方法之前的数据处理过程称之为 Shuffle. 2. Partition 分区 需求:要求将统计结果按照条件输出到不同文件中(分区).比如:将统计结果按照手 ...
- Vue基础知识学习(后端)
### Vue学习(后端) Vue安装 -引入文件安装,直接在官网下载vue.js引入项目中 -直接引用CDN -NPM安装(构建大型应用使用,在这不用) -命令行工具(构建大型单页应用,在这不用) ...
- 【Pandas数据分析案例】2018年北京积分入户情况分析
据说,北京落户的难度比加入美国国籍还高.而北京2018年首次实行积分入户制,让我们来分析一下首批通过积分入户拿到北京户口的数据. 首先从北京积分落户官网下载公示名单: 根据表格中的信息,我们主要从以下 ...