我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MongoDB中怎么部署单实例

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MongoDB中怎么部署单实例

这篇文章将为大家详细讲解有关MongoDB中怎么部署单实例,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1. 安装所需依赖

yum install libcurl openssl

2. 下载tar包

下载地址: https://www.mongodb.com/download-center?jmp=nav#community

MongoDB中怎么部署单实例

3.解压tar包

将下载的tar包上传至服务器/apps路径下,如果不存在,请自行创建(注:目前以root登录)

root#cd /apps
root#tar -zxvf mongodb-linux-x86_64-rhel70-4.0.2.tgz
root# ls -l
drwxrwxr-x. 3 mongo mongo       86 Dec  8 18:34 mongodb-linux-x86_64-rhel70-4.0.2
-rw-rw-r--. 1 mongo mongo 82140922 Oct 24 22:03 mongodb-linux-x86_64-rhel70-4.0.2.tgz
root# mv mongodb-linux-x86_64-rhel70-3.2.10   mongodb        ---为了方便后续使用,我们重命名文档

4.关闭防火墙

root#sudo systemctl  stop firewalld
root#sudo systemctl  status  firewalld

5.关闭大内存页面

5.1先查看参数值:
root#sudo cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise  never
root#sudo cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise  never
5.2 配置transparent_hugepage服务
root#sudo vim /etc/init.d/disable-transparent-hugepages

填写如下内容

