`
backspace
  • 浏览: 137221 次
文章分类
社区版块
存档分类
最新评论

CentOS 6上的redis搭建实战记录

 
阅读更多

redis 是一个基于内存的高性能key-value数据库,数据都保存在内存中定期刷新到磁盘,以极高的读写效率而备受关注。他的特点是支持各种数据结构,stirng,hashes, list,set,和sorted sets

1、下载安装

wget http://download.redis.io/redis-stable.tar.gz

tar -zxvf redis-stable.tar.gz

cd redis-stable

make

make test 检查一下是否正常,遇到2个错误

[root@localhost redis-stable]# make test
cd src && make test
make[1]: Entering directory `/usr/local/src/redis-stable/src'
which: no tclsh8.5 in (/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/geffzhang/bin)
You need 'tclsh8.5' in order to run the Redis test
make[1]: *** [test] 错误 1
make[1]: Leaving directory `/usr/local/src/redis-stable/src'
make: *** [test] 错误 2
[root@localhost redis-stable]#

没安装tcl

按照官网http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html 上的安装

make install

mkdir -p /usr/local/bin
cp -pf redis-server /usr/local/bin
cp -pf redis-benchmark /usr/local/bin
cp -pf redis-cli /usr/local/bin
cp -pf redis-check-dump /usr/local/bin
cp -pf redis-check-aof /usr/local/bin
make[1]: Leaving directory `/usr/local/src/redis-stable/src'
[root@localhost redis-stable]#

好了,现在redis就安装成功了

Redis 由四个可执行文件:redis-benchmarkredis-cliredis-serverredis-stat 这四个文件,加上一个redis.conf就构成了整个redis的最终可用包。它们的作用如下:

  • redis-server:Redis服务器的daemon启动程序
  • redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
  • redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
  • redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况

现在就可以启动redis了,redis只有一个启动参数,就是他的配置文件路径。

redis-server /etc/redis.conf

注意,默认复制过去的redis.conf文件的daemonize参数为no,所以redis不会在后台运行,这时要测试,我们需要重新开一个终端。修改为yes则为后台运行redis。另外配置文件中规定了pid文件,log文件和数据文件的地址,如果有需要先修改,默认log信息定向到stdout.

下面是redis.conf的主要配置参数的意义:

  • daemonize:是否以后台daemon方式运行
  • pidfile:pid文件位置
  • port:监听的端口号
  • timeout:请求超时时间
  • loglevel:log信息级别
  • logfile:log文件位置
  • databases:开启数据库的数量
  • save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
  • rdbcompression:是否使用压缩
  • dbfilename:数据快照文件名(只是文件名,不包括目录)
  • dir:数据快照的保存目录(这个是目录)
  • appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
  • appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)

这时你可以打开一个终端进行测试了,配置文件中默认的监听端口是6379

2、建立用户和日志目录

第一次启动时建议为Redis建立用户和日志目录

[root@localhost redis-stable]# useradd redis
[root@localhost redis-stable]# mkdir -p /var/lib/redis 

#db文件放在这里,需要修改redis.conf

# The working directory.
#
# The DB will be written inside this directory, with the filename specified
# above using the 'dbfilename' configuration directive.
#
# Also the Append Only File will be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
dir /var/lib/redis
[root@localhost redis-stable]# mkdir -p /var/log/redis

# Specify the log file name. Also 'stdout' can be used to force
# Redis to log on the standard output. Note that if you use standard
# output for logging but daemonize, logs will be sent to /dev/null
logfile /var/log/redis/redislog
[root@localhost redis-stable]# chown redis.redis /var/lib/redis
[root@localhost redis-stable]# chown redis.redis /var/log/redis

3、配置Init脚本

Redis管理脚本基于Ubuntu 的发行版上的,Ubuntu的可以看这篇文章ubuntu安装启动redis,在Centos linux 上并不能用,下面有个脚本可以用于CentOS 。

用这个脚本管理之前,需要先配置下面的内核参数,否则Redis脚本在重启或停止redis时,将会报错,并且不能自动在停止服务前同步数据到磁盘上:

# vi /etc/sysctl.conf

vm.overcommit_memory = 1

然后应用生效:

# sysctl –p

建立redis启动脚本:

# vim /etc/init.d/redis

