Mongodb tar包安装4.0版本

一、MongoDB部署安装

第一步:安装依赖

yum install libcurl openssl -y

第二步:下载软件

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.14.tgz

第三步:解压软件

tar zxf mongodb-linux-x86_64-rhel70-4.0.14.tgz -C /opt/

第四步:生成软链接

cd /opt/
ln -s mongodb-linux-x86_64-rhel70-4.0.14 mongodb

第五步:生成配置文件

生成相关目录

mkdir -p /opt/mongo_27017/{conf,log,pid}
mkdir -p /data/mongo_27017 

生成配置文件

cat >/opt/mongo_27017/conf/mongodb.conf<<EOF
systemLog:
  destination: file     #Mongodb ⽇志输出的⽬的地,指定⼀个file或者syslog,如果指定file,必须指定
  logAppend: true    #当实例重启时,不创建新的⽇志⽂件, 在⽼的⽇志⽂件末尾继续添加
  path: /opt/mongo_27017/log/mongodb.log     #⽇志路径

storage:
  journal:      #回滚⽇志
    enabled: true
  dbPath: /data/mongo_27017     #数据存储⽬录
  directoryPerDB: true       #默认,false不适⽤inmemoryengine
  wiredTiger:
    engineConfig:     #将⽤于所有数据缓存的最⼤⼩
      cacheSizeGB: 0.5     
      directoryForIndexes: true     #默认false索引集合storage.dbPath存储在数据单独⼦⽬录
    collectionConfig:
      blockCompressor: zlib
    indexConfig:
      prefixCompression: true

processManagement:      #使⽤处理系统守护进程的控制处理
  fork: true      #后台运⾏
  pidFilePath: /opt/mongo_27017/pid/mongod.pid      #创建 pid ⽂件

net:
  port: 27017     #监听端口
  bindIp: 127.0.0.1,10.0.0.51     #绑定IP   
EOF

第六步:命令加入环境变量

echo 'export PATH=/opt/mongodb/bin:$PATH' >> /etc/profile
source /etc/profile

第七步:生成systemd管理文件

生成管理用户

groupadd mongo -g 1000
useradd mongo -g 1000 -u 1000 -M -s /sbin/nologin
id mongo

生成systemd管理文件

cat >/usr/lib/systemd/system/mongod.service<<EOF
[Unit]
Description=MongoDB Database Server
Documentation=https://docs.mongodb.org/manual
After=network.target

[Service]
User=mongo
Group=mongo
ExecStart=/opt/mongodb/bin/mongod -f /opt/mongo_27017/conf/mongodb.conf
ExecStartPre=/usr/bin/chown -R mongo:mongo /opt/mongo_27017/
ExecStartPre=/usr/bin/chown -R mongo:mongo /data/mongo_27017/

PermissionsStartOnly=true
PIDFile=/opt/mongo_27017/pid/mongod.pid
Type=forking
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# locked memory
LimitMEMLOCK=infinity
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false
# Recommended limits for for mongod as specified in
# UNIX ulimit Settings - MongoDB Manual

[Install]
WantedBy=multi-user.target
EOF

第八步:启动mongo

systemctl daemon-reload 
systemctl start mongod.service
ps -ef|grep mongo

第九步:登录mongo

mongo

二、MongoDB优化警告

1.内存不⾜

警告信息

** WARNING: The configured WiredTiger cache size is more than 80% of

available RAM.

See FAQ: MongoDB Diagnostics

解决方法

⽅法1;加⼤机器内存

⽅法2: 调⼩配置⽂件⾥缓存⼤⼩ cacheSizeGB: 0.5

2.没有开启访问控制

警告信息

** WARNING: Access control is not enabled for the database.

Read and write access to data and configuration is unrestricted.

解决方法

开启数据库安装认证功能

3.不建议以root⽤户运⾏

警告信息

** WARNING: You are running this process as the root user, which is not

recommended.

解决方法

⽅法1: 创建普通⽤户mongo,然后切换到mongo⽤户启动

⽅法2: 使⽤systemd⽅式,指定运⾏⽤户为普通⽤户mongo

4.关闭⼤内存⻚

警告信息

** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.

We suggest setting it to 'never'

** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.

We suggest setting it to 'never'

解决方法

echo "never" > /sys/kernel/mm/transparent_hugepage/enabled

echo "never" > /sys/kernel/mm/transparent_hugepage/defrag

5.rlimits太低

警告信息

** WARNING: soft rlimits too low. rlimits set to 7193 processes, 65535

files. Number of processes should be at least 32767.5 : 0.5 times number of

files.

解决方法

扩大文件最大打开数

cat > /etc/profile<<EOF
ulimit -f unlimited
ulimit -t unlimited
ulimit -v unlimited
ulimit -n 64000
ulimit -m unlimited
ulimit -u 64000
EOF

6.关闭监控服务体验

警告信息

To enable free monitoring, run the following command:

db.enableFreeMonitoring()

To permanently disable this reminder, run the following command:

db.disableFreeMonitoring()

解决方法

登录MongoDB执行

db.disableFreeMonitoring()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值