CentOS7上源码安装MongoDB

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: Centos7源码安装MongoDB

当前时间:2019年3月1日

安装方式:源码安装

参考资料

环境准备

当前目录是所有软件安装包的存放目录
[root@sonny ~]# mkdir /root/mongodb #创建MongoDB程序存放目录
[root@sonny ~]# mkdir /data/mongodata -p #创建数据存放目录
[root@sonny ~]# mkdir /data/log/mongolog -p #创建日志存放目录
[root@sonny ~]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.6.tgz
  • 下载地址,先去官网查看最新版本号,然后把下载地址的版本号改为最新版本就可

安装

[root@sonny ~]# tar xf mongodb-linux-x86_64-3.2.7.tgz
[root@sonny ~]# cd mongodb-linux-x86_64-3.2.7/
[root@sonny ~]# cp -r * /root/mongodb   # 将当前所有文件复制
  • 为了便于命令启动,需要编辑全局变量PATH
[root@sonny ~]# vim /etc/profile.d/mongodb.sh
export PATH=$PATH:/root/mongodb/bin
[root@sonny ~]# source /etc/profile
  • ==环境变量的路径前面的系统变量一定要不能写错,否则就会出现,环境变量就只有一个,其他的都消失了,这是因为这样做是没有追加到系统变量下,而是替换了所有系统变量==

创建配置文件

查看mongod的帮助信息

[root@sonny ~]# mongod --help
Options:

General options:
  -h [ --help ]                         show this usage information
  --version                             show version information
  ......

在mongodb/bin目录下创建配置文件mongodb.conf

[root@sonny ~]# cd mongodb/bin
[root@sonny bin]# vi mongodb.conf
#数据文件存放目录
dbpath = /data/mongodata
#日志文件存放目录
logpath = /data/log/mongolog/mongodb.log
#端口
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true   
nohttpinterface = true

启动服务

[root@sonny bin]# mongod --dbpath=/data/mongodata --logpath=/data/log/mongolog/mongodb.log --logappend --fork
[root@sonny bin]# mongod -f /root/mongodb/bin/mongodb.conf #通过配置文件启动

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

测试

[root@sonny bin]# mongo
MongoDB shell version: 3.2.7
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
    http://docs.mongodb.org/
Questions? Try the support group
    http://groups.google.com/group/mongodb-user
Server has startup warnings: 
2019-03-01T11:30:22.390+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2019-03-01T11:30:22.390+0800 I CONTROL  [initandlisten] 
2019-03-01T11:30:22.390+0800 I CONTROL  [initandlisten] 
2019-03-01T11:30:22.390+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2019-03-01T11:30:22.390+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2019-03-01T11:30:22.390+0800 I CONTROL  [initandlisten] 
2019-03-01T11:30:22.390+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2019-03-01T11:30:22.390+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2019-03-01T11:30:22.390+0800 I CONTROL  [initandlisten] 
> show dbs
local  0.000GB
> quit()

消除警告

[root@sonny bin]# vim /etc/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
  echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
  echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
ulimit -u 65535
[root@sonny bin]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@sonny bin]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
  • Tip:
    如果发现加入到/etc/rc.local中的内容在重启后没有生效,检查下rc.local的权限及当前系统运行等级
[root@sonny ~]# runlevel
[root@sonny ~]# chmod +x /etc/rc.local

文件限制数调整

修改配置文件 /etc/security/limits.conf,添加配置信息:

* soft nofile 65535
* hard nofile 65535
* soft nproc 32000
* hard nproc 32000

停止mongodb

正常停止方法: kill -2 PID

[root@sonny ~]# ps -ef | grep mongo
root      7779     1  0 11:30 ?        00:00:06 mongod -f /root/mongodb/bin/mongodb.conf
root      7989  7496  0 11:41 pts/0    00:00:00 grep --color=auto mongo
[root@sonny ~]# kill -2 7779

在mongodb内部停止:
>use  admin  
>db.shutdownServer();

再次验证

[root@sonny ~]# mongod -f /root/mongodb/bin/mongodb.conf 
about to fork child process, waiting until server is ready for connections.
forked process: 8011
child process started successfully, parent exiting
[root@sonny ~]# mongo
MongoDB shell version: 3.2.7
connecting to: test
Server has startup warnings: 
2019-03-01T11:42:54.327+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2019-03-01T11:42:54.327+0800 I CONTROL  [initandlisten] 
> exit
bye

清理环境

进入安装包存放目录
[root@sonny ~]# rm -rf redis-5.0.3  #删除解压后文件,留下安装包,以备不时之需

服务化

[root@snails data]# cat > /usr/lib/systemd/system/systemd-mongodb.service << EOF
[Unit]
Description=mongodb
After=network.target
 
[Service]
Type=forking
PIDFile=/data/mongodata/mongod.lock
ExecStart=/root/mongodb/bin/mongod -f /root/mongodb/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target
EOF
[root@snails data]# systemctl enable systemd-mongodb
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
6月前
|
监控 PHP Apache
centos7.源码安装zabbix4.4
centos7.源码安装zabbix4.4
|
15天前
|
Linux Apache
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
12 0
|
2月前
|
NoSQL 应用服务中间件 Linux
CentOS7搭建MySQL+Redis+MongoDB+FastDF
CentOS7搭建MySQL+Redis+MongoDB+FastDF
138 0
|
2月前
|
NoSQL Linux MongoDB
centos7搭建MongoDB以及MongoDB复制集
centos7搭建MongoDB以及MongoDB复制集
37 0
|
3月前
|
NoSQL 安全 Linux
百度搜索:蓝易云【CentOS7安装MongoDB教程】
这些是在CentOS 7上安装MongoDB的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
133 0
|
4月前
|
关系型数据库 MySQL Linux
Centos安装MySQL数据库(注意:源码安装)
Centos安装MySQL数据库(注意:源码安装)
140 0
|
6月前
|
NoSQL Linux MongoDB
百度搜索:蓝易云【如何在 RHEL 8 或者 CentOS 8 上安装 MongoDB?】
以上是在RHEL 8或CentOS 8上安装MongoDB的基本步骤。安装完成后,您可以使用MongoDB的客户端工具连接到MongoDB服务器,并开始使用它进行数据库操作。希望这些步骤能够帮助您在RHEL 8或CentOS 8上成功安装MongoDB。
65 0
|
7月前
|
Kubernetes NoSQL Java
CentOS7上源码安装Redis6
CentOS7上源码安装Redis6
201 0
|
9月前
|
存储 SQL NoSQL
Centos7安装单机版MongoDB
Centos7安装单机版MongoDB
124 0
|
1天前
|
NoSQL MongoDB 数据库
MongoDB数据恢复—MongoDB数据库文件被破坏的数据恢复案例
服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。 MongoDB数据库故障&检测: 工作人员在未关闭MongoDB数据库服务的情况下,将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分区进行了格式化操作,然后将数据库文件拷回原分区,重新启动MongoDB服务,服务无法启动。