1. 准备安装介质
安装介质下载:
mongodb的安装方式,我通常使用二进制包的方式,内网不能配置连接外网的yum源;
官方建议的mongodb下载地址为: Downloads.mongodb.org
但实际上,这个地址,很难找到下载表,正常下载,通常可以用下面的下载地址选择下载:
https://www.mongodb.org/dl/linux/x86_64
我这里下载的是: 3.2.5 版本对应的 mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8.tgz
如果将整个mongodb安装过程已经编写了脚本,可以获取安装脚本,用脚本执行安装;
如果手动安装,则可跳过此步;
手工安装mongodb的脚步的执行过程,一般如下:
mkdir -p /root/{software,scripts} wget -q http://ptmaster.test.cn/files/init/mongodb_install.sh -O /root/scripts/mongodb_install.sh cd /root/scripts ./mongodb_install.sh -p 27117</div>
2. 添加mongodb用户和环境变量,修改系统设置
添加用户:
groupadd mongodb useradd -g mongodb mongodb</div>
创建mongodb脚本目录
mkdir -p /home/mongodb/scripts/</div>
修改目录权限:
chown -R mongodb:mongodb /home/mongodb/scripts/</div>
在 /etc/profile 中添加 mongodb 用户的环境变量:
# MongoDB Environment Variables export PATH=$PATH:$HOME/bin:/usr/local/mongodb/bin:/home/mongodb/scripts/</div>
是上面的变量生效:
source /etc/profile
实际操作过程如下:
[root@yq-mapp-otadb248 etc]# id mongodb id: mongodb: No such user [root@yq-mapp-otadb248 etc]# [root@yq-mapp-otadb248 etc]# [root@yq-mapp-otadb248 etc]# groupadd mongodb useradd -g mongodb mongodb[root@yq-mapp-otadb248 etc]# useradd -g mongodb mongodb [root@yq-mapp-otadb248 etc]# [root@yq-mapp-otadb248 etc]# [root@yq-mapp-otadb248 etc]# id mongodb uid=801(mongodb) gid=801(mongodb) groups=801(mongodb) [root@yq-mapp-otadb248 etc]#</div>
mongodb要求hugepage设置为禁用,soft limit设置足够大,可以在一开始修改,也可以到后面修改;
cat /etc/security/limits.d/90-nproc.conf</div>
修改这个文件中下列的值
* soft nproc 2048</div>
确保: soft nproc 的值至少是 soft nofile 值的一半;
修改后,退出当前用户,重新进入一下,设置就可以生效了;
禁用 hugepage 的值:
# echo "never" > /sys/kernel/mm/transparent_hugepage/enabled # echo "never" > /sys/kernel/mm/transparent_hugepage/defrag</div>
备注:上面两个警告,现在不修改也不影响安装过程,后面会提示。
3. 安装mongodb软件
上传并解压软件:
cd /usr/local rz mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8.tgz tar -zxvf mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8.tgz ln -sv mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8 /usr/local/mongodb</div>
修改文件权限:
chown -R mongodb:mongodb mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8 chown -R mongodb:mongodb /usr/local/mongodb</div>
实际操作过程如下:
[root@yq-mapp-otadb248 src]# rz rz waiting to receive. Starting zmodem transfer. Press Ctrl+C to cancel. Transferring mongodb-linux-x86_64-rhel62-3.2.5.tar.gz... 100% 66999 KB 16749 KB/sec 00:00:04 0 Errors [root@yq-mapp-otadb248 src]# ll total 277792 -rw-r--r-- 1 root root 68607629 Oct 19 11:53 mongodb-linux-x86_64-rhel62-3.2.5.tar.gz -rw-r--r-- 1 root root 215848960 Apr 19 2016 mongodb-linux-x86_64-rhel62-v3.2-latest [root@yq-mapp-otadb248 src]# [root@yq-mapp-otadb248 src]# tar -zxvf mongodb-linux-x86_64-rhel62-3.2.5.tar.gz mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/ mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/mongooplog mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/mongod mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/mongo mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/mongofiles mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/bsondump mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/mongorestore mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/mongos mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/mongoexport mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/mongodump mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/mongoimport mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/mongotop mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/mongostat mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/bin/mongoperf mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/GNU-AGPL-3.0 mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/MPL-2 mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/README mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8/THIRD-PARTY-NOTICES [root@yq-mapp-otadb248 src]# [root@yq-mapp-otadb248 src]# ll total 277796 drwxr-xr-x 3 root root 4096 Oct 19 11:54 mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8 -rw-r--r-- 1 root root 68607629 Oct 19 11:53 mongodb-linux-x86_64-rhel62-3.2.5.tar.gz -rw-r--r-- 1 root root 215848960 Apr 19 2016 mongodb-linux-x86_64-rhel62-v3.2-latest [root@yq-mapp-otadb248 src]# [root@yq-mapp-otadb248 src]# mv mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8 ../ [root@yq-mapp-otadb248 src]# cd .. [root@yq-mapp-otadb248 local]# [root@yq-mapp-otadb248 local]# ln -sv mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8 /usr/local/mongodb `/usr/local/mongodb' -> `mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8' [root@yq-mapp-otadb248 local]# [root@yq-mapp-otadb248 local]# chown -R mongodb:mongodb mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8 [root@yq-mapp-otadb248 local]# chown -R mongodb:mongodb /usr/local/mongodb [root@yq-mapp-otadb248 local]# [root@yq-mapp-otadb248 local]# ll total 52 drwxr-xr-x. 2 root root 4096 Apr 24 2014 bin drwxr-xr-x. 2 root root 4096 Sep 23 2011 etc drwxr-xr-x. 2 root root 4096 Sep 23 2011 games drwxr-xr-x. 2 root root 4096 Sep 23 2011 include drwxr-xr-x. 2 root root 4096 Sep 23 2011 lib drwxr-xr-x. 3 root root 4096 Apr 25 2014 lib64 drwxr-xr-x. 2 root root 4096 Sep 23 2011 libexec lrwxrwxrwx 1 root root 25 Mar 6 2015 logstash -> /usr/local/logstash-1.4.2 drwxrwxr-x 8 logstash logstash 4096 Jun 24 2014 logstash-1.4.2 lrwxrwxrwx 1 mongodb mongodb 45 Oct 19 11:59 mongodb -> mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8 drwxr-xr-x 3 mongodb mongodb 4096 Oct 19 11:54 mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8 lrwxrwxrwx 1 root root 39 Apr 23 2014 mysql -> /usr/local/mysql-5.5.19-linux2.6-x86_64 drwxr-xr-x 12 root mysql 4096 Apr 23 2014 mysql-5.5.19-linux2.6-x86_64 drwxr-xr-x. 2 root root 4096 Sep 23 2011 sbin drwxr-xr-x. 6 root root 4096 Apr 25 2014 share drwxr-xr-x. 2 root root 4096 Oct 19 11:54 src [root@yq-mapp-otadb248 local]#</div>
4. 创建mongodb实例所需的目录和配置文件
创建mongodb实例所需目录:
mkdir -p /data/mongo_27117/{db,log,tmp}</div>
创建mongodb实例配置文件所需目录和文件:
mkdir -p /etc/mongodb touch /etc/mongodb/mongo_27117.conf</div>
根据需要配置mongodb的