首页 > 代码库 > CentOS6.9安装Redis4.0.0

CentOS6.9安装Redis4.0.0

防伪码:没有相当程度的孤独是不可能有内心的平和。

1、环境准备

主机名IP系统
redis-01192.168.10.24CentOS release 6.9 (Final)

Redis安装比较简单,官网下载界面就有参考:

https://redis.io/download



2、安装

# 创建安装目录
mkdir /app
# 下载redis4.0.0
cd /opt
wget http://download.redis.io/releases/redis-4.0.0.tar.gz

# 解压并安装 
tar zxf redis-4.0.0.tar.gz -C /app
cd /app/redis-4.0.0
make
make PREFIX=/app/redis install

# 配置环境变量:
export PATH=/app/redis/bin/:$PATH
echo "export PATH=/app/redis/bin/:$PATH">>/etc/profile


3、启动

redis-server /app/redis-4.0.0/redis.conf
# 出现报错:
4631:M 20 Jul 16:01:04.624 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
4631:M 20 Jul 16:01:04.624 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‘vm.overcommit_memory = 1‘ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1‘ for this to take effect.
4631:M 20 Jul 16:01:04.624 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command ‘echo never > /sys/kernel/mm/transparent_hugepage/enabled‘ as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.


解决告警1

echo 511 > /proc/sys/net/core/somaxconn


解决告警2

echo "vm.overcommit_memory=1" > /etc/sysctl.conf
sysctl vm.overcommit_memory=1


overcommit_memory参数说明:

可选值:0、1、2。

0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何,即最大限度使用内存

2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

Linux对大部分申请内存的请求都回复"yes",以便能跑更多更大的程序。因为申请内存后,并不会马上使用内存。这种技术叫做Overcommit。当linux发现内存不足时,会发生OOM killer(OOM=out-of-memory)。它会选择杀死一些进程(用户态进程,不是内核线程),以便释放内存。

当oom-killer发生时,linux会选择杀死哪些进程?选择进程的函数是oom_badness函数(在mm/oom_kill.c中),该函数会计算每个进程的点数(0~1000)。点数越高,这个进程越有可能被杀死。每个进程的点数跟oom_score_adj有关,而且oom_score_adj可以被设置(-1000最低,1000最高)。



解决告警3:

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo ‘echo never > /sys/kernel/mm/transparent_hugepage/enabled‘>>/etc/rc.local


查看是否成功启动:

[root@redis-01 ~]#ps -ef|grep redis
root      27905   1437  0 16:53 pts/0    00:00:00 redis-server 127.0.0.1:6379
root      27910   1437  0 16:53 pts/0    00:00:00 grep --color=auto redis
[root@redis-01 ~]#lsof -i :6379
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 27905 root    6u  IPv4  35926      0t0  TCP localhost:6379 (LISTEN)


关闭redis:

redis-cli shutdown


本文出自 “简明Linux” 博客,请务必保留此出处http://easylinux.blog.51cto.com/9732761/1949434

CentOS6.9安装Redis4.0.0