Redis集群生产环境源码安装

本文详细介绍了如何在Linux系统中配置和安装Redis服务器,包括调整软限制、优化网络连接、内存管理设置,以及解决透明大页问题。还涉及了GCC编译器的安装和Redis配置的修改,以确保高效稳定的服务运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*  soft  stack    10240

*  hard  sigpending  127934

*  soft  sigpending  127934

vim /etc/security/limits.d/20-nproc.conf   修改

*  soft   nproc  12000

2.在/etc/sysctl.conf中加入 net.core.somaxconn=511 ,然后执行 sysctl ‐p 生效,解决默认设 置为一个较低的值128的警告。

  1. overcommit_memory 设置为0,在低内存环境下的后台保存可能失败。在文件 /etc/sysctl.conf 中添 加 vm.overcommit_memory = 1 ,然后重启或运行命令 sysctl vm.overcommit_memory=1

4.如果服务器的"Transparent Huge Pages (THP)"支持在内核中启用了。这将在使用Redis时造成延迟和 内存使用问题。使用root运行命令

echo never > /sys/kernel/mm/transparent_hugepage/enabled ,并且将它添加到你的/etc/rc.local中使在 重启后仍然保持生效来修复这个问题。在THP禁用之后Redis必须重启。

四、安装GCC编译工具,不然会有编译不过的问题

yum install gcc g++ gcc-c++ make -y

五、下载、解压、编译安装

su - sw

cd backup

wget http://download.redis.io/releases/redis-4.0.1.tar.gz

tar -xvf redis-4.0.1.tar.gz

cd redis-4.0.1

make

make PREFIX=/usr/users/sw/app/redis install

编译完成,redis已经安装在/usr/users/sw/app/redis/bin下面,几个文件大致作用为

redis‐benchmark:性能测试工具,测试Redis在你的系统及配置下的读写性能

redis‐check‐aof:用于修复出问题的AOF文件

redis‐check‐dump:用于修复出问题的dump.rdb文件

redis‐cli:Redis命令行交互客户端

redis‐sentinel:redis‐server别名

redis‐server:Redis服务器启动程序

六、redis的配置修改

在源码目录中,将配置文件模板redis.conf复制到redis配置文件目录中app/redis/conf/,因为一个虚拟机要启动单个

redis节点,所以配置文件要复制三份,分别用于用于规划的服务器端口号命名区别

mkdir ~/app/redis/conf

cp backup/redis-4.0.1/redis.conf ~/app/redis/conf/redis8601.conf

七、编辑redis8601.conf文件

  1. 设置bind地址为本机IP,&&为本机IP,需要改为其他节点机器可访问的ip,否则创建集群时无法访问对应的端口,无法创建集群

bind 192.168.26.*

  1. 修改daemonize为yes,即以后台程序方式运行

daemonize yes

  1. 修改服务端口

port 8601

  1. 修改pid生成路径

pidfile “/usr/uses/sw/app/redis/run/redis8601.pid”

需要手动创建run目录存放pid路径

mkdir /usr/users/sw/app/redis/run/

5.  修改日志文件的位置

logfile “/applog/redis8601/redis.log”

需要手动创建日志目录

mkdir /applog/redis8601/

6. 修改工作目录,数据文件,append only文件等会在该目录生成

dir “/applog/redisdump”

需要手动创建该目录

mkdir /applog/redisdump

7.  数据文件名

dbfilename “dump8601.rdb”

8.  是否每次更新操作进行日志记录

appendonly yes

文件名设置

appendfilename “appendonly8601.aof”

9.  是否支持集群

cluster-enabled yes

  1. 集群配置文件名

cluster-config-file “nodes-8601.conf”

八、复制redis8601.conf文件为另外两个节点修改

1. cp redis8601.conf redis8602.conf

cp redis8601.conf redis8603.conf

2.统一替换配置文件redis8602.conf和redis8603.conf的8601为8602和8603

sed -i ‘s/8601/8602/g’ redis8602.conf

sed -i ‘s/8601/8603/g’ redis8603.conf

3.要手动创建8602和8603的日志目录

mkdir /applog/redis8602

mkdir /applog/redis8603

九、启动redis各节点服务

1、cd ~/app/redis/bin

./redis-server ~/app/redis/conf/redis8601.conf

./redis-server ~/app/redis/conf/redis8602.conf

./redis-server ~/app/redis/conf/redis8603 .conf

十、脚本启动

mkdir ~/bin

vim redis.sh

#!/bin/bash

case $1 in

start)

cd /usr/users/sw/app/redis/bin

./redis-server /usr/users/sw/app/redis/conf/redis8601.conf

./redis-server /usr/users/sw/app/redis/conf/redis8602.conf

./redis-server /usr/users/sw/app/redis/conf/redis8603.conf

if [ “$?” -eq 0 ];then

ps -ef|grep redis|grep -v grep

echo “redis is started”

else

echo “redis is error”

exit 10

fi

;;

stop)

for pid in ( p s − e f ∣ g r e p r e d i s ∣ g r e p − v " g r e p " ∣ e g r e p − v " (ps -ef|grep redis|grep -v "grep"|egrep -v " (psefgrepredisgrepv"grep"∣egrepv"{0}"|awk -F " " ‘{print $2}’|uniq);do

kill -9 $pid >> /dev/null 2>&1

done

#echo “redis is stopped”

;;

restart)

${0} stop

${0} start

;;

esac

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值