环境
[root@centos181001 ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
[root@mongodb-hotel-test ~]# mongo --version
MongoDB shell version v4.0.9
git version: fc525e2d9b0e4bceff5c2201457e564362909765
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
distmod: rhel70
distarch: x86_64
target_arch: x86_64
第零步:关闭系统默认防火墙(by all)
setenforce 0
sed -i -r "/^SELINUX=/c SELINUX=disabled" /etc/selinux/config
which systemctl && systemctl stop firewalld
which systemctl && systemctl disable firewalld
which systemctl && systemctl stop iptables || service iptables stop
which systemctl && systemctl disable iptables || chkconfig iptables off
第一步:安装
方法1:官方YUM源安装
1.设置官方YUM源
cat <<EOF >/etc/yum.repos.d/mongodb.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7Server/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
2.安装
yum install -y mongodb-org
mongodb-org 一metapackage,将自动安装以下四个组件包。
mongodb-org-server 包含mongod守护程序,关联的init脚本和配置文件(/etc/mongod.conf)。您可以使用初始化脚本从mongod 配置文件开始。有关详细信息,请参阅运行MongoDB Community Edition。
mongodb-org-mongos 包含mongos守护进程。
mongodb-org-shell 包含mongoshell。
mongodb-org-tools 包含以下的MongoDB工具:,,, , ,,和。mongoimport bsondumpmongodumpmongoexportmongofilesmongorestoremongostatmongotop
3.启动
systemctl stop mongod.service
systemctl start mongod.service
systemctl status mongod.service
systemctl enable mongod.service
4.默认配置
/etc/mongod.conf
/var/log/mongodb/mongod.log
dbPath: /var/lib/mongo
port: 27017
5.优化设置
# 禁用区域回收sysctl
echo 0 | sudo tee /proc/sys/vm/zone_reclaim_mode
sudo sysctl -w vm.zone_reclaim_mode=0
## 启动
## 这<path>是您正在启动的程序的路径,是<options> 传递给程序的任何可选参数。
numactl --interleave = all <path> <options>
## 分配交换空间
为系统分配交换空间。分配交换空间可以避免内存争用问题,并可以防止Linux系统上的OOM Killer被杀死mongod。
## 临时
sysctl vm.swappiness=1
## 永久生效
echo 'vm.swappiness = 1' >>/etc/sysctl.conf
## 表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为5分钟。
echo 'net.ipv4.tcp_keepalive_time = 300' >> /etc/sysctl.conf
sysctl -w net.ipv4.tcp_keepalive_time=300
## 您应该使用XFS或EXT4文件系统。如果可能,请使用XFS,因为它通常可以更好地使用MongoDB。
## 可以使用以下命令监控磁盘I/O负载
iostat -xmt 1
附录:常用命令
## 查询所有数据库列表
show dbs
## 查看当前连接在那个数据库下面
db
## 切换到test数据库
use test
## 查看test下有哪些表
show collections
## 查看某个表有多少行
db.test_collection.count()
## 查看各collection的状态
db.printCollectionStats()
## 查看主从复制状态
db.printReplicationInfo(
##
## 帮助命令
help
附录:
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
https://docs.mongodb.com/manual/?_ga=2.139494387.1903477608.1554630249-1225889609.1554630249