Redis在Centos7上的安装部署

简介

Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。

Redis的所有数据都是保存在内存中(效率高),然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。

关于Redis更多的简介请参考Redis官方网站中文版,在这里我仅仅给出Redis在Centos7上的安装部署。

步骤一:下载Redis安装包

首先从官网下在redis正式版的压缩包redis-2.8.19.tar.gz:

cd /home/downloads
wget http://download.redis.io/releases/redis-2.8.19.tar.gz

步骤二:编译源程序

解压和编译

tar -zxvf redis-2.8.19.tar.gz
cd redis-2.8.19/src
//编译
make

…….此处是大量编译过程,省略。可能有一些警告,不去官它们………….
CC setproctitle.o
CC hyperloglog.o
CC latency.o
CC sparkline.o
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
CC redis-check-dump.o
LINK redis-check-dump
CC redis-check-aof.o
LINK redis-check-aof

Hint: It’s a good idea to run ‘make test’ ;)

进入src进行安装:

cd src
make install

//安装过程提示
Hint: It’s a good idea to run ‘make test’ ;)

INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install

这时候,我们可以看看src下的文件:

这里写图片描述

可以看到此时,src文件夹下出现了一些绿色的文件,这些文件就是我们以后需要用到的命令文件

步骤三:移动文件

移动文件,便于管理:(所有源代码安装的软件都安装在/usr/local下,如apache等)

创建两个文件夹,bin用于存放命令,etc拥有存放配置文件。

mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/etc

-p是递归创建。

接下来,将redis-2.8.19文件夹下的redis.conf复制到/usr/local/redis/etc/

并将src目录下的7个命令文件(绿色的),移动到/usr/local/redis/bin/

[lsgozi@localhost src]$ cd ..
[lsgozi@localhost redis-2.8.19]$ ls
00-RELEASENOTES  COPYING  Makefile   redis.conf        sentinel.conf  utils
BUGS             deps     MANIFESTO  runtest           src
CONTRIBUTING     INSTALL  README     runtest-sentinel  tests
[lsgozi@localhost redis-2.8.19]$ mv ./redis.conf /usr/local/redis/etc/
[lsgozi@localhost redis-2.8.19]$ cd src
[lsgozi@localhost src]$  mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server /usr/local/redis/bin/

步骤四:启动Redis服务:

首先进入刚才安装redis的目录:

[lsgozi@localhost src]$ cd /usr/local/redis/bin
[lsgozi@localhost bin]$ ls
mkreleasehdr.sh  redis-check-aof   redis-cli       redis-server
redis-benchmark  redis-check-dump  redis-sentinel

之后我们启动redis服务。启动redis服务需要用到命令redis-server

[lsgozi@localhost bin]$ ./redis-server

结果:

这里写图片描述

但是,这样做的话,我们并没有使用etc的下的配置文件进行启动(图中红线部分)。

如果希望通过指定的配置文件启动,需要在启动时指定配置文件:

这里我们先用ctrl+C来终止服务,然后查看redis服务是否终止干净了,之后通过设置配置文件来启动服务:

按下ctrl+c后(^C):

^C[32138 | signal handler] (1463921540) Received SIGINT scheduling shutdown...
[32138] 22 May 20:52:20.380 # User requested shutdown...
[32138] 22 May 20:52:20.380 * Saving the final RDB snapshot before exiting.
[32138] 22 May 20:52:20.393 * DB saved on disk
[32138] 22 May 20:52:20.393 # Redis is now ready to exit, bye bye...

运行:pstree -p | grep redis 发现redis服务已经被终止干净

现在我们带上配置文件 /usr/local/etc/redis.conf 运行redis

[lsgozi@localhost bin]$ ./redis-server /usr/local/redis/etc/redis.conf

这里写图片描述

但是,现在redis仍然是在前台运行。

如果要后台启动该怎么办呢?

在这里我们用—-直接将命令丢到后台中“执行”的 & ?可以吗?

答案是不可以的,Redis的后台启动并运行需要通过配置文件中的参数设置。如果需要在后台运行,把daemonize配置项改为yes

vim /usr/local/redis/etc/redis.conf

搜索 :’\daemonize’
把daemonize配置项改为yes
保存退出

之后我们再次使用配置文件启动redis-server。

可以看到,redis是后台启动了,并且通过ps命令可以查看到redis正在运行。

