MongoDB 单机安装部署

文若4个月前技术文章112

说明

本篇文章介绍 MongoDB 二进制安装的步骤,整个过程还是比较简单。

1. 下载安装包

进入 MongoDB 官网,获取安装包的下载链接:

https://www.mongodb.com/try/download/community 以下载 5.0.23 版本为例:

3288720edd4e4f27a2880950ced485c1.png

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.23.tgz

2. 安装数据库

解压缩包:

tar -zxvf mongodb-linux-x86_64-rhel70-5.0.23.tgz

drwxr-xr-x 2 root root    70 12月 19 10:21 bin -rw-r--r-- 1 root root 30608 11月 20 23:29 LICENSE-Community.txt -rw-r--r-- 1 root root 16726 11月 20 23:29 MPL-2 -rw-r--r-- 1 root root  1977 11月 20 23:29 README -rw-r--r-- 1 root root 77913 11月 20 23:29 THIRD-PARTY-NOTICES

mv mongodb-linux-x86_64-rhel70-5.0.23 /usr/local/mongodb

创建配置文件:

touch /usr/local/mongodb/mongod.conf

创建数据目录:

mkdir -p /data/mongodb/{data,logs,run}

创建 mongod 用户:

groupadd mongod
useradd -g mongod -s /sbin/nologin -r mongod

修改文件属组:

chown -R mongod:mongod /usr/local/mongodb/
chown -R mongod:mongod /data/mongodb/

配置环境变量:

echo "export PATH=\$PATH:/usr/local/mongodb/bin" >> /etc/profile
source /etc/profile

写入配置文件:

vi /usr/local/mongodb/mongod.conf

# where to write logging data. 
systemLog:
 destination: file
 logAppend: true
 path: /data/mongodb/logs/mongod.log
# Where and how to store data.
storage:
 dbPath: /data/mongodb/data
 journal:
   enabled: true

# how the process runs
processManagement:
 fork: true  # fork and run in background
 pidFilePath: /data/mongodb/run/mongod.pid  # location of pidfile

# network interfaces
net:
 port: 27017
 bindIp: 0.0.0.0  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
security:
 authorization: enabled

启动 MongoDB:

PS:可以不用启动,直接配置 systemctl   : )

/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongod.conf

about to fork child process, waiting until server is ready for connections. forked process: 28580 child process started successfully, parent exiting

关闭 MongoDB:

/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongod.conf --shutdown

3. 配置 systemctl

配置前需要把刚启动的 MongoDB 手动关闭掉,否则测试会报错。

vi /usr/lib/systemd/system/mongod.service

将下面内容,写入 mongod.service 中。

[Unit]
Description=MongoDB Database Server
Documentation=https://docs.mongodb.org/manual
After=network-online.target
Wants=network-online.target


[Service]
User=mongod
Group=mongod
Environment="OPTIONS=-f /usr/local/mongodb/mongod.conf"
ExecStart=/usr/local/mongodb/bin/mongod $OPTIONS
PermissionsStartOnly=true
PIDFile=/data/mongodb/run/mongod.pid
Type=forking
# 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
# https://docs.mongodb.com/manual/reference/ulimit/#recommended-ulimit-settings


[Install]
WantedBy=multi-user.target

重新加载配置:

systemctl daemon-reload
# 启动
systemctl start mongod
# 查看状态
systemctl status mongod
# 设置开机自启
systemctl enable mysqld

PS:如果使用 systemctl 启动失败,通常是目录授权问题,或者是未删除 mongod.lock 找到它并删除再重试。

4. 创建 root 用户

配置文件中开启了授权,所以进入 MongoDB 后需要先创建 root 高权限账号。

use admin
db.createUser ( {user: "root",pwd: "admin123",roles: [{role: "root", db: "admin"}]})


相关文章

ACOS统一监控-应用监控

    在智能运维中的应用(APM)监控可谓是老生常谈,实现各个应用数据交互全面、安全、稳定的控制是应用监控核心价值。在应用监控的实现上各大产品也是尽显其能,总的来说都离不开全栈、端到端、链路、根因诊...

Prometheus集成pushgateway监控k8s集群

Prometheus集成pushgateway监控k8s集群

Prometheus部署环境介绍本文的k8s环境是通过二进制方式搭建的v1.20.13版本清单准备注意集群版本的坑,自己先到Github上下载对应的版本。注意: 集群版本在v1.21.x之前需要注意下...

MySQL 同步方式

同步方式一、分类同步大致为异步、半同步、增强版同步、全同步;二、详情1.异步复制MySQL 默认的复制策略,Master处理事务过程中,将其写入Binlog就会通知Dump thread线程处理,然后...

CDP实操--配置RangerKMS 并基于Navigator Trustee Server存储KMS密钥

CDP实操--配置RangerKMS 并基于Navigator Trustee Server存储KMS密钥

1.1添加用于部署KMS的服务器到集群从集群host页面里添加两台服务器用于部署rangerkms选择kms-1和kms-2两台服务器等待parcel分发到新加服务器上并自动完成激活 等待host i...

Redis 慢查询相关配置

Redis 慢查询相关配置

一、查询生命周期一条查询的生命周期:发送命令命令排队执行命令返回结果Redis 慢日志只统计 “执行命令” 步骤 3 的耗时,所以没有慢查询并不代表客户端没有超时问题。二、慢日志配置参数慢日志相关的参...

Flume使用案例之实时读取本地文件到HDFS

Flume实时读取本地文件到HDFS1.  创建flume-hdfs.conf文件# 1 agenta2.sources = r2a2.sinks = k2a2.channels = c2 # 2 s...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。