首页 > 酒水品牌

pingpong账号迁移,pingpong个人号怎么注册

酒易淘 酒水品牌 2022-07-11 14:30:15

品牌名称:酱香白酒加盟 所属行业:酒水 > 白酒

基本投资:10~50万元 投资热度:

加盟意向:1634 门店数量:534家

索要资料 查看详情

  

  Redis介绍Redis(远程字典服务器)是一个键值数据库,完全开源,符合BSD,性能很高。   

  

  Redis和其他键值缓存产品有以下三个特征:   

  

  Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启时可以再次加载使用。Redis不仅支持简单的键值数据,还提供了列表、集合、ZSet、Hash等数据结构。Redis支持数据备份,即主从模式的数据备份。Redis的优势在于极高的性能,因为Redis读写内存。字符串、列表、集合、ZSet、散列原子的丰富数据类型。Redis的所有操作都是原子的,也就是说要么成功要么失败根本不会执行,单个操作都是原子的。多个操作也支持事务,事务由MULTI和EXEC指令包装。丰富的特性——Redis还支持发布/订阅、通知、密钥过期等特性。Redis官网官网   

  

  redis集群为什么会集群?随着大数据时代的到来,在大型系统应用中,几十上百兆的数据是很常见的。但是,无论是物理机还是云主机(虚拟机),内存资源往往是有限的。虽然目前硬件成本降低,几十吉几十核很常见,但是对于Redis这种工作过程是单线程模式的工具来说,一台主机只运行一个实例有点浪费,单点故障的时候影响会很大。同时,redis在管理大内存时,效率不如管理相对较小的内存。根据第三方测试,单个进程的内存分配达到20G后,redis的性能急剧下降。所以常用的方式是为单个进程分配8G内存,在单个主机上打开多个redis实例。   

  

  原理Redis官方集群方案Redis集群(服务器分片)Redis集群是服务器上的一种分片技术,在Redis 3.0版本中正式提供。redis集群的服务器端Sharding引入了slot的概念,分为16,384(2 ^ 14)个slot。集群中的每个节点负责分配这些插槽。每个进入Redis的键值对根据key进行哈希运算,除以16,384得到模数,匹配对应的slot,然后分发给对应节点中的实例。在redis集群方案中,数据存储的粒度从原来的实例细化到再槽。Redis集群提供了一个叫做集群总线的功能特性,使用特殊的二进制协议,具有极快的通信和响应速度。它提供节点管理功能,如节点故障检测、故障转移和新节点识别。该函数的进程间通信端口号为10000。比如对外服务的redis的端口号是6555,集群总线的端口号是16555。值得注意的是,redis集群是在3.0版本之后正式上线的。   

  

     

  

  Redis集群部署Redis集群中有很多Redis服务器,不可避免的会有一些服务器死掉。Redis集群服务器相互乒乓以确定节点是否可以连接。如果超过一半的节点在ping一个节点时没有响应,则群集认为该节点已关闭。   

  

  以上就是我们常说的为容错而生的redis集群投票机制。   

  

  因为集群投票机制redis需要至少三个主节点和三个从节点才能组成一个redis集群,每个主节点至少有一个从节点,测试环境物理上可以启动六个redis节点,但是生产环境至少要准备三台物理机。   

  

  为了在这里进行演示,我使用了三台Centos7虚拟服务器,每台都有两个Redis实例,总共有六个节点来构建Redis集群|   

  

  主机名   

  

  节点IP   

  

  1个实例端口   

  

  2个实例端口   

  

  主控1   

  

  192.168.200.11   

  

  7001   

  

  7002   

  

  Master2   

  

  192.168.200.12   

  

  7001   

  

  7002   

  

  大师3   

  

  192.168.200.13   

  

  7001   

  

  7002   

  

  部署架构图   

  

     

  

  这里采用Redis 6 . 0 . 9版本,所有节点服务器需要做以下工作   

  

  编译时,要求gcc版本不超过5.3,   

  

  首先执行gcc -v来检查当前的gcc版本gcc -v.   

  

  如果没有海湾合作委员会,你需要安装海湾合作委员会yum install -y gcc gcc-c++第一。   

  

  固定   

完成后查看gcc版本,Centos版本默认安装的是4.8.5版本的gcc,版本过低

  

  


