MongoDB中怎么部署单实例
这篇文章将为大家详细讲解有关MongoDB中怎么部署单实例,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
1. 安装所需依赖yuminstalllibcurlopenssl2. 下载tar包
下载地址:https://www.mongodb.com/download-center?jmp=nav#community
3.解压tar包将下载的tar包上传至服务器/apps路径下,如果不存在,请自行创建(注:目前以root登录)
root#cd/appsroot#tar-zxvfmongodb-linux-x86_64-rhel70-4.0.2.tgzroot#ls-ldrwxrwxr-x.3mongomongo86Dec818:34mongodb-linux-x86_64-rhel70-4.0.2-rw-rw-r--.1mongomongo82140922Oct2422:03mongodb-linux-x86_64-rhel70-4.0.2.tgzroot#mvmongodb-linux-x86_64-rhel70-3.2.10mongodb---为了方便后续使用,我们重命名文档4.关闭防火墙
root#sudosystemctlstopfirewalldroot#sudosystemctlstatusfirewalld5.关闭大内存页面5.1先查看参数值:
root#sudocat/sys/kernel/mm/transparent_hugepage/enabled[always]madviseneverroot#sudocat/sys/kernel/mm/transparent_hugepage/defrag[always]madvisenever5.2 配置transparent_hugepage服务
root#sudovim/etc/init.d/disable-transparent-hugepages
填写如下内容
#!/bin/bash###BEGININITINFO#Provides:disable-transparent-hugepages#Required-Start:$local_fs#Required-Stop:#X-Start-Before:mongodmongodb-mms-automation-agent#Default-Start:2345#Default-Stop:016#Short-Description:DisableLinuxtransparenthugepages#Description:DisableLinuxtransparenthugepages,toimprove#databaseperformance.###ENDINITINFOcase$1instart)if[-d/sys/kernel/mm/transparent_hugepage];thenthp_path=/sys/kernel/mm/transparent_hugepageelif[-d/sys/kernel/mm/redhat_transparent_hugepage];thenthp_path=/sys/kernel/mm/redhat_transparent_hugepageelsereturn0fiecho'never'>${thp_path}/enabledecho'never'>${thp_path}/defragre='^[0-1]+$'if[[$(cat${thp_path}/khugepaged/defrag)=~$re]]then#RHEL7echo0>${thp_path}/khugepaged/defragelse#RHEL6echo'no'>${thp_path}/khugepaged/defragfiunsetreunsetthp_path;;esac5.3 对该服务授权,并设置开机启动
root#sudochmod755/etc/init.d/disable-transparent-hugepagesroot#sudochkconfig--adddisable-transparent-hugepages5.4 重启服务器后检查该参数是否已经生效:
root#sudocat/sys/kernel/mm/transparent_hugepage/enabledalwaysmadvise[never]root#sudocat/sys/kernel/mm/transparent_hugepage/defragalwaysmadvise[never]
注:transparent_hugepage参数必须设置为never,否则,在登录mongo shell的时候会有如下告警:
官方的配置链接:Disable Transparent Huge Pages (THP)【https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/】
有时候Linux系统默认的open files(文件句柄)是1024, 但是mongod官网建议是64000,并且确实需要修改要不然会被坑(很不幸,我遇到了)
6.1 查看到Linux系统的一些设置:[mongo@mongodb01~]$ulimit-acorefilesize(blocks,-c)0datasegsize(kbytes,-d)unlimitedschedulingpriority(-e)0filesize(blocks,-f)unlimitedpendingsignals(-i)31206maxlockedmemory(kbytes,-l)64maxmemorysize(kbytes,-m)unlimitedopenfiles(-n)1024pipesize(512bytes,-p)8POSIXmessagequeues(bytes,-q)819200real-timepriority(-r)0stacksize(kbytes,-s)8192cputime(seconds,-t)unlimitedmaxuserprocesses(-u)1024virtualmemory(kbytes,-v)unlimitedfilelocks(-x)unlimited6.2 修改
可使用命令临时修改
ulimit-n64000
上述方法服务器重启后将失效,永久办法,修改/etc/security/limits.conf,添加mongo相关4条配置信息
root#vim/etc/security/limits.conf#@student-maxlogins4mongosoftnproc64000mongohardnproc64000mongosoftnofile64000mongohardnofile64000#Endoffile
注:修改成功后重启mongod生效
7.创建用户mongoroot#groupaddmongogrproot#useradd-gmongogrpmongo8.创建所需目录
root#mkdir/dataroot#chown-Rmongo:mongogrp/dataroot#sumongo$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程序路径exportPATH
$source.bash_profile---使环境变量生效10.创建启动配置文件
虽然里面有很多复杂的参数,不要着急,咱先启动了再说,后续我会详细讲解各个常用参数的意义,因为我喜欢把配置文件mongodb.cnf(名字当然可以虽然叫)放在/etc目录下,你也可以放到其他地方,随意。
$sudovim/etc/mongodb.cnf
填入如下内容
storage:dbPath:/data/dbdata/r1#数据文件存放路径journal:enabled:truecommitIntervalMs:100directoryPerDB:trueengine:wiredTigerwiredTiger:engineConfig:directoryForIndexes:truesystemLog:quiet:falsepath:/data/logs/r1_logs/r1.log#log日志路径destination:filelogAppend:trueprocessManagement:fork:truepidFilePath:/data/pid/r1.pid#进程ID存放net:port:27018maxIncomingConnections:3000wireObjectCheck:true#security:#keyFile:/data/key/r1#authorization:enabled#replication:#oplogSizeMB:10240#replSetName:rs1#operationProfiling:#slowOpThresholdMs:100#mode:slowOp
编辑完后保存即可
赋予权限
$sudochown-Rmongo:mongo/etc/mongodb.cnf11.启动数据库实例
$/apps/mongodb/bin/mongod-f/etc/mongodb.cnf12.连接数据库
mongo192.168.1.100:27018
我们可以通过检查是否可以连接到mongo shell以验证启动成功,当然也可以直接看进程
$ps-ef|grepmongod
关于MongoDB中怎么部署单实例就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。