分享

Redis系列

 vnxy001 2019-03-13

Redis安装目录内容详解(Yum方式安装rpm包)

通过yum方式将redis的rpm包安装到本地机器之后,通过rpm -ql redis查看安装的目录,发现有28个目录文件,但是每个目录文件代表什么含义,文件里的配置又是什么意思,目前还是不清楚,为了更好的了解安装后的redis配置,方便进行相关管理操作,所以研究理解一下redis每个安装目录的含义和文件中参数所代表的含义,整理成一篇笔记来记录下,方便回顾。

- 查看redis安装目录:

rpm -ql redis

之后系统打印输出下面28个文件记录:

/etc/logrotate.d/redis
/etc/redis-sentinel.conf
/etc/redis.conf
/etc/systemd/system/redis-sentinel.service.d
/etc/systemd/system/redis-sentinel.service.d/limit.conf
/etc/systemd/system/redis.service.d
/etc/systemd/system/redis.service.d/limit.conf
/usr/bin/redis-benchmark
/usr/bin/redis-check-aof
/usr/bin/redis-check-rdb
/usr/bin/redis-cli
/usr/bin/redis-sentinel
/usr/bin/redis-server
/usr/bin/redis-shutdown
/usr/lib/systemd/system/redis-sentinel.service
/usr/lib/systemd/system/redis.service
/usr/lib/tmpfiles.d/redis.conf
/usr/share/doc/redis-3.2.3
/usr/share/doc/redis-3.2.3/00-RELEASENOTES
/usr/share/doc/redis-3.2.3/BUGS
/usr/share/doc/redis-3.2.3/CONTRIBUTING
/usr/share/doc/redis-3.2.3/MANIFESTO
/usr/share/doc/redis-3.2.3/README.md
/usr/share/licenses/redis-3.2.3
/usr/share/licenses/redis-3.2.3/COPYING
/var/lib/redis
/var/log/redis
/var/run/redis

