일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- spring
- gradle
- Zeppelin
- 자바
- fastcampus
- login
- ec2
- Redis
- Cluster
- Mac
- vue
- redash
- EMR
- 자동
- 레디스
- 설정
- aws
- SpringBoot
- Jenkins
- 예제
- hive
- 간단
- 머신러닝
- java
- Docker
- 로그인
- config
- 클러스터
- Kafka
- 젠킨스
- Today
- Total
코알못
5분 안에 구축하는 Redis-Cluster (CentOS 에서 설치시 이슈) 본문
1) TCP Backlog 경고
WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
- 원인 : tcp backlog 셋팅이 128로 되어 있어 511로 셋팅한 부분이 적용되지 않는다는 이슈
- 해결 방안 : tcp backlog 셋팅을 올려준다. (저자는 1024로 셋팅하였으나 값은 511 이상으로만 하면 된다.)
$ sysctl -w net.core.somaxconn=1024
// sysctl.conf 에도 해당 설정을 넣어 서버 재기동시에도 적용 되도록 함
$ echo "net.core.somaxconn=1024" >> /etc/sysctl.conf
2) overcommit_memory 경고
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
- 원인 : overcommit_memory 셋팅이 0으로 되어있으며, 0으로 설정시 메모리 부족 현상이 일어나면 해당 프로세스를 oom-killer(Out Of Memory Killer) 가 자동으로 kill 시켜 서비스가 안될 수 있으니 1로 설정하라는 설명 (1일시 메모리 부족해도 kill 시키지 않는다)
- 해결 방안 : 1로 설정 변경
$ sudo sysctl vm.overcommit_memory=1
// sysctl.conf 에도 해당 설정을 넣어 서버 재기동시에도 적용 되도록 함
$ echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
3) THP 경고
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.
- 원인 : THP 기능이 켜져 있어서 생기는 이슈로 THP 는 Redis 의 성능에 이슈를 주므로 기능을 꺼야한다는 이슈
- 해결 방안 : THP 기능을 끈다.
echo never > /sys/kernel/mm/transparent_hugepage/enabled
// sysctl.conf 에도 해당 설정을 넣어 서버 재기동시에도 적용 되도록 함 (exit 0 위에 넣도록 한다.)
vi /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled
4) BIND 경고
# Could not create server TCP listening socket IP:16300: bind: Cannot assign requested address
- 원인 : 해당 IP PORT 에 접근 할 수 없다는 이슈로 telnet 하면 정상적으로 연결되어 찾아보니 해당 이슈는 버그로 알려져 있어 모든 IP에 대해 허용하도록 설정을 수정한다.
- 해결 방안 : 기존 redis conf 파일에 bind 설정에 해당 IP 만 허용하도록 설정한 부분을 모두 허용하도록 수정한다.
bind 0.0.0.0
5) Open File 수 경고
# Current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
- 원인 : open file 수 설정이 4096으로 되어 있으나 현재 그보다 낮아 발생하는 이슈
- 해결 방안 : open file 수를 늘린다. (저자의 경우 65535로 늘렸으나 4096 보다 높게 잡으면 이슈 없음)
// open file 수 확인
ulimt -a
// open file 수 변경
ulimit -n 65535
// limits.conf 에도 해당 설정을 넣어 서버 재기동시에도 적용 되도록 함
vi /etc/security/limits.conf
서버계정명 soft nofile 65535
'JAVA' 카테고리의 다른 글
5분안에 구축하는 OAuth 서버 - 03 (1) | 2021.12.30 |
---|---|
5분안에 구축하는 OAuth 서버 - 02 (1) | 2021.12.26 |
5분안에 구축하는 OAuth 서버 - 01 (5) | 2021.08.12 |
5분 안에 구축하는 로그인 서비스 - 쿠키&세션 (1) | 2021.07.17 |
5분 안에 구축하는 Redis Predixy (2) | 2021.06.01 |