본문 바로가기
개발

Microsoft Azure의 Linux에 MongoDB 설치하기

by 솜씨제이 2014. 10. 18.

Microsoft Azure의 Linux Virtual Machine(CentOS)에 MongoDB를 설치하는 방법이다.


1. Microsoft Azure 포털에서 "새로 만들기" > "계산" > "가상 컴퓨터" > "갤러리에서"를 선택한다.



2. 이미지 선택에서 "CENTOS" > "OpenLogic 7.0"을 선택한다.



3. 가상 컴퓨터 구성을 입력한다.


  • "가상 컴퓨터 이름"을 입력하고 "계층", "크기"를 선택한다.
  • "새 사용자 이름"을 입력하고 "인증을 위한 호환 가능한 SSH 키 업로드"를 체크 해제한다.
  • "암호 제공"에 체크하고 "새 암호"와 "확인"을 입력한다.
  • 다음으로 이동한다.

  • "지역"을 선택한다.
  • "끝점"에 MongoDB를 추가하고 TCP 프로토콜로 공용 포트 27017, 개인 포트 27017을 입력한다.
  • 다음으로 이동해 완료를 클릭하면 가상 컴퓨터가 만들어진다.

4. SSH로 접속한다.

가상 컴퓨터의 대시보드 우측 간략 상태에 SSH 세부 정보가 있다.
해당 정보를 이용해서 SSH로 접속한다.(Putty등 이용)

5. OS를 업데이트한다.

아래 명령으로 OS를 업데이트한다.
sudo yum update

6. 데이터 디스크를 연결한다.

  • 가상 컴퓨터의 대시보드에서 "연결" > "빈 디스크 연결"을 선택한다.
  • "크기"를 입력하고(10GB 이상) "호스트 캐시 기본 설정"을 "읽기/쓰기"로 변경한다.
  • 확인을 클릭해 디스크를 연결한다.

7. 데이터 디스크를 초기화한다.

  • SSH에 접속해서 아래 명령을 입력한다.

sudo grep SCSI /var/log/messages

  • 메시지의 마지막에 연결된 디스크를 확인한다.

[sdc] Attached SCSI disk

  • 새 장치를 만들기 위해 아래 명령을 입력한다.
sudo fdisk /dev/sdc
  • 새 파티션을 생성하기 위해 n을 입력한다.
  • p를 입력해 주 파티션으로 선택하고 1을 입력해 첫번째 파티션으로 선택한다.
  • 다음은 시작 섹터와 마지막 섹터를 기본값으로 선택한다.
  • p를 입력해 분할되는 파티션을 확인한다.
  • w를 입력해 파티션 설정을 저장한다.
  • 다음 명령을 입력해 새 파티션을 만든다.

sudo mkfs -t ext4 /dev/sdc1

  • 마운트할 새 디렉토리를 생성한다.
sudo mkdir /data
  • 새 디스크를 마운트한다.
sudo mount /dev/sdc1 /data
  • /etc/fstab에 새 디스크를 추가한다.
    • 다음 명령으로 UUID를 확인한다.
sudo -i blkid
    • /etc/fstab의 마지막에 아래 형식으로 UUID를 포함한 내용을 추가한다.
      (UUID는 위에서 확인한 값으로 입력)
UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /data   ext4   defaults   1   2

8. 데이터 디렉토리를 생성한다.

  • 사용자 계정을 data 디렉토리의 owner로 설정한다.
sudo chown `id -u` /data
  • db 디렉토리를 생성한다.
mkdir -p /data/db

9. MongoDB를 설치한다.

  • 다음 내용으로 /etc/yum.repos.d/mongodb.repo 파일을 생성한다.
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
enabled=1
  • 다음 명령으로 로컬 패키지 데이터베이스를 업데이트한다.

sudo yum update

  • MongoDB를 설치한다.

sudo yum install mongo-10gen mongo-10gen-server


10. MongoDB를 설정한다.


다음 값으로 /etc/mongod.conf 파일의 dbpath와 logpath 등을 수정한다.

dbpath=/data/db

logpath=/data/mongod.log

pidfilepath=/data/mongod.pid

#bind_ip=127.0.0.1


11. MongoDB를 실행한다.


mongod --config /etc/mongod.conf

실행되면 로그 파일을 확인할 수 있다.

tail --f /mnt/datadrive/mongod.log


12. 외부 접근을 위해 방화벽을 해제한다.


OpenLogic 7.0은 방화벽이 설정되어 있으므로 외부 접근을 위해 방화벽을 해제해주어야 한다.

sudo systemctl disable firewalld

sudo systemctl stop firewalld


13. 서비스로 실행하기


MongoDB를 서비스로 실행하려면 먼저 SELinux를 비활성화한다.

/etc/selinux/config 파일을 편집해서 SELINUX 값을 변경한다.

SELINUX=disabled

시스템을 재시작해서 아래 명령을 입력한다.

sudo service mongod start



참고)

http://docs.mongodb.org/ecosystem/tutorial/install-mongodb-on-linux-in-azure/

http://azure.microsoft.com/ko-kr/documentation/articles/store-mongodb-virtual-machines-linux-install-centos/

http://azure.microsoft.com/ko-kr/documentation/articles/virtual-machines-linux-how-to-log-on/

http://azure.microsoft.com/ko-kr/documentation/articles/virtual-machines-linux-how-to-attach-disk/

댓글