본문 바로가기

리눅스

CentOS 7에서 최신 버전의 Redis를 설치하는 방법

반응형

CentOS 7에서 최신 버전의 Redis를 설치를 설치하는 방법

Redis : A persistent key-value database

레디스 서버 기본 구성 설정(redis default configuration settings)

TCP backlog 경고

시스템의 somaxconn 값이 Redis가 요청한 TCP 연결 대기 큐 크기보다 작아서 발생하는 경고입니다. Redis는 기본적으로 tcp-backlog 값을 511로 설정하지만 시스템의 somaxconn 값이 낮으면 이를 충족시킬 수 없습니다.

sysctl -w net.core.somaxconn=1024

영구적으로 적용

echo "net.core.somaxconn = 1024" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

overcommit_memory 경고

Redis가 백그라운드로 데이터 스냅샷을 저장할 때 시스템 메모리가 부족할 경우 Linux의 메모리 관리 정책 때문에 문제가 발생할 수 있다는 경고입니다. overcommit_memory 값이 0으로 설정되어 있으면 시스템이 메모리를 효율적으로 할당하지 못할 수 있습니다.

sysctl -w vm.overcommit_memory=1

영구적으로 적용

echo "vm.overcommit_memory = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Transparent Huge Pages (THP) 경고

THP(Transparent Huge Pages)는 기본적으로 메모리 사용을 최적화하기 위한 기능이지만 Redis와 같은 메모리 집약적인 애플리케이션에서는 성능 저하를 일으킬 수 있습니다. Redis는 THP를 비활성화할 것을 권장합니다.

echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag

영구적으로 적용

sudo vim /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
sudo chmod +x /etc/rc.local
728x90

CentOS 7의 기본 리포지토리가 오래된 버전을 제공할 수 있으므로 최신 버전의 Redis를 설치하기 위해서는 EPEL(Extra Packages for Enterprise Linux) 리포지토리나 Redis 공식 리포지토리를 사용해야 합니다.

 

EPEL 리포지토리 및 YUM Utilities 패키지 설치

sudo yum install -y epel-release yum-utils

Remi 리포지토리 설치

sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Remi 리포지토리 활성화

sudo yum-config-manager --enable remi

설치전 Redis 버전 확인

sudo yum info redis
$ sudo yum info redis
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
 * epel: nrt.edge.kernel.org
 * extras: mirror.kakao.com
 * remi: ftp.riken.jp
 * remi-safe: ftp.riken.jp
 * updates: mirror.kakao.com
Available Packages
Name        : redis
Arch        : x86_64
Version     : 6.2.5
Release     : 1.el7.remi
Size        : 1.2 M
Repo        : remi
Summary     : A persistent key-value database
URL         : http://redis.io
License     : BSD
Description : Redis is an advanced key-value store. It is often referred to as a data
            : structure server since keys can contain strings, hashes, lists, sets and
            : sorted sets.
            :
            : You can run atomic operations on these types, like appending to a string;
            : incrementing the value in a hash; pushing to a list; computing set
            : intersection, union and difference; or getting the member with highest
            : ranking in a sorted set.
            :
            : In order to achieve its outstanding performance, Redis works with an
            : in-memory dataset. Depending on your use case, you can persist it either
            : by dumping the dataset to disk every once in a while, or by appending
            : each command to a log.
            :
            : Redis also supports trivial-to-setup master-slave replication, with very
            : fast non-blocking first synchronization, auto-reconnection on net split
            : and so forth.
            :
            : Other features include Transactions, Pub/Sub, Lua scripting, Keys with a
            : limited time-to-live, and configuration settings to make Redis behave like
            : a cache.
            :
            : You can use Redis from most programming languages also.

Redis 설치

sudo yum install -y redis

Redis 버전 확인

redis-cli --version
$ redis-cli --version
redis-cli 6.2.5
redis-server --version

Redis 서비스 시작 및 활성화

sudo systemctl --now enable redis

Redis 서비스 상태 확인

sudo systemctl status redis

Redis 설정 파일 수정

sudo vim /etc/redis.conf
bind 0.0.0.0

Redis 클라이언트 연결 테스트

redis-cli
127.0.0.1:6379> ping
PONG

 

728x90
반응형