- 文件记录含义解析:

  1. /etc/logrotate.d/redis

    /etc/logrotate.d/ : 用来存储文件日志文件的轮循(切割转储)设置,(logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。
    logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail 。)

    /etc/logrotate.d/文件夹下的redis文件,也就是设置了redis的日志文件的轮循参数配置文件。

    [root@aidev02 logrotate.d]# cat redis
    /var/log/redis/*.log {
    weekly
    rotate 10
    copytruncate
    delaycompress
    compress
    notifempty
    missingok
    }
    解析 :
    weekly : 指定所有的日志文件每周转储一次。
    rotate 10 : 指定转储文件保存10份
    copytruncate :用于还在打开中的日志文件,把当前日志备份并截断.
    delaycompress:和 compress 一起使用时,转储的日志文件到下一次转储时才压缩。
    compress:指定压缩转储文件,通过gzip 压缩转储以后的日志,如果不需要压缩,添加注释就可以了 #compress
    notifempty:如果是空文件的话,不转储
    missingok:如果日志文件不存在,继续处理下一个文件而不产生报错信息.

  2. /etc/redis-sentinel.conf

    Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务.

    • 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。
    • 提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。
    • 自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。
      Redis Sentinel 是一个分布式系统, 你可以在一个架构中运行多个 Sentinel 进程(progress), 这些进程使用流言协议(gossip protocols)来接收关于主服务器是否下线的信息, 并使用投票协议(agreement protocols)来决定是否执行自动故障迁移, 以及选择哪个从服务器作为新的主服务器。
  3. /etc/redis.conf

    redis的配置信息文件,里面包含redis的host/ip设置、集群设置、日志设置、数据持久化配置等信息。
    可以通过命令redis-server redis.conf 指定redis配置来启动redis。

  4. /etc/systemd/system/redis-sentinel.service.d

    redis-sentinel.service.d是用来存储redis-sentinel在系统服务中相关设置的文件夹。
    Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度Systemd 的很多概念来源于苹果 Mac OS 操作系统上的 launchd。
    systemd单元文件可以从两个地方加载,优先级从低到高分别是:/usr/lib/systemd/system/: 软件包安装的单元,/etc/systemd/system/ 系统管理员安装的单元。
    当systemd运行在用户模式下时,使用的加载路径是完全不同的。

  5. /etc/systemd/system/redis-sentinel.service.d/limit.conf

    limit.conf` 文件 是 Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,而且只针对于单个会话。

    cat lomit.conf
    —– #If you need to change max open file limit. for example, when you change maxclient in configuration, you can change the LimitNOFILE value below, see “man systemd.exec” for information

    [Service]
    LimitNOFILE=10240
    Group=groupName
    `

  6. /etc/systemd/system/redis.service.d

    redis.service.d是用来存储redis在系统服务中相关设置的文件夹。

  7. /etc/systemd/system/redis.service.d/limit.conf

    和上面/etc/systemd/system/redis-sentinel.service.d/limit.conf配置一样。

  8. /usr/bin/redis-benchmark

    redis-benchmark为Redis性能测试工具。
    /usr/bin存放的是一些用户命令, 是你在后期安装的一些软件的运行脚本。
    /usr/sbin 放置一些用户安装的系统管理的必备程式.
    /bin,/sbin目录是在系统启动后挂载到根文件系统中的。

    • 系统级的组件放在/bin、/lib;
    • 根用户才能访问的放在/sbin;
    • 系统repository提供的应用程序放在/usr/bin、/usr/lib;
    • 用户自己编译的放在/usr/local/XXX。
  9. /usr/bin/redis-check-aof

    数据持久化时,用于修复出问题的AOF文件

  10. /usr/bin/redis-check-rdb

    用于修复出问题的dump.rdb文件

  11. /usr/bin/redis-cli

    redis的客户端

  12. /usr/bin/redis-sentinel

    用于集群管理

  13. /usr/bin/redis-server

    redis的服务端

  14. /usr/bin/redis-shutdown

    停止所有客户端,进行保存,清空所有追加仅文件(如果AOF启用),并退出服务器。
    错误时答复简单字符串。成功时不返回任何结果,因为服务器退出并关闭连接。

  15. /usr/lib/systemd/system/redis-sentinel.service

    /usr/lib/ 程序或子系统的不变的数据文件,包括一些site-wide配置文件.名字lib来源于库(library); 编程的原始库存在/usr/lib 里.
    /usr/lib/systemd/system/ 文件夹存储 创建单位用的系统配置文件。
    redis-sentinel.service系统服务配置文件。
    如下:

    [Unit]
    Description=Redis Sentinel
    After=network.target
    [Service]
    ExecStart=/usr/bin/redis-sentinel /etc/redis-sentinel.conf –daemonize no
    ExecStop=/usr/bin/redis-shutdown redis-sentinel
    User=redis
    Group=redis
    [Install]
    WantedBy=multi-user.target

  16. /usr/lib/systemd/system/redis.service

    同上:

    [Unit]
    Description=Redis persistent key-value database
    After=network.target
    [Service]
    ExecStart=/usr/bin/redis-server /etc/redis.conf –daemonize no
    ExecStop=/usr/bin/redis-shutdown
    User=redis
    Group=redis
    [Install]
    WantedBy=multi-user.target

  17. /usr/lib/tmpfiles.d/redis.conf


    • /etc/tmpfiles.d/*.conf
    • /run/tmpfiles.d/*.conf
    • /usr/lib/tmpfiles.d/*.conf

    systemd-tmpfiles 使用上述三个目录中的配置文件 来决定如何创建、删除、清理 易变文件与临时文件以及易变目录与临时目录。
    这些文件与目录通常位于 /run, /var/run(指向 /run 的软连接), /tmp, /var/tmp, /sys, /proc, /var 目录中。
    系统的守护进程经常需要在 /run 目录下拥有专属的运行时目录,以存放套接字或管道之类的文件

    .#redis runtime directory
    d /run/redis 0755 redis redis -

    配置文件的格式是每行对应一个路径,包含下面字段:具体可参考[ http://www./systemd/tmpfiles.d.html ]
    | 类型 | 路径 | 权限 | 属主 | 属组 | 寿命 | 参数|
    |Type | Path | Mode | UID | GID | Age | Argument|
    d /run/user 0755 root root 10d -
    L /tmp/foobar - - - - /dev/null

  18. /usr/share/doc/redis-3.2.3

    /usr/share/放置共享文件的地方

  19. /usr/share/doc/redis-3.2.3/00-RELEASENOTES

    版本说明

  20. /usr/share/doc/redis-3.2.3/BUGS

    bugs

  21. /usr/share/doc/redis-3.2.3/CONTRIBUTING

    github上code捐献信息

  22. /usr/share/doc/redis-3.2.3/MANIFESTO

    声明

  23. /usr/share/doc/redis-3.2.3/README.md

    readme文件

  24. /usr/share/licenses/redis-3.2.3

    存放redis的许可文件

  25. /usr/share/licenses/redis-3.2.3/COPYING

    redis的许可文件COPYING

  26. /var/lib/redis

    /var/lib文件夹 存储 系统正常运行时要改变的文件

    指定redis本地数据库存放目录

    [root@aidev02 redis-3.2.3]# cd /var/lib/redis
    [root@aidev02 redis]# ls
    dump.rdb

  27. /var/log/redis

    /var/log 文件夹 :各种程序的Log文件,特别是login (/var/log/wtmp log所有到系统的登录和注销) 和syslog (/var/log/messages 里存储所有核心和系统程序信息. /var/log 里的文件经常不确定地增长,应该定期清除.

    指定redis本地日志存放目录

  28. /var/run/redis

    /var/run/文件夹 : 保存到下次引导前有效的关于系统的信息文件.例如, /var/run/utmp 包含当前登录的用户的信息.

    指定redis引导信息的存放目录

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多