Redis 3主-3从集群的搭建(CentOS 7)

Redis集群的安装及配置

redis的安装

上传redis的安装包到/stx/app下,并安装

mkdir -p /sxt/app
cd /sxt/app

或者使用wget下载

yum -y install wget
wget http://download.redis.io/releases/redis-3.0.6.tar.gz

安装gcc依赖

yum install gcc-c++

解压redis压缩包

tar -zxvf redis-3.0.6.tar.gz

编译redis

cd redis-3.0.6
make

安装redis

mkdir /usr/local/redis
make install PREFIX=/usr/local/redis

启动redis

第一种:前端方式启动(ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法)

cd /usr/local/redis/bin
./redis-server
第一种,强制关闭:Ctrl+c
第二种,正常关闭:./redis-cli shutdow(在当前系统下的其他终端使用)

第二种:后端方式启动

cd /usr/local/redis/bin/
//将Redis解压后的源码包中的redis.conf文件拷贝到bin目录下
cp /root/redis-3.0.6/redis.conf /usr/local/redis/bin/
//修改redis.conf文件
vim redis.conf
//输入 ’/dae‘ 查找到 ’daemonize no‘ 将其修改为yes
/dae
./redis-server redis.conf
//查看启动
ps -aux | grep redis
//关闭Redis
第一种,强制关闭:kill 进程的PIN
第二种,正常关闭:./redis-cli shutdown
   以后启动redis
cd /usr/local/redis/bin
./redis-server redis.conf
./redis-cli

  //关闭
  quit
  ./redis-cli shutdown

配置防火墙端口

vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 6379 -j ACCEPT

 使用RVM安装ruby脚本

先执行一条官方 https://rvm.io/ 复制来的长命令

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
\curl -sSL https://get.rvm.io | bash -s stable
source  /etc/profile.d/rvm.sh
rvm list known

安装ruby 2.4.1(ruby -v可查看已安装版本 , gem -v)

rvm install 2.4.1

redis-common集群配置

在/opt下新建redis文件夹,存放redis公共的相关数据

cd /opt/
mkdir redis
cd redis/
mkdir conf  #存放redis集群的公共配置
mkdir logs  #存放redis集群的日志信息
mkdir data  #存放redis集群的数据

将原始的redis.conf配置文件拷贝到/opt/redis/conf,并修改公共的配置文件

cp /sxt/app/redis-3.0.6/redis.conf /opt/redis/conf
cd /opt/redis/conf
cp redis.conf redis-common.conf
vi redis-common.conf

1、前端启动改为后端启动

daemonize yes

2、注释掉服务的进程id的记录文件

# pidfile /var/run/redis.pid

3、注释掉默认端口

# port 6379

4、注释掉默认日志保存路径信息

# logfile ""

5、注释调用默认的数据文件的名字

# dbfilename dump.rdb

6、配置集群中数据文件的目录

# dir ./
dir /opt/redis/data

7、注释掉默认的公共配置aof日至追加文件

# appendfilename "appendonly.aof"

8、启动集群,去掉注释

cluster-enabled yes

9、slot槽是否全覆盖,默认为false,建议设置为no

cluster-require-full-coverage no

集群每个节点的配置

cd /usr/local/redis/bin
cp /sxt/app/redis-3.0.6/redis.conf redis-6380.conf
vi redis-6380.conf

1、引入集群公共配置

# include /path/to/other.conf
include /opt/redis/conf/redis-common.conf

2、注释掉默认启动方式

# daemonize no

3、配置节点进程记录文件(用节点的端口号进行区分)

pidfile /var/run/redis-6380.pid

4、配置节点端口号(每个节点都不一样,文件名对应端口名)

port 6380

5、配置集群中每个服务的日志记录文件(用端口号进行区分)

logfile "/opt/redis/logs/redis-6380.log"

6、配置集群中每个服务的数据文件的名称(用端口号进行区分)

dbfilename dump-6380.rdb

7、配置集群中每个服务的aof日志文件名称(用端口号进行区分)

appendfilename "appendonly-6380.aof"

8、配置集群中每个服务的配置文件名称(用端口号进行区分)

cluster-config-file nodes-6380.conf

 将修改好的redis-6380.conf再复制五份,并将里面的端口给修改好!最后再配置一下防火墙端口

systemctl stop firewalld

 

Redis集群测试

启动redis集群

cd /usr/local/redis/bin/
./redis-server redis-6380.conf
./redis-server redis-6381.conf
./redis-server redis-6382.conf
./redis-server redis-6383.conf
./redis-server redis-6384.conf
./redis-server redis-6385.conf

创建redis集群

cd /sxt/app/redis-3.0.6/src
gem install redis  #安装 redis 的相关依赖
./redis-trib.rb create --replicas 1 172.18.25.174:6380 172.18.25.174:6381 172.18.25.174:6382 172.18.25.174:6383 172.18.25.174:6384 172.18.25.174:6385

 连接redis集群,进行测试

cd /usr/local/redis/bin/
./redis-cli -c -p 6380
set x y

 

posted @ 2019-10-03 11:03  soldier_cnblogs  阅读(251)  评论(0编辑  收藏  举报