Mac에서 macports를 이용하여 mongoDB 설치하기
2011/04/10 00:00
macports 는 Mac에서 오픈소스를 설치와 패키지 관리를 쉽게 도와주는 툴이다. 맥을 이용하는 개발자에게 macports는 가장 유용한 툴 중에 하나일 것이다. mongoDB는 scalable, high-performance, open source, document-oriented database로써 NoSQL에 관심을 가지고 있는 분들이라면 한번쯤 들어봤을 데이터베이스이다. 앞으로 mongoDB에 대하여 연재를 하기위해서 macports를 이용하여 mongoDB를 설치해 보았다.
macports의 설치 방법은 http://www.macports.org/install.php 에 자세히 설명하고 있다.
macports 설치를 마쳤으면 macports를 이용하여 mongoDB를 설치한다.
설치를 마쳤으면 mongoDB 서버를 실행해본다.
mongoDB를 설치하였다고 서버를 실행하면 다음과 같은 에러를 만나면서 프로세스가 죽는다.
예외가 발생한 부분을 살펴보면 mongoDB가 사용하는 데이터폴드가 없어서 예외가 생겨서 중단되었다는 것을 확인 할 수 있다.
이제 mongoDB에 필요한 폴더들을 만들 차례이다.
1. mongoDB의 데이터베이스 파일들이 저장될 폴더를 만든다.
2. mongoDB의 로그가 저장될 폴더를 만든다.
3. mongoDB의 설정파일을 저장할 폴더를 만든다.
4. mongoDB의 로그가 저장될 파일을 만든다
5. mongoDB의 설정파일을 만들고 설정을 저장한다.
이제 설정은 끝났다. 이제 mongoDB 서버를 시작하면 다음과 설정파일을 가지고 시작하면된다.
macports의 설치 방법은 http://www.macports.org/install.php 에 자세히 설명하고 있다.
macports 설치를 마쳤으면 macports를 이용하여 mongoDB를 설치한다.
sudo /opt/local/bin/port install mongodb
macports가 정상적으로 설치되어서 mongodb를 설치하면 다음과 같이 의존성을 검사하여 macports 저장소에서 의존성에 필요한 패키지를 패치하여 설치하기 시작한다.
Saltfactory:bin Saltfactory$ sudo /opt/local/bin/port install mongodb
Saltfactory:bin Saltfactory$ sudo /opt/local/bin/port install mongodb
---> Computing dependencies for mongodb
---> Dependencies to be installed: boost icu libpcap scons python26 spidermonkey nspr
---> Fetching icu
---> Attempting to fetch icu4c-4_6_1-src.tgz from http://download.icu-project.org/files/icu4c/4.6.1/
---> Verifying checksum(s) for icu
---> Extracting icu
---> Applying patches to icu
---> Configuring icu
....
설치를 마쳤으면 mongoDB 서버를 실행해본다.
sudo /opt/local/bin/mongod
mongoDB를 설치하였다고 서버를 실행하면 다음과 같은 에러를 만나면서 프로세스가 죽는다.
Saltfactory:bin Saltfactory$ sudo /opt/local/bin/mongod
/opt/local/bin/mongod --help for help and startup options
Sat Apr 9 22:22:52 [initandlisten] MongoDB starting : pid=76520 port=27017 dbpath=/data/db/ 64-bit
Sat Apr 9 22:22:52 [initandlisten] db version v1.8.0, pdfile version 4.5
Sat Apr 9 22:22:52 [initandlisten] git version: nogitversion
Sat Apr 9 22:22:52 [initandlisten] build sys info: Darwin Saltfactory.local 10.7.0 Darwin Kernel Version 10.7.0: Sat Jan 29 15:17:16 PST 2011; root:xnu-1504.9.37~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_46_1
Sat Apr 9 22:22:52 [initandlisten] exception in initAndListen std::exception: dbpath (/data/db/) does not exist, terminating
Sat Apr 9 22:22:52 dbexit:
Sat Apr 9 22:22:52 [initandlisten] shutdown: going to close listening sockets...
Sat Apr 9 22:22:52 [initandlisten] shutdown: going to flush diaglog...
Sat Apr 9 22:22:52 [initandlisten] shutdown: going to close sockets...
Sat Apr 9 22:22:52 [initandlisten] shutdown: waiting for fs preallocator...
Sat Apr 9 22:22:52 [initandlisten] shutdown: closing all files...
Sat Apr 9 22:22:52 closeAllFiles() finished
Sat Apr 9 22:22:52 dbexit: really exiting now
예외가 발생한 부분을 살펴보면 mongoDB가 사용하는 데이터폴드가 없어서 예외가 생겨서 중단되었다는 것을 확인 할 수 있다.
이제 mongoDB에 필요한 폴더들을 만들 차례이다.
1. mongoDB의 데이터베이스 파일들이 저장될 폴더를 만든다.
sudo mkdir /opt/local/var/mongodb/data/db
2. mongoDB의 로그가 저장될 폴더를 만든다.
sudo mkdir /opt/local/var/log/mongodb
3. mongoDB의 설정파일을 저장할 폴더를 만든다.
sudo mkdir /opt/local/etc/mongodb
4. mongoDB의 로그가 저장될 파일을 만든다
sudo touch /opt/local/var/log/mongodb/mongodb.log
5. mongoDB의 설정파일을 만들고 설정을 저장한다.
sudo vi /opt/local/etc/mongodb/mongod.conf
dbpath=/opt/local/var/mongodb/data/db
bind_ip=127.0.0.1
fork=true
logpath=/opt/local/var/log/mongodb/mongodb.log
logappend=true
이제 설정은 끝났다. 이제 mongoDB 서버를 시작하면 다음과 설정파일을 가지고 시작하면된다.
sudo /opt/local/bin/mongod -f /opt/local/etc/mongodb/mongod.conf