본문 바로가기
카테고리 없음

RabbitMq 설치 Cento7 완벽 정리 [timeout error]

by 우딬 2022. 3. 10.

1. 홈페이지에서 설치할 RabbitMq와 Erlang버전 확인

https://www.rabbitmq.com/which-erlang.html#supported-version-policy 

제가 설치할때 가장 최신 버전을 다운로드 받을 예정입니다.

  • rabbitmq 3.9.13
  • erlang 23.2

 

erl이 설치 되어 있지 않을때는 필요한 버전을 다운로드 받습니다.

제 컴퓨터는 이미 깔려있었고, 버전을 확인해 보았습니다.

 

$erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().'  -noshell

 

"R16B03-1" 이게 깔려있는 버전 이였는데

보니까 엄청 옛날 버전이였습니다.

그래서 삭제!

$yum erase erlang #삭제
$yum install erlang #다시 설치

그리고 다시 설치를 하니 설치가 안되서 보니 관련된 설치 파일이 엄청 많았다.

이것도 모두 삭제!

$yum erase erlang-erts-R16B-03.18.el7.x86_64 #관련패키지삭제
$yum install erlang #다시 설치

이렇게 필요한 버전의 erlang이 설치 되었습니다. 

2. 홈페이지에서 설치순서 확인

홈페이지에 쓸때 없는 이야기가 왜이렇게 많은지

여기에 따로 정리합니다.

2-1 . 스크립트 불러와서 설치

## Uses a PackageCloud-provided Yum repository setup script.
## Always verify what is downloaded before piping it to a privileged shell!
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

packagecloud에 스크립트를 업로드 해놨다고 하니 이걸 가져다 쓰면 된다고 합니다.

 

2-2 . 파일 생성하기

vi /etc/yum.repos.d/rabbitmq.repo

 

아래 내용을 추가합니다.

Cento 7 버전으로 수정했습니다. 8버전은 홈페이지에서 확인하시고 그대로 사용하시면 됩니다.

# In /etc/yum.repos.d/rabbitmq.repo

##
## Zero dependency Erlang RPM
##

[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/$basearch
repo_gpgcheck=1
enabled=1
# Cloudsmith's repository key and RabbitMQ package signing key
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key
       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md

[rabbitmq_erlang-noarch]
name=rabbitmq_erlang-noarch
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/noarch
repo_gpgcheck=1
enabled=1
# Cloudsmith's repository key and RabbitMQ package signing key
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key
       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md

[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/SRPMS
repo_gpgcheck=1
enabled=1
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key
gpgcheck=0
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md


##
## RabbitMQ Server
##

[rabbitmq_server]
name=rabbitmq_server
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/rpm/el/7/$basearch
repo_gpgcheck=1
enabled=1
# Cloudsmith's repository key and RabbitMQ package signing key
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key
       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md

[rabbitmq_server-noarch]
name=rabbitmq_server-noarch
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/rpm/el/7/noarch
repo_gpgcheck=1
enabled=1
# Cloudsmith's repository key and RabbitMQ package signing key
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key
       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md

[rabbitmq_server-source]
name=rabbitmq_server-source
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/rpm/el/7/SRPMS
repo_gpgcheck=1
enabled=1
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key
gpgcheck=0
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md

 

2-3. yum 업데이트 하기

yum update -y

업데이트를 하면 위 스크립트에 [***] 이라고 적힌 패키지가 설치 됩니다.

 

2-4. 순서대로 설치하기

yum -q makecache -y --disablerepo='*' --enablerepo='rabbitmq_erlang' --enablerepo='rabbitmq_server'

## install these dependencies from standard OS repositories
yum install socat logrotate -y

yum install --disablerepo=* --enablerepo=rabbitmq_erlang --enablerepo=rabbitmq_server-noarch erlang

 

3. RabbitMq 시작하기

# RabbitMQ management UI 사용
sudo rabbitmq-plugins enable rabbitmq_management

# 서비스 멈추기
sudo service rabbitmq-server stop

# 서비스 시작하기
sudo service rabbitmq-server start

# 서비스 상태확인
sudo service rabbitmq-server status

#UI로 서버 확인
http://서버ip:15672/

 

 

 

4. 계정 생성 및 권한 

#계정 등록
sudo rabbitmqctl add_user test_id test_pw

#권환 등록
sudo rabbitmqctl set_user_tags test_id administrator

sudo rabbitmqctl set_permissions -p / test_id '.*' '.*' '.*'

 

5. timeout 에러 이유

현재 머신이 서버 호스트로 등록 되어 있지 않을 경우 에러가 나타납니다.

$cat /etc/hosts
127.0.0.1   localhost localhost.localdomain
::1         localhost localhost.localdomain

저도 시작하면 타임아웃오류가 떠서 찾아보니 현재 돌리고 있는 머신의정보가 없습니다.

그래서 등록 하였습니다.

[root@q361-2514 ~]# cat >> /etc/hosts
127.0.0.1   q361-2514
[root@q361-2514 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain
::1         localhost localhost.localdomain
127.0.0.1   q361-2514

 

댓글