[lsgozi@localhost bin]\$ ./redis-server /usr/local/redis/etc/redis.conf
[lsgozi@localhost bin]\$ ps -ef | grep redis
root     13154     1  0 22:53 ?        00:00:00 ./redis-server *:6379
neil     13162  8143  0 22:54 pts/0    00:00:00 grep --color=auto redis
[lsgozi@localhost bin]$ pstree -p | grep redis
           |-redis-server(13154)-+-{redis-server}(13156)
           |                     `-{redis-server}(13157)

Redis服务端默认连接端口是6379.

就好比 mysql 或 mariadb 服务端默认连接端口是3306

在平时,我们往往需要查看6379端口是否被占用。可以用以下命令:

netstat -tunpl | grep 6379

注意,redis服务需要 root 权限才能查看,不然只能检查到6379被某个进程占用,但是看不到进程名称。

至此,redis服务已经按照配置文件启动成功!!

步骤五:客户端登录

[lsgozi@localhost bin]$ /usr/local/redis/bin/redis-cli 

回车后如果提示:

[lsgozi@localhost bin]$ /usr/local/redis/bin/redis-cli
127.0.0.1:6379>//提示

则表明客户端登录成功

步骤六:关闭Redis服务

停止Redis实例

我们可以使用pkill redis-server

[lsgozi@localhost bin]$ pkill redis-server
[lsgozi@localhost bin]$ netstat -tunpl | grep 6379
[lsgozi@localhost bin]$ 
[lsgozi@localhost bin]$ pstree -p | grep redis
[lsgozi@localhost bin]$ 
[lsgozi@localhost bin]$ 
[lsgozi@localhost bin]$ /usr/local/redis/bin/redis-cli 
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected> 
not connected> exit

关闭之后,发现6379就不再被占用了,redis的进程也都没有了。

客户登陆也无法成功了。

也可以使用/usr/local/redis/bin/redis-cli shutdown,这种方法使用客户端命令redis-cli 进行Redis服务的停止

[lsgozi@localhost bin]]$ ./redis-server /usr/local/redis/etc/redis.conf
[lsgozi@localhost bin]$ pstree -p | grep redis
           |-redis-server(13509)-+-{redis-server}(13511)
           |                     `-{redis-server}(13512)
[lsgozi@localhost bin]$ /usr/local/redis/bin/redis-cli shutdown
[lsgozi@localhost bin]$ pstree -p | grep redis
[lsgozi@localhost bin]$ 
[lsgozi@localhost bin]$ sudo netstat -tunpl | grep 6379
[lsgozi@localhost bin]$ 

当然关闭某个服务还可以使用 killall 和 kill -9.

附录:更多的关于 /usr/local/redis/etc/redis.conf 的配置信息

1、daemonize 如果需要在后台运行,把该项改为yes

2、pidfile 配置多个pid的地址 默认在/var/run/redis.pid

3、bind 绑定ip,设置后只接受来自该ip的请求

4、port 监听端口,默认是6379

5、loglevel 分为4个等级:debug verbose notice warning

6、logfile 用于配置log文件地址

7、databases 设置数据库个数,默认使用的数据库为0

8、save 设置redis进行数据库镜像的频率。

9、rdbcompression 在进行镜像备份时,是否进行压缩

10、dbfilename 镜像备份文件的文件名

11、Dir 数据库镜像备份的文件放置路径

12、Slaveof 设置数据库为其他数据库的从数据库

13、Masterauth 主数据库连接需要的密码验证

14、Requriepass 设置 登陆时需要使用密码

15、Maxclients 限制同时使用的客户数量

16、Maxmemory 设置redis能够使用的最大内存

17、Appendonly 开启append only模式

18、Appendfsync 设置对appendonly.aof文件同步的频率(对数据进行备份的第二种方式)

19、vm-enabled 是否开启虚拟内存支持 (vm开头的参数都是配置虚拟内存的)

20、vm-swap-file 设置虚拟内存的交换文件路径

21、vm-max-memory 设置redis使用的最大物理内存大小

22、vm-page-size 设置虚拟内存的页大小

23、vm-pages 设置交换文件的总的page数量

24、vm-max-threads 设置VM IO同时使用的线程数量

25、Glueoutputbuf 把小的输出缓存存放在一起

26、hash-max-zipmap-entries 设置hash的临界值

27、Activerehashing 重新hash