#!/bin/bash
#
# Init file for redis
#
# chkconfig: - 80 12
# description: redis daemon
#
# processname: redis
# config: /etc/redis.conf
# pidfile: /var/run/redis.pid
source /etc/init.d/functions
#BIN="/usr/local/bin"
BIN="/usr/local/bin"
CONFIG="/etc/redis.conf"
PIDFILE="/var/run/redis.pid"
### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
RETVAL=0
prog="redis-server"
desc="Redis Server"
start() {
        if [ -e $PIDFILE ];then
             echo "$desc already running...."
             exit 1
        fi
        echo -n $"Starting $desc: "
        daemon $BIN/$prog $CONFIG
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
        return $RETVAL
}
stop() {
        echo -n $"Stop $desc: "
        killproc $prog
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE
        return $RETVAL
}
restart() {
        stop
        start
}
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  condrestart)
        [ -e /var/lock/subsys/$prog ] && restart
        RETVAL=$?
        ;;
  status)
        status $prog
        RETVAL=$?
        ;;
   *)
        echo $"Usage: $0 {start|stop|restart|condrestart|status}"
        RETVAL=1
esac
exit $RETVAL

然后增加服务并开机自启动:

# chmod 755 /etc/init.d/redis
# chkconfig --add redis
# chkconfig --level 345 redis on
# chkconfig --list redis

[root@localhost redis-stable]# service redis start
Starting Redis Server:                                     [确定]
[root@localhost redis-stable]# cat /var/log/redis/redislog
[14250] 14 Jul 22:23:15 * Server started, Redis version 2.4.15
[14250] 14 Jul 22:23:15 * The server is now ready to accept connections on port 6379
[14250] 14 Jul 22:23:15 - 0 clients connected (0 slaves), 717512 bytes in use
[14250] 14 Jul 22:23:20 - 0 clients connected (0 slaves), 717512 bytes in use
[14250] 14 Jul 22:23:25 - 0 clients connected (0 slaves), 717512 bytes in use
[14250] 14 Jul 22:23:30 - 0 clients connected (0 slaves), 717512 bytes in use
[14250] 14 Jul 22:23:35 - 0 clients connected (0 slaves), 717512 bytes in use
[root@localhost redis-stable]#

centos 6.3 server 安装redis-2.4.15 

在多台服务器上简单实现Redis的数据主从复制

http://www.cnblogs.com/shanyou/archive/2012/07/14/2591881.html

2
1
分享到:
评论

