DB/Redis
[Redis] 인스턴스 실행오류,bind 오류
으르리
2021. 6. 22. 13:23
Redis 6.2.4버전을 사용중입니다.
reids를 사용할때 여러 서버에서 통신을 지원하기 위해 bind 값을 수정하여 실행하였더니,
인스턴스가 실행이 되지않았습니다..ㅠ.. bind값은 건드렸을 때 뭔가 제대로 안먹히는 경우가 8할인 것 같습니다..
로그를 확인해 보니 다음과 같은 로그를 만났습니다..
# oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
# Redis version=6.2.4, bits=64, commit=00000000, modified=0, pid=24593, just started
# Configuration loaded
* monotonic clock: POSIX clock_gettime
# Warning: Could not create server TCP listening socket n.n.n.n:6379: bind: Cannot assign requested address
# Failed listening on port 6379 (TCP), aborting.
그러니까 소통이 안된다 이말이군요..
연결할 인스턴스가 많지 않을때는 포트번호를 명시해주면 해결이됩니다.
bind n.n.n.n:6379 m.m.m.m:6379
평소엔 저도 이방법으로 해결을 했습니다만..
이번엔 연결할 인스턴스가 꾀많은지라.. 저방법이 힘들 것 같아 찾아보니 일단 다음과 같은 방법이있습니다.
1.NETWORKING_IPV6을 비활성화
# /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
IPV6INIT=no
HOSTNAME=localhost.localdomain
파일을 수정해준뒤
# disable-ipv6.conf
# touch /etc/modprobe.d/disable-ipv6.conf
# echo "install ipv6 /bin/true" >> /etc/modprobe.d/disable-ipv6.conf
해당 파일를 생성 하거나 내용 입력합니다.
# lsmod | grep ipv6
리부팅 후 ipv6 모듈 disable 확인해서 아무것도 뜨지않으면 됩니다.
출처-> https://faq.hostway.co.kr/?mid=Linux_ETC&page=7&document_srl=1472
그런데 저는 이미.. 비활성화가 되어있었습니다..ㅠ....
2.bind 모든 ip오픈
가장 심플한 방법이죠.. 보안성이 좀 떨어지긴하지만 conf파일을 열어 bind를 다음과 같이 설정해 줍니다.
bind 0.0.0.0
모든 서버에서 접근이 가능하도록 열어주는 방법이죠.
현재로써는 많은 인스턴스를 연결하기위해선 이방법 밖에 없는 것 같습니다ㅠ
혹 다른 방안이 업데이트가 된다면 추가하도록 하겠습니다.
반응형