您的位置:首页 > 数据库 > Redis

Redis 的主从服务的安装部署

2018-01-25 00:00 281 查看
摘要: Redis是一种Nosql数据库,一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。

Redis 的主从服务的安装部署

Redis是一种Nosql数据库,一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。

这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。

与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis 是一个高性能的key-value数据库。 Redis的出现,很大程度补偿了memcached这类key-value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。

环境准备

使用的是CentOS 7 版本的Linux系统,本示例使用三台虚拟机。

master ip 为192.168.174.113
slave  ip 为192.168.174.114
slave  ip 为192.168.174.115


需要安装 tcl、gcc 和 gcc-g++ , 因为我们要执行 make 命令 进行编译

yum -y install tcl gcc gcc-g++


关闭防火墙

sudo systemctl stop firewalld.service


下载

Redis可以到官方网站上面进行下载:https://redis.io/download 。
这里使用的是redis-4.0.6.tar.gz。

如果我们不想去手动下载在上传到服务器上,我们可以通过wget命令进行下载,那么我们就要安装这个命令

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


编译redis

$ tar xzf redis-4.0.6.tar.gz -C /opt
$ cd /opt/redis-4.0.6
$ make & make test      # 如果在最小安装系统下这样编译出错,请使用这个命令:make MALLOC=libc


安装Master

进入到编译好的redis目录下编辑配置文件

vi /opt/redis-4.0.6/redis.conf

修改如下参数

daemonize no # 修改为yes,Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程。
bind 127.0.0.1 192.168.174.113  # bind后面再添加主机的ip,后面主从复制 从Redis需要通过IP连接。
requirepass epoch  # 这里将密码设置为epoch
port 6379 # 默认端口为6379 ,可以根据需求进行相应的修改。

启动

默认配置文件
> src/redis-server

或者指定配置文件
> src/redis-server redis.conf

后端启动
> src/redis-server &

客户端连接
> src/redis-cli
> auth epoch    #如果有密码,可以在登录进去之后进行验证。

如果有密码也可以这样登录
> src/redis-cli -a epoch

验证

<
7fe0
pre>
[admin@hdfs03 redis-4.0.6]$ src/redis-cli
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth epoch
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>

使用以上命令登录后输入ping,返回一个pong证明单机版的redis已经部署成功。如果只是想安装单机版测试使用,以上的步骤即可。

停止

默认配置文件 redis.conf 中的端口
> src/redis-cli  shutdown
如果有密码
> src/redis-cli -a epoch shutdown

也可以指定端口去停止
> src/redis-cli -a epoch -p 6379 shutdown


安装slave(Redis 主从复制配置)

Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面简单的进行一下配置。

进入到编译好的redis目录下编辑配置文件

vi /opt/redis-4.0.6/redis.conf

修改slave的redis配置文件

daemonize yes                  # 修改为yes,Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程。
bind 127.0.0.1 192.168.174.200 # 也要配置上主机的静态IP,因为我们也可以再slave上绑定多个slave。
requirepass epoch              # 本机redis的密码
port 6379                      # 本机redis的端口

> 与master相比只是增加了以下两个配置,指定master的 IP 、 端口 以及 密码
slaveof 192.168.174.100 6379   # 映射到master服务器上,6379是端口号
masterauth epoch               # 如果master设置了验证密码,还需配置masterauth

启动和停止与master相同

验证

在master和slave分别执行info replication 命令。

127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2

127.0.0.1:6379> info replication
# Replication
role:slave
master_host:192.168.174.113
master_port:6379
master_link_status:up

127.0.0.1:6379> info replication
# Replication
role:slave
master_host:192.168.174.113
master_port:6379
master_link_status:up


如果从Redis连接到了master则master_link_status:up 否则为down。如果为down 请检查master的Redis是否bind了主机的IP以及是否设置了密码。因为从Redis是远程连接必须设置bind,如果master的Redis设置了密码slave的Redis必须设置masterauth。还有重要的一点就是防火墙是否关闭。

Redis 远程连接

用法:redis-cli [OPTIONS] [cmd [arg [arg …]]]

-h <主机ip>,默认是127.0.0.1

-p <端口>,默认是6379

-a <密码>,如果redis加锁,需要传递密码

–help,显示帮助信息

redis-cli -h 192.168.174.113 -p 6379 -a epoch
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息