相关推荐

    cent7.3-redis集群5.0.0搭建-详细笔记文档

    CentOS 7.3 上 Redis 5.0.0 集群搭建详解 在本文中,我们将详细介绍如何在 CentOS 7.3 上搭建 Redis 5.0.0 集群。该集群由 6 台机器组成,每台机器都安装了 Redis 5.0.0,并配置了集群模式。 环境准备 在开始搭建...

    Redis集群详解

    为了搭建一个简单的Redis集群环境,我们需要先安装Redis。假设您已经在Linux环境下准备好了服务器,并且拥有root权限,下面是一个基于CentOS 7的操作步骤: ```bash # 安装必要的依赖包 yum -y install cpp ...

    大数据分布式集群环境搭建.docx

    centos大数据分布式集群搭建,包含hadoop spark hbase hive solr elasticsearch redis zookeeper rocketmq mongodb mariadb storm kafka docker

    集成DevOps思想 基于Centos 7.X打造全方位Linux高级运维架构师 运维开发+自动化运维

    Linux自动化运维课程包括了Linux基础运维课程,MySQL主从监控,LAP架构实战,Redis技术,Zabbix部署实战,Location和LNMP架构分析以及Shell编程实战课程。 思维拓展: DevOps并不是某一项技术的名称,甚至不是一...

    gitlab服务线上环境实战搭建

    ### GitLab服务线上环境实战搭建 #### 一、GitLab简介 **GitLab**是一款集成了版本控制、项目管理和协作工具于一体的开源平台。它最初由Knut Urdalen使用Ruby on Rails开发,随着时间的推移逐渐发展成为一个强大的...

    详解django+django-celery+celery的整合实战

    ### 详解 Django + Django-Celery + Celery 的整合实战 #### 一、Celery简介与功能概述 Celery 是一款强大的分布式任务队列系统,主要用于处理大量的后台任务,包括但不限于异步任务处理和定时任务调度。其核心...

    从无到有搭建中小型互联网公司后台服务架构和运维架构

    - **服务器统一规划与配置**:课程中提供了三台CentOS 6虚拟机的具体配置步骤,包括JDK版本统一、hosts文件设置、防火墙管理等。 - **Maven安装与配置**:介绍了Maven的基本安装步骤和环境变量配置方法。 通过以上...

    亿级高并发大型电商详情页系统的高性能与高可用缓存架构实战.pdf

    接着,课程会从零开始,逐步介绍如何在虚拟机中搭建CentOS集群,并在集群环境中安装和配置Redis,为后续实验和生产环境提供基础。这包括集群搭建、ssh免密码通信、Redis安装以及其生产环境启动方案等。 课程还深入...

    AgeFades-Note:记录AgeFades学习成长笔记

    运维基于CentOS 的基础服务搭建、Docker 容器化技术以及 K8S 服务网格化技术的学习记录。常见服务如 Nginx、Iptable 规则、安全防范等等...数据库MySQL、Oracle 关系型数据库Redis、Mongo、ES... 常用NoSQL大数据...

    openresty最佳实战

    文档中提到了在Windows平台、CentOS平台、Ubuntu平台和Mac OS X平台上的安装方法,这是确保OpenResty应用正常运行的先决条件。 在实际应用中,了解OpenResty的执行阶段概念和正确记录日志是至关重要的。此外,热...

    leetcode题库-AgeFades-Note:记录AgeFades学习成长笔记

    整合各大流行框架、项目的架构实战经验 开阔视野、对各项 Java圈子技术的学习与记录。 前端 重点: 对当下流行的 Vue + React 的学习记录 目的: 为了更好了解前端同事行为,完成工作任务需求。 运维 基于CentOS 的...

    GO语言进阶.docx

    6-2_编码实战:Go实现Redis连接池(存储分块信息).mp4 6-3_编码实战:实现初始化分块上传接口.mp4 6-4_编码实战:实现分块上传接口.mp4 6-5_编码实战:实现分块合并接口.mp4 6-6_分块上传场景测试+小结.mp4 6-7_...

    企业级电商系统单节点部署方案及实战步骤详解

    内容概要:本文详细介绍了在一个单独节点上部署完整的电商平台系统的所有步骤,涉及多个服务组件与技术栈,如VMWare Workstation、CentOS 7.2操作系统、Java、Redis、Elasticsearch、Nginx、MariaDB、ZooKeeper以及...

    jumpserver1.5.3版本的堡垒机搭建-cent7.x

    在本文中,我们将详细介绍如何在 CentOS 7.4 上安装和配置 Jumpserver 1.5.3 版本的堡垒机。 一、安装 Jumpserver 1. 安装 Jumpserver 需要关闭防火墙和 SELinux 设置。使用以下命令关闭防火墙和 SELinux: ``` ...

    大数据应用案例 大数据培训视频教程-大数据高并发架构实战案例.docx

    课程由经验丰富的讲师Tom5授课,涵盖了多种关键技术和实战案例,以帮助学员快速掌握千万级高并发大数据网站的搭建。 首先,课程重点介绍了大数据在高并发架构中的应用。在面对大规模数据和高并发需求时,技术选型和...

    ELK Stack搭建及使用.docx

    ### ELK Stack搭建及使用详解 #### 一、ELK Stack概述 ELK Stack是一款集实时日志收集、处理及展示于一体的轻量级系统。它由三个主要组件组成:Elasticsearch、Logstash 和 Kibana,分别负责数据存储、数据收集与...

    分布式集群技术.pdf

    分布式数据库 Hbase 是分布式集群技术的基础,HBase 定义、HBase 与 RDBMS 的对比、数据模型、系统架构、HBase 上的 MapReduce、表的设计、集群的搭建过程讲解、集群的监控、集群的管理、HBase Shell 以及演示、Java...

    OpenResty Best Practices.pdf

    OpenResty环境的搭建部分,覆盖了Windows、CentOS、Ubuntu和Mac OS X等不同操作系统上的安装步骤,帮助开发者在各种环境下快速上手。此外,书中还涉及到了Nginx的热更新、代码调试、日志记录的最佳实践,以及如何...

Global site tag (gtag.js) - Google Analytics