[Redis] In memory DB Redis 설치 (CentOS 6.9, NoSQL, Master - Slave 구조)

2020. 2. 14. 19:13·Bigdata Engineering

Redis 란 ?

Redis는 NO Sql의 일종으로 기존 MySQL, Maria DB와는 다르게 In Memory를 사용하여 많은 장점이 있다.
처리 속도가 빠르다.

  • 당연히 데이터가 메모리+Disk에 저장된다. 그러나, 속도는 Memcached와 큰 차이가 없다.

데이터가 메모리+Disk에 저장된다.

  • 프로세스가 죽거나 장비가 Shutdown되더라도 Data의 복구가 가능하다

만료일을 지정하여 만료가 되면 자동으로 데이터가 사라진다.

  • 동일한 기능을 지원한다.

저장소 메모리 재사용 하지 않는다.

  • 명시적으로만 데이터를 제거할 수 있다.

 

Redis 설치 과정

:: 내부 IP에 대해선 10.xxx.xxx.xxx 로 마스킹 처리 하였습니다. 서버에 맞게 수정 바랍니다.

 

1 . Redis 설치

  • redis를 /home1/username/apps/redis 경로로 설정하기 위해, make install 파라미터 로써 "PREFIX=/home1/username/apps/redis install" 를 추가하여주었다.
cd /home1/username/stage/

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

sudo tar xvzf redis-4.0.8.tar.gz

cd redis-4.0.8

sudo make PREFIX=/home1/username/apps/redis install

sudo mkdir -p /home1/username/apps/redis/etc

 

2. Redis 설정

redis 소스 디렉토리에 있는것을 복사하는 방법도 좋지만, redis 설치패키지에 포함된 sh 스크립트를 사용하여주자

  • Util로 Redis 자동 구성
sudo /home1/username/stage/redis-4.0.8/utils/install_server.sh

# 아래와 같이 순서대로 설정 
Port           : 6379
Config file    : /home1/username/apps/redis/etc/6379.conf
Log file       : /home1/username/apps/redis/logs/redis_6379.log
Data dir       : /home1/username/apps/redis/data/6379
Executable     : /home1/username/apps/redis/bin/redis-server
Cli Executable : /home1/username/apps/redis/bin/redis-cli
  • conf 수정
cd /home1/username/apps/redis/etc/

...
vi 6379.conf
# 메모리 설정
maxmemory 1024*1024*1024*10
bind 127.0.0.1 10.XXX.XXX.XXX(내부아이피로 기재)
...
  • Q&A ) bind 설정값에 따른 차이점은 ?
    ㄴ conf 속성중 하나인 bind는 아래 규칙을 따릅니다.

    bind 127.0.0.1 로 설정시 - 127.0.0.1로 접속하는 클라이언트만 접근가능. 즉 내부 클라이언트에서만 접속 가능.
    bind 127.0.0.1 10.XXX.XXX.XXX(내부아이피) - 내부 클라이언트와, 내부망으로 연결된 모든 클라이언트에서 접속 가능.
    bind 0.0.0.0 or 주석처리 - 모든 ip에서 접속 허용(ifconfig 상 설정된 모든 ip에서 접속 가능). 권장하지 않음.

 

2-1. Redis 를 Master - Slave 추가 구성 하고 싶은 경우.

  • port의 경우 서버 상황에 맞게 수행하여 주세요.
sudo /home1/username/stage/redis-4.0.8/utils/install_server.sh

# 아래와 같이 순서대로 설정
Port           : 6389
Config file    : /home1/username/apps/redis/etc/6389.conf
Log file       : /home1/username/apps/redis/logs/redis_6389.log
Data dir       : /home1/username/apps/redis/data/6389
Executable     : /home1/username/apps/redis/bin/redis-server
Cli Executable : /home1/username/apps/redis/bin/redis-cli
  • conf 수정
cd /home1/username/apps/redis/etc/

vi 6389.conf
maxmemory 1024*1024*1024*5
bind 127.0.0.1 10.XXX.XXX.XXX(내부아이피로 기재)

slaveof 10.XXX.XXX.XXX 6379 (Master의 Redis 인스턴스)
or slaveof 127.0.0.1 6379

 

3. Redis 중지 / 실행

중지

sudo /etc/init.d/redis_6389 stop
sudo /etc/init.d/redis_6379 stop

실행

sudo /etc/init.d/redis_6379 start
sudo /etc/init.d/redis_6389 start

 

Redis 구동 테스트 

  • 방법 1) Redis-CLI 활용

/home1/username/apps/redis/bin/redis-cli

127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set abc 123
OK
127.0.0.1:6379> get abc
"123"
127.0.0.1:6379> monitor
OK
...
...

 

  • 방법 2) telnet 활용

# at Master
telnet 10.xxx.xxx.xxx 6379
set test test

# at Slave
telnet 10.xxx.xxx.xxx 6389
monitor
...
...
+1579754709.406515 [0 10.xxx.xxx.xxx:6379] "PING"
+1579754659.538290 [0 10.xxx.xxx.xxx:6379] "set" "test" "test"
+1579754709.406515 [0 10.xxx.xxx.xxx:6379] "PING"

 

저작자표시 (새창열림)

'Bigdata Engineering' 카테고리의 다른 글

[빅데이터] 요약 - 하둡 이란?, HDFS 동작과정  (0) 2020.03.09
[빅데이터]데이터 엔지니어 - 하둡 에코 시스템의 이해(요약 본)  (0) 2020.02.18
[CDH] 클라우데라 Hadoop - Open JDK 교체(oracle jdk -> open jdk)  (0) 2020.02.14
[CDH] Cloudera Manager 클라우데라 매니저 버전 업그레이드  (0) 2020.02.10
[Apache Impala] c++ 을 이용하여 urldecoder UDF 작성 하기  (0) 2020.02.07
'Bigdata Engineering' 카테고리의 다른 글
  • [빅데이터] 요약 - 하둡 이란?, HDFS 동작과정
  • [빅데이터]데이터 엔지니어 - 하둡 에코 시스템의 이해(요약 본)
  • [CDH] 클라우데라 Hadoop - Open JDK 교체(oracle jdk -> open jdk)
  • [CDH] Cloudera Manager 클라우데라 매니저 버전 업그레이드
DAMAT
DAMAT
Computer Science Engineer를 위한 tiStory
  • DAMAT
    Damat - Idea Factory
    DAMAT
  • 전체
    오늘
    어제
    • 분류 전체보기 (23)
      • Bigdata Engineering (14)
        • 빅데이터 플랫폼 R&D (1)
      • System Engineering (2)
      • Linux Server (3)
      • 프로그래밍 (0)
      • 교육 (1)
        • 문제 (1)
      • 코딩테스트 기록지 (2)
        • Python (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    zookeeper cli
    kafka 명령어
    kafka cli
    주키퍼 명령어
    python 소켓통신
    파이썬 소켓
    빅데이터 모니터링
    activemq 모니터링
    리소스매니저
    db binlog
    파이썬 소켓통신
    python데몬
    gitlab 버전
    presto 메모리 설정
    gitlab 패치
    python 소켓 프로그래밍
    zookeeper 명령어
    mysql 보관기관 설정
    hadoop이란
    주키퍼 cli
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
DAMAT
[Redis] In memory DB Redis 설치 (CentOS 6.9, NoSQL, Master - Slave 구조)
상단으로

티스토리툴바