基于Linux的Redis安装和集群
一、Redis安装部署
简介:
Redis是一个开源的、高性能的Key-Value存储系统,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set 有序集合)、hash(哈希类型)。与memcached类似,为了保证效率,数据都是缓存在内存中。
Redis和memcached比较:
Redis可以用来做存储具有持久化功能,memcached用来做缓存。Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并在此基础上实现master-slave(主从)同步。
安装步骤:
1、准备环境:
yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl |
2、创建文件夹:
mkdir -p /usr/local/src/redis |
如图: |
3、进入刚创建好的文件夹:
cd /usr/local/src/redis |
如图: |
4、上传redis的tar(demo为3.0.7版本)
wget http://download.redis.io/releases/redis-3.0.7.tar.gz |
如图: |
5、解压刚下载的安装包
tar -xvf redis-3.0.7.tar.gz |
如图: |
6、编译
cd redis3.0.7 |
Make |
如图: |
7、安装
make PREFIX=/usr/local/redis install |
如图: |
8、查看
cd /usr/local/redis/bin |
ll |
如图: |
9、启动redis服务
./redis-server 没有指向conf,会去找默认的conf |
如图: |
10:退出时,服务被关闭,所以要设置配置文件中的如下配置
Ctrl+Z 退出 |
如图: |
进入配置文件:vi /usr/local/bin/redis.conf |
如图: |
将daemonize改为yes并保存: daemonize yes |
如图: |
查看当前开启的服务进程:ps –ef|grep redis |
如图: |
11:再次测试
Redis-cli |
如图: |
小结:
============================================================================
redis的关键点在于复制和集群,redis安装完毕,接下来就是如何搭建redis集群了,我们为什么要搭建集群呢?其实就是为了解决横向扩展。我们知道redis是内存型数据库,当存储数据达到一定程度时,单台机器的内存无法满足我们的需求,这时候就是redis集群来解决。实现了资源的横向扩展。
二、Redis集群的搭建
为什么要搭建redis集群?redis集群的作用:
1、主从备份,防止主机宕机
2、读写分离、分担master的任务
3、任务分离,如从服务分别分担备份工作与计算工作。
之前的准备工作都做好了,将redis安装成功以后,就可以搭建集群了。既然是集群,就肯定是有主从复制。redis集群一般情况下是三主三从。
Redis启动成功后,通过之前的博客可以看到启动的端口是6379看这个可以通过指定配置文件修改,我们就来制定以下配置文件 ,将如下文件分别拷贝到6个文件夹中,并进行配置。
设置6个同样的redis服务,三主三从,redis集群采用了数据分片的技术。我们可以是6个虚拟机,6个IP,也可以是1个虚拟机,同一个IP,6个端口号。我的Demo中采用的是一个虚拟机,不同端口的方式。
1、创建6个文件夹:
在如下路径下创建6个文件夹,6379、6380、6381、6382、6383、6384
mkdir 文件夹名称 |
如图: |
2、复制redis服务到6个文件夹中,并且设置六个conf文件,如下配置
-
port 6379
-
cluster-enabled yes
-
cluster-config-file nodes.conf
-
cluster-node-timeout 5000
-
appendonly yes
-
daemonize yes
只是端口号配置各自的。
3、启动redis服务,启动时指向各自的redis.conf
6379 文件夹下: ./redis-server ./redis.conf 6380 文件夹下: ./redis-server ./redis.conf …… |
查看启动的redis服务进程状态: ps –ef|grep redis |
如图: |
4、创建集群
1、安装ruby环境
因为redis-trib.rb是有ruby语言编写的所以需要安装ruby环境。
./redis-server 没有指向conf,会去找默认的conf |
如图:
|
gem install redis |
如图:
|
首先,进入redis的安装包路径下:
cd /usr/local/src/redis/redis-3.0.7/src |
6个虚拟机之间互相通信 |
./redis-trib.rb create –replicas 1 192.168.246.44:6379 192.168.246.44:6380 192.168.246.44:6381 192.168.246.44:6382 192.168.246.44:6383 192.168.246.44:6384 |
如图: |
测试:集群搭建好了要进行测试。这里就不贴图了,测试完没有截图。