redis 集群模式安装文档

参考文档:https://www.cnblogs.com/boshen-hzb/p/7699783.html  

一、Redis(3.2.1)Centos7安装

1.1下载安装Redis

3.2.1稳定版--64

放在mntredisDB目录下

mkdir  -p  /mnt/redisDb/

cd  /mnt/redisDb/

wget  http://download.redis.io/releases/redis-3.2.1.tar.gz

tar  -zxvf  redis-3.2.1.tar.gz

进入到src目录执行 cd redis-3.2.1/src/

make install

如果缺少gcc编译环境,执行如下2条命令安装linux的gcc编译环境

yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake

yum -y install wget httpd-tools vim

安装成功后再次执行make install如果报以下错误

 

 

执行 make MALLOC=libc

执行 make test

 

 

解决make test报错。

再次执行 make test , 出现如下页面代表成功

 

1.2 安装ruby以及集群

第一种方法:

换yum源安装,执行: yum install centos-release-scl-rh

会在/etc/yum.repos.d/目录下多出一个CentOS-SCLo-scl-rh.repo源

yum install rh-ruby23  -y      

scl enable rh-ruby23 bash

ruby -v查看安装版本

Ps: 安装scl yum install -y scl-utils  yum install python33-*

 

第二种方法:

yum install ruby ruby-devel rubygems

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
       curl -L get.rvm.io | bash -s stable
       find / -name rvm -print

source /usr/local/rvm/scripts/rvm

Linux自带ruby版本太低,#rvm list known 查看已知版本

rvm install 2.3.3
         rvm use 2.3.3    rvm use 2.3.3 --default    ruby --version

rvm remove 2.0.0

 

 

Ruby安装成功后,redis集群按照依赖ruby

执行gem install redis

 

1.3 配置集群

打算在三台机器上配置六个分片节点:一主一从。

1.3.1配置第一个分片

mkdir  /mnt/redisDb/redis-3.2.1/conf

进入目录,建立分片日志文件、数据文件

mkdir  -p  /mnt/redisDb/node-7000/logs/

mkdir  -p  /mnt/redisDb/node-7000/data/

mkdir  -p  /mnt/redisDb/node-7001/logs/

mkdir  -p  /mnt/redisDb/node-7001/data/

进入/mnt/redisDb/redis-3.2.1/conf目录,复制默认conf设置配置文件,修改以下项

bind  10.25.253.52

protected-mode yes

port 7000

############## GENERAL ###########

daemonize yes

pidfile /mnt/redisDb/node-7000/redis-7000.pid

logfile "/mnt/redisDb/node-7000/logs/redis-7000.log"

########### SNAPSHOTTING  #############

dir  /mnt/redisDb/node-7000/data/

dbfilename redis-7000.rdb

 

 

############## APPEND ONLY MODE###########

appendonly yes

appendfilename "redis-7000.aof"

############## REPLICATIO###########

masterauth nykj_2018

############## SECURITY###########

requirepass nykj_2018

############### REDIS CLUSTER  ###########

cluster-enabled yes

cluster-config-file nodes-7000.conf

cluster-node-timeout 15000

 

参数调优

repl-backlog-size 30mb

 

参考文件:

 

 

配置redis环境变量

vi /etc/profile

export PATH="$PATH:/mnt/redisDb/redis-3.2.1/src"

source /etc/profile

 

启动:

redis-server  /mnt/redisDb/redis-3.2.1/conf/redis-7000.conf

 

 

 

 

 

 

 

1.3.2 配置集群其他分片

新建目录

mkdir  /mnt/redisDb/redis-3.2.1/conf

 

mkdir  -p  /mnt/redisDb/node-7002/logs/

mkdir  -p  /mnt/redisDb/node-7002/data/

mkdir  -p  /mnt/redisDb/node-7003/logs/

mkdir  -p  /mnt/redisDb/node-7003/data/

mkdir  -p  /mnt/redisDb/node-7004/logs/

mkdir  -p  /mnt/redisDb/node-7004/data/

mkdir  -p  /mnt/redisDb/node-7005/logs/

mkdir  -p  /mnt/redisDb/node-7005/data/

 

配置环境变量、设置配置文件、然后启动(记得修改ip啊)

 

cp  redis-7000.conf  redis-7001.conf

sed -i "s/7000/7001/g" redis-7001.conf

sed -i "s/7000/7002/g" redis-7002.conf

1.3.3 设置ruby

如果设置了redis密码,如要在ruby文件中配置该密码

find / -name client.rb

/usr/local/rvm/gems/ruby-2.3.3/gems/redis-4.0.1/lib/redis/client.rb

修改client.rb 文件,修改password为配置文件设置密码

 

 

1.3.4 启动集群配置

如果已第一种安装ruby执行 scl enable rh-ruby23 bash 再执行集群命令

redis-trib.rb create --replicas 1 10.25.253.52:7000 10.28.255.158:7002 10.25.69.188:7004  10.28.255.158:7003 10.25.253.52:7001 10.25.69.188:7005

 

1.4 运维命令

命令行,查看集群情况

redis-cli -c -h yourhost -p yourpost a yourpassword

redis-cli -c -h 10.25.253.52  -p 7000  -a  nykj_2018

 

cluster nodes

或者执行

  scl  enable  rh-ruby23 bash

      ./redis-trib.rb check 10.25.253.52:7000src目录)

 

3.5.2 集群命令行

        1.//集群(cluster)  

        2.cluster info 打印集群的信息  

        3.cluster nodes 列出集群当前已知的所有节点(node),以及这些节点的相关信息。   

        4.  

        5.//节点(node)  

        6.cluster meet    ip  port 所指定的节点添加到集群当中,让它成为集群的一份子。  

        7.cluster forget  从集群中移除 node_id 指定的节点。  

        8.cluster replicate  将当前节点设置为 node_id 指定的节点的从节点。  

        9.cluster saveconfig 将节点的配置文件保存到硬盘里面。   

        10.  

        11.//(slot)  

        12.cluster addslots  [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点。  

        13.cluster delslots  [slot ...] 移除一个或多个槽对当前节点的指派。  

        14.cluster flushslots 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。  

        15.cluster setslot  node  将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

其他

1.1 Yum安装

wget http://mirrors.163.com/centos/6/os/i386/Packages/python-2.7.5-68.el7.x86_64.rpm

wget http://mirrors.163.com/centos/6/os/i386/Packages/python-libs-2.7.5-68.el7.x86_64.rpm

wget http://mirrors.163.com/centos/6/os/i386/Packages/python-iniparse-0.4-9.el7.noarch.rpm

wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-3.4.3-158.el7.centos.noarch.rpm

wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm

rpm -ivh python-*

rpm -ivh yum-*

你可能感兴趣的:(linux)