- Python 2.7.3
//경우에 따라서 bzip-devl, libcurl-devel, snappy-devel 등을 yum 혹은 dnf 로 install 해야 함
MongoRocks - 3.4 설치 방법
1. RocksDB 설치 및 빌드
//다운로드
git clone -b 5.1.fb https://github.com/facebook/rocksdb.git
//빌드 -> -j는 옵션. 없어도 상관없음
cd rocksdb
CFLAGS=-fPIC CXXFLAGS=-fPIC
make static_lib -j 8
INSTALL_PATH=/usr make install -j 8
make shared_lib -j 8
cd ..
2. MongoRocks 설치
git clone -b v3.4 https://github.com/mongodb-partners/mongo-rocks
3. MongoDB 설치
git clone -b v3.4 https://github.com/mongodb/mongo.git
4. MongoRocks 빌드
mkdir -p mongo/src/mongo/db/modules
cd mongo/src/mongo/db/modules
ln -sf ../../../../../mongo-rocks rocks
cd ../../../../
//gcc 5.4
scons
//5.4보다 버전이 높을 경우
scons --disable-warnings-as-errors
//혹은 .. 여기서도 -j n 옵션으로 속도 올릴 수 있음
buildscripts/scons.py mongod --disable-warnings-as-errors
//MongoDB가 버전이 많아서 dependency를 먼저 설치해야하는 경우도 많은데 3.4버전은
pip install -r buildscripts/resmokelib/requirements.txt
//Master 버전은..
pip3 install -r etc/pip/compile-requirements.txt
5. 실행
//정상적으로 빌드하였다면 (다행..) mongod 파일이 생성되고 해당 파일로 mongoDB를 실행가능
//기본 저장디렉토리 생성 및 rocksdb storage 엔진으로 사용 (default가 WiredTiger이기 때문에 지정해주어야 함)
mkdir -p /data/db
./mongod --storageEngine=rocksdb
6. 기타 에러
// Compression type Snappy is not linked with the binary. at src/mongo/db/modules/rocks/src/rocks_engine.cpp 208 등 같은 에러는 compress 라이브러리를 바꾸어서 실행하면 됨
--rocksdbCompression arg (arg => none, snappy, zlib, lz4, lz4hc, mongod --help로 확인 후 입력)
//간혹이 아니라.. 빌드가 안되는 상황이 많을 수 있음.. 이때는 보통 rocksdb의 빌드 문제가 많음 mongo-rocks의 git에서는 다음과 같은 형식으로 설치하고 있음
cd rocksdb; USE_RTTI=1 CFLAGS=-fPIC make static_lib; sudo INSTALL_PATH=/usr make install; cd ..
//재빌드하기전에 make clean 및 /usr/lib/librocksdb.a 파일, /usr/include/rocksdb 폴더 삭제 후 재빌드 권장 (사실 안해도 될수도 있음...)++ 9/18 추가
requirements 설치 중 에러 1.
‘/usr/lib/rpm/redhat/redhat-hardened-cc1’: No such file or directory
=> dnf install redhat-rpm-config
requirements 설치 중 에러 2.
Python.h: No such file or directory
=> dnf install python2-devel