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 |