gcc 升级
yum install -y centos-release-scl
yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
yum install -y systemd-devel
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
source /etc/profile
升级完成后查看gcc版本

  

  


下面进行安装Redis
提前下载好Redis压缩包这里使用redis-6.0.9.tar.gz。把下载好的文件上传到三个服务器上,我这里放到了/usr/local目录下

  

  


下面使用tar命令解压缩
tar -zxvf redis-6.0.9.tar.gz
mv redis-6.0.9 redis609

  

  


进入redis目录创建节点目录
mkdir {7001,7002}

  

  


创建redis用户并给新建的目录附上访问权限
useradd -s /sbin/nologin redis
chown -R redis: /usr/local/redis609

  

  


下面进行Redis的编译安装
因Redis版本原因需要安装或者更新tcl版本大于8.5
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
cd /usr/local/tcl8.6.1/unix/
./configure
make
make install

  

下面进入redis目录执行编译redis need systemd-devel
make BUILD_WITH_SYSTEMD=yes USE_SYSTEMD=yes
make install
查看redis版本
redis-cli --version
redis-server --version
进入redis609目录拷贝配置文件到7001、7002两个文件夹下并进行文件授权

  

  


修改配置文件

  

port 7001protected-mode nodaemonize nosupervised systemdpidfile /usr/local/redis609/7001/redis_7001.pidlogfile "/usr/local/redis609/7001/7001.log"dir /usr/local/redis609/7001/appendonly yesappendfilename "appendonly7001.aof"cluster-enabled yescluster-config-file nodes-7001.confcluster-node-timeout 5000配置参数说明:

  

bind 绑定的主机地址port 指定Redis监听端口,默认端口为6379logfile 日志记录方式,默认为标准输出dir 本地数据库存储路径cluster-enabled yes 开启集群功能,否则节点是一个普通的单一redis实例cluster-config-file nodes.conf 集群自动生成的配置文件,保存集群信息cluster-node-timeout 15000 集群中节点能够失联的最大时间appendonly yes 持久化记录服务器执行的所有写操作命令
7002实例按照7001在操作一遍即可
使用Systemd管理Redis服务
创建服务启动文件,其中%i为占位符变量,redis@7001.service中@符号后的7001参数会替换该变量:cat > /etc/systemd/system/redis@.service << EOFDescription=Redis persistent key-value databaseAfter=network.targetUser=redisGroup=redis#如果在启动时timeout或者查看状态一直为Activating建议使用默认Type注释掉此参数。如果需要用forking需要配置PIDFile地址 --daemonize yesType=notifyExecStart=/usr/local/bin/redis-server /usr/local/redis609/%i/redis%i.conf --daemonize no --supervised systemdExecStop=/usr/local/bin/redis-cli -p %i shutdownLimitNOFILE=10240TimeoutStartSec=90sTimeoutStopSec=90sRestart=alwaysWantedBy=multi-user.targetEOF所有节点启动redis实例,并设为开机启动

  

systemctl daemon-reload #后期有修改serverice 之后一定要执行这句话systemctl enable --now redis@{7001,7002}.service执行启动服务之后
netstat -lnp|grep redis
systemctl status redis@{7001,7002}.service
端口已正常启动并且服务状态为active说明配置成功
实例状态维护

  

#查看实例运行状态systemctl status redis@7001.servicesystemctl status redis@7002.service#启动实例systemctl start redis@7001.servicesystemctl start redis@7002.service#停止实例systemctl stop redis@7001.servicesystemctl stop redis@7002.service#重启实例systemctl restart redis@7001.servicesystemctl restart redis@7002.service以上操作在三台服务器都执行一遍。
实例全部启动后 ,在任意服务器上创建redis集群
redis-cli --cluster create 192.168.200.11:7001 192.168.200.11:7002 192.168.200.12:7001 192.168.200.12:7002 192.168.200.13:7001 192.168.200.13:7002 --cluster-replicas 1

  

  


有以下提示表示已部署成功

  

  


查看集群节点
redis-cli -c -h 192.168.200.13 -p 7001 cluster nodes

  

  


  

原文链接:Centos7部署Redis集群 - 马永猛 - 博客园

免费咨询
免费获取加盟资料