本篇博客主要参考自Redis安装部署与维护详解

  • 9
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 在CentOS 7上部署Redis Cluster集群的步骤如下: 1. 安装Redis。可以使用yum安装,命令为:yum install redis。 2. 在每台机器上配置redis.conf文件。需要修改的配置项包括:bind IP地址、端口号、cluster-enabled yes、cluster-config-file nodes.conf、cluster-node-timeout 15000。 3. 启动每台机器上的Redis服务。命令为:systemctl start redis。 4. 在一台机器上执行redis-cli --cluster create命令,创建集群。命令格式为:redis-cli --cluster create <host:port> <host:port> <host:port> … --cluster-replicas <replicas>。 5. 验证集群是否正常工作。可以使用redis-cli --cluster info命令查看集群信息,使用redis-cli --cluster nodes命令查看集群中的节点。 注意: - 安装redis-trib.rb - redis-cli --cluster create 参数的IP是各自机器的IP,端口号应该相同 - 集群中可以有多个主节点 - 如果集群已经存在,那么需要在新加入节点上进行redis-trib add-node ### 回答2: 在CentOS 7上部署Redis 7的集群,需要执行以下步骤: 1. 安装Redis 7: 首先,确保已经安装CentOS 7的操作系统。然后,通过以下命令安装Redis 7的依赖项: ```bash sudo yum install epel-release sudo yum install redis ``` 安装完成后,验证Redis是否成功安装: ```bash redis-cli --version ``` 如果输出了Redis的版本信息,则表示安装成功。 2. 配置Redis集群节点: 创建redis-cluster文件夹,然后在该文件夹下创建6个目录,分别用于存储6个节点的配置和数据: ```bash mkdir redis-cluster cd redis-cluster mkdir node1 node2 node3 node4 node5 node6 ``` 在每个节点文件夹下创建redis.conf配置文件,并进行相应的配置。至少需要配置以下参数: ```bash bind 0.0.0.0 port <port_number> cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout <timeout_in_ms> appendonly yes ``` 其中,<port_number>是每个节点的端口号,<timeout_in_ms>是集群节点通信的超时时间。 3. 启动Redis集群节点: 使用以下命令启动每个节点: ```bash redis-server /path/to/redis-conf-file.conf ``` 比如,启动第一个节点: ```bash redis-server /path/to/redis-cluster/node1/redis.conf ``` 4. 创建Redis集群: 使用以下命令创建Redis集群: ```bash redis-cli --cluster create <node1_ip:port> <node2_ip:port> ... --cluster-replicas 1 ``` 比如,创建Redis集群的命令为: ```bash redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1 ``` 这个命令会将节点连接成一个集群,并指定1个副本。 5. 验证Redis集群是否正常工作: 使用以下命令验证Redis集群是否正常工作: ```bash redis-cli -c -p <any_port> ``` 比如,连接到第一个节点的Redis CLI: ```bash redis-cli -c -p 7001 ``` 然后,运行一些Redis命令进行验证: ```bash set key1 value1 get key1 ``` 至此,Redis 7的集群在CentOS 7上部署完成。可以通过添加更多的节点来扩展集群,并根据需要调整配置参数。 ### 回答3: 在CentOS 7上部署Redis 7的集群主要可以通过以下步骤来完成: 1. 安装Redis 7:在CentOS 7上安装Redis 7可以使用源码编译安装或者使用软件包管理工具(如yum)来安装。可以从Redis官方网站下载最新版本的源码并编译安装,或者使用以下命令通过yum安装: ``` $ sudo yum update $ sudo yum install redis ``` 2. 配置Redis 7:Redis的配置文件位于`/etc/redis.conf`。可以使用文本编辑器(如vi或nano)打开该文件并进行必要的配置更改,以确保集群设置能够正常工作。配置参数包括端口、绑定IP、密码等。 3. 创建集群:使用Redis提供的`redis-cli`命令行工具创建Redis集群。集群至少需要3个主节点才能正常工作。可以通过以下命令创建Redis集群: ``` $ redis-cli --cluster create <Node1IP>:<Port> <Node2IP>:<Port> <Node3IP>:<Port> ... ``` 其中,`NodeIP`和`Port`分别是节点的IP地址和端口号,具体根据实际情况进行填写。该命令会自动进行分区和数据分配。 4. 验证集群:在创建集群后,可以使用`redis-cli`连接到集群,并使用`cluster nodes`命令来验证集群的状态,以确保所有节点正常运行并连接到正确的集群。 ``` $ redis-cli -c -h <NodeIP> -p <Port> redis> cluster nodes ``` 该命令将返回当前集群的节点信息,包括节点ID、IP地址、端口、角色等。 5. 扩展和管理集群:一旦集群正常运行,可以通过添加新的节点或对节点进行重新分区来扩展和管理集群。可以使用`redis-cli`命令行工具添加新节点,然后使用`cluster reshard`命令来重新分区。 以上是在CentOS 7上部署Redis 7集群的基本步骤。根据具体的需求和情况,还可以进行更深入的集群配置和管理。请注意,集群的设置和管理需要仔细考虑,并且需要深入了解Redis集群的工作原理和最佳实践。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值