#!/bin/bash
### BEGIN INIT INFO
# Provides:          disable-transparent-hugepages
# Required-Start:    $local_fs
# Required-Stop:
# X-Start-Before:    mongod mongodb-mms-automation-agent
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Disable Linux transparent huge pages
# Description:       Disable Linux transparent huge pages, to improve
#                    database performance.
### END INIT INFO
case $1 in
  start)
    if [ -d /sys/kernel/mm/transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/transparent_hugepage
    elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/redhat_transparent_hugepage
    else
      return 0
    fi
    echo 'never' > ${thp_path}/enabled
    echo 'never' > ${thp_path}/defrag
    re='^[0-1]+$'
    if [[ $(cat ${thp_path}/khugepaged/defrag) =~ $re ]]
    then
      # RHEL 7
      echo 0  > ${thp_path}/khugepaged/defrag
    else
      # RHEL 6
      echo 'no' > ${thp_path}/khugepaged/defrag
    fi
    unset re
    unset thp_path
    ;;
esac
5.3 对该服务授权,并设置开机启动
root#sudo chmod 755 /etc/init.d/disable-transparent-hugepages
root#sudo chkconfig --add disable-transparent-hugepages
5.4 重启服务器后检查该参数是否已经生效:
root#sudo cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
root#sudo cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]

注:transparent_hugepage参数必须设置为never,否则,在登录mongo shell的时候会有如下告警:

MongoDB中怎么部署单实例

官方的配置链接:Disable Transparent Huge Pages (THP)【https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/】

6.修改open files

有时候Linux系统默认的open files(文件句柄)是1024, 但是mongod官网建议是64000,并且确实需要修改要不然会被坑(很不幸,我遇到了)

6.1 查看到Linux系统的一些设置:
[mongo@mongodb01 ~]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 31206
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
6.2 修改

可使用命令临时修改

ulimit -n 64000

上述方法服务器重启后将失效,永久办法,修改/etc/security/limits.conf,添加mongo相关4条配置信息

root#vim /etc/security/limits.conf
#@student        -       maxlogins       4
mongo soft nproc 64000
mongo hard nproc 64000
mongo soft nofile 64000
mongo hard nofile 64000
# End of file

注:修改成功后重启mongod生效

7.创建用户mongo

root#groupadd mongogrp
root#useradd -g mongogrp  mongo

8.创建所需目录

root#mkdir /data
root#chown  -R  mongo:mongogrp   /data
root#su mongo
$mkdir -p /data/dbdata/r1      ---数据文件存放
$mkdir  -p /data/logs/r1_logs          ---创建日志文件路径
$mkdir -p /data/pid            ---mongodb进程id存放

9.配置环境变量

$cd /home/mongo
$vim .bash_profile

修改PATH变量

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/apps/mongodb/bin       ---添加上mongo程序路径
export PATH
$source  .bash_profile         ---使环境变量生效

10.创建启动配置文件

虽然里面有很多复杂的参数,不要着急,咱先启动了再说,后续我会详细讲解各个常用参数的意义,因为我喜欢把配置文件mongodb.cnf(名字当然可以虽然叫)放在/etc目录下,你也可以放到其他地方,随意。

$sudo vim /etc/mongodb.cnf

填入如下内容

storage:
   dbPath: /data/dbdata/r1    #数据文件存放路径
   journal:
      enabled: true
      commitIntervalMs: 100
   directoryPerDB: true
   engine: wiredTiger
   wiredTiger:
      engineConfig:
         directoryForIndexes: true
systemLog:
   quiet: false
   path: /data/logs/r1_logs/r1.log    #log日志路径
   destination: file
   logAppend: true
processManagement:
   fork: true
   pidFilePath: /data/pid/r1.pid    #进程ID存放
net:
   port: 27018
   maxIncomingConnections: 3000
   wireObjectCheck: true
#security:
#    keyFile: /data/key/r1
#    authorization: enabled
#replication:
#   oplogSizeMB: 10240
#   replSetName: rs1    
#operationProfiling:
#   slowOpThresholdMs: 100
#   mode: slowOp

编辑完后保存即可

赋予权限

$sudo chown -R mongo:mongo /etc/mongodb.cnf

11.启动数据库实例

$/apps/mongodb/bin/mongod -f /etc/mongodb.cnf

12.连接数据库

mongo 192.168.1.100:27018

我们可以通过检查是否可以连接到mongo shell以验证启动成功,当然也可以直接看进程

$ps -ef | grep mongod

关于MongoDB中怎么部署单实例就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MongoDB中怎么部署单实例

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL8.0.20单机多怎么部署

这篇文章主要介绍“MySQL8.0.20单机多怎么部署”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL8.0.20单机多怎么部署”文章能帮助大家解决问题。0.环境需要1.准备Linux环境(
2023-06-30

怎么用Docker简单部署ElasticSearch

这篇文章主要介绍了怎么用Docker简单部署ElasticSearch的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Docker简单部署ElasticSearch文章都会有所收获,下面我们一起来看看吧。一
2023-06-05

MongoDB在云原生环境中怎么部署与管理

在云原生环境中部署和管理MongoDB通常可以通过以下几种方式:使用托管服务:许多云服务提供商都提供了托管的MongoDB服务,用户可以直接在这些云平台上创建MongoDB实例,并且由云服务商负责管理和维护数据库服务。使用容器化部署:将M
MongoDB在云原生环境中怎么部署与管理
2024-05-07

CentOs中Solr6.2.1单机安装部署的示例分析

这篇文章主要介绍CentOs中Solr6.2.1单机安装部署的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Solr体系结构图开始安装:到网站http://lucene.apache.org/solr/dow
2023-06-03

php中怎么实现集群部署

这篇“php中怎么实现集群部署”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php中怎么实现集群部署”文章吧。一、什么是集群
2023-07-05

Docker中怎么部署nginx

这篇“Docker中怎么部署nginx”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Docker中怎么部署nginx”文章吧
2023-06-27

Ubuntu14.04中怎么部署Docker

今天小编给大家分享一下Ubuntu14.04中怎么部署Docker的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Docker
2023-06-28

webrtc中iceServer怎么部署

在WebRTC中部署ICE服务器(ICE server)需要完成以下步骤:1. 设定一个或多个ICE服务器的URL和凭证。ICE服务器用于协助WebRTC进行NAT穿透和连接建立,因此至少需要一个ICE服务器。您可以选择使用公共的ICE服务
2023-10-25

hadoop中怎么部署lzo

这篇文章主要讲解了“hadoop中怎么部署lzo”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“hadoop中怎么部署lzo”吧!简介启用lzo启用lzo的压缩方式对于小规模集群是很有用处,压
2023-06-02

Docker中怎么部署Node.js

这篇文章主要介绍了Docker中怎么部署Node.js的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker中怎么部署Node.js文章都会有所收获,下面我们一起来看看吧。项目结构`-- docker-no
2023-07-04

Ubuntu中怎么部署Django

这篇文章主要介绍了Ubuntu中怎么部署Django的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Ubuntu中怎么部署Django文章都会有所收获,下面我们一起来看看吧。第一步,先更新sudo apt-get
2023-07-04

linux中怎么部署k8s

在Linux上部署Kubernetes(K8s)可以按照以下步骤进行操作:安装Docker:K8s使用Docker作为容器运行时环境,因此首先需要在Linux上安装Docker。可以通过在终端中运行以下命令来安装:sudo apt upd
2023-10-27

编程热搜

目录