카테고리 없음

mongodb 5.0.18 설치

재ㅐㅐ원 2023. 7. 8. 21:36

arm 기준

 

https://hoing.io/archives/5752 (참고)

 

mongo https://fastdl.mongodb.org/linux/mongodb-linux-aarch64-ubuntu2004-5.0.18.tgz

 

https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-5.0.18.tgz

# 불러오기
wget https://fastdl.mongodb.org/linux/mongodb-linux-aarch64-ubuntu2004-5.0.18.tgz

# 압축 해제
tar zxvf mongodb-linux-aarch64-ubuntu2004-5.0.18.tgz

# 디렉토리 복사
sudo cp -r mongodb-linux-aarch64-ubuntu2004-5.0.18 /usr/local/mongodb-5.0.18

 

 

추가 디렉토리 작업 및 환경 변수 설정
데이터 파일이 사용할 디렉토리 생성 및 소유권 변경 진행하도록 하겠으며, 해당 경로를 꼭 사용해야 하는 것은 아니므로 사용하는 환경에 맞게 경로를 지정해서 사용하시면 됩니다.

 
# 디렉토리 생성
sudo mkdir -p /mongodb_data
sudo mkdir -p /var/log/mongodb
 
# 소유권 변경
sudo chown -R mongodb:mongodb /mongodb_data
sudo chown -R mongodb:mongodb /var/log/mongodb

PATH 환경 변수 추가를 하도록 하겠습니다.

nano ~/.profile
 
# 아래 내용을 추가
 
export PATH=$PATH:/usr/local/mongodb-5.0.18/bin


systemd 서비스 파일에서 사용할 용도로 심볼릭 링크를 하나 생성 하도록 하겠습니다.

sudo ln -s /usr/local/mongodb-5.0.18/bin/mongod /usr/bin/mongod



systemd 서비스 파일 작성
포스팅에서는 MongoDB의 시작, 종료를 systemd 를 통해서 진행하였고, 필요한 systemd 서비스 파일을 작성하도록 하겠습니다.

sudo nano /lib/systemd/system/mongod.service
 
## 아래 내용으로 파일을 작성
 
[Unit]
Description=MongoDB Database Server
After=network-online.target
Wants=network-online.target
 
[Service]
User=mongodb
Group=mongodb
PermissionsStartOnly=true
EnvironmentFile=-/etc/default/mongod
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb
ExecStartPre=/usr/bin/chown mongodb:mongodb /var/run/mongodb
PIDFile=/var/run/mongodb/mongod.pid
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# locked memory
LimitMEMLOCK=infinity
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false
 
# Recommended limits for mongod as specified in
 
[Install]
WantedBy=multi-user.target



mongod.conf 파일 작성
MongoDB 시작에 필요한 conf 파일을 작성하도록 하겠습니다.

sudo nano /etc/mongod.conf
 
## 아래 내용으로 작성
 
 
# mongod.conf
 
# for documentation of all options, see:
 
# Where and how to store data.
storage:
dbPath: /mongodb_data
directoryPerDB: true
journal:
enabled: true
# engine:
# wiredTiger:
 
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
 
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
 
 
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
 
#security:
 
#operationProfiling:
 
#replication:
 
#sharding:
 
## Enterprise-Only Options:
 
#auditLog:
 
#snmp:

위의 conf 파일에는 mongodb 데이터파일의 위치를 /mongodb_data 하는 것으로 설정되어 있습니다.

사용하시는 환경에서 경로에 맞게 수정하시면 되며, 패키지 설치시에 자동으로 생성되는 conf 파일에서 "directoryPerDB: true" 만 추가한 conf 파일 입니다.



MongoDB 시작

sudo systemctl daemon-reload
sudo systemctl enable mongod
sudo systemctl start mongod



프로세스 확인 및 접속

 
# 프로세스 확인
ps -ef| grep mongod
 
# 접속
mongo

mongod[521294]: /usr/bin/mongod: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory

 

https://stackoverflow.com/a/74332834

 

libssl.so.1.1: cannot open shared object file: No such file or directory

I've just updated to Ubuntu 22.04 LTS and my libs using OpenSSL just stopped working. Looks like Ubuntu switched to the version 3.0 of OpenSSL. For example, poetry stopped working: Traceback (most ...

stackoverflow.com

update 2022/11/09

fast way to install libssl1.1

$ echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
$ sudo apt-get update && \
    apt-get install libssl1.1
$ dpkg -L libssl1.1
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/engines-1.1
/usr/lib/x86_64-linux-gnu/engines-1.1/afalg.so
/usr/lib/x86_64-linux-gnu/engines-1.1/capi.so
/usr/lib/x86_64-linux-gnu/engines-1.1/padlock.so
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1      <---
/usr/lib/x86_64-linux-gnu/libssl.so.1.1         <---
/usr/share
/usr/share/doc
/usr/share/doc/libssl1.1
/usr/share/doc/libssl1.1/NEWS.Debian.gz
/usr/share/doc/libssl1.1/changelog.Debian.gz
/usr/share/doc/libssl1.1/copyright

 

 

on arm

 

wget http://ports.ubuntu.com/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.23_arm64.deb
sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.23_arm64.deb