Centos7.2部署MongoDB-4.3.0

Linux系统:CentOS Linux release 7.2.1511 (Core)

MongoDB版本:mongodb-linux-x86_64-rhel62-4.3.0-450-g87862e5

1、安装依赖:yum install libcurl openssl

2、解压:tar -zxvf mongodb-linux-x86_64-rhel62-latest.tgz

3、关闭防火墙:

[root@MongoDB ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 四 2019-07-04 14:52:41 CST; 2min 29s ago
 Main PID: 762 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─762 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

7月 04 14:52:40 MongoDB systemd[1]: Starting firewalld - dynamic firewall daemon...
7月 04 14:52:41 MongoDB systemd[1]: Started firewalld - dynamic firewall daemon.
[root@MongoDB ~]# systemctl stop firewalld.service    
[root@MongoDB ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since 四 2019-07-04 14:55:18 CST; 8s ago
  Process: 762 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 762 (code=exited, status=0/SUCCESS)

7月 04 14:52:40 MongoDB systemd[1]: Starting firewalld - dynamic firewall daemon...
7月 04 14:52:41 MongoDB systemd[1]: Started firewalld - dynamic firewall daemon.
7月 04 14:55:18 MongoDB systemd[1]: Stopping firewalld - dynamic firewall daemon...
7月 04 14:55:18 MongoDB systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@MongoDB ~]# systemctl disable firewalld.service

4、关闭大内存页面:

[root@MongoDB MongoDB]# sudo cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@MongoDB MongoDB]# sudo cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
[root@MongoDB MongoDB]# sudo vi /etc/init.d/disable-transparent-hugepages

添加以下内容:

#!/bin/bash
### BEGIN INIT INFO
# Provides:          disable-transparent-hugepages
# Required-Start:    $local_fs
# Required-Stop:
# X-Start-Before:    mongod mongodb-mms-automation-agent
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Disable Linux transparent huge pages
# Description:       Disable Linux transparent huge pages, to improve
#                    database performance.
### END INIT INFO
case $1 in
  start)
    if [ -d /sys/kernel/mm/transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/transparent_hugepage
    elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/redhat_transparent_hugepage
    else
      return 0
    fi
    echo 'never' > ${thp_path}/enabled
    echo 'never' > ${thp_path}/defrag
    re='^[0-1]+$'
    if [[ $(cat ${thp_path}/khugepaged/defrag) =~ $re ]]
    then
      # RHEL 7
      echo 0  > ${thp_path}/khugepaged/defrag
    else
      # RHEL 6
      echo 'no' > ${thp_path}/khugepaged/defrag
    fi
    unset re
    unset thp_path
    ;;
esac

   授权并设置开机启动,重启。

[root@MongoDB MongoDB]# sudo chmod 755 /etc/init.d/disable-transparent-hugepages
[root@MongoDB MongoDB]# sudo chkconfig --add disable-transparent-hugepages
[root@MongoDB MongoDB]# reboot

      重启之后,查看成功

[root@MongoDB ~]# sudo cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@MongoDB ~]# sudo cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]

5、增大open file参数 

[root@MongoDB ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 3837
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 3837
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[root@MongoDB ~]# vi /etc/security/limits.conf

添加以下内容:

mongo soft nproc 65535
mongo hard nproc 65535
mongo soft nofile 65535
mongo hard nofile 65535

6、创建数据目录

[root@MongoDB ~]# mkdir /data
[root@MongoDB ~]# mkdir -p /data/dbdata/r1           ---数据文件存放
[root@MongoDB ~]# mkdir  -p /data/logs/r1_logs       ---创建日志文件路径
[root@MongoDB ~]# mkdir -p /data/pid                 ---mongodb进程id存放

7、配置环境变量

[root@MongoDB ~]# vi /etc/profile
export PATH=$PATH:/home/MongoDB/mongodb/bin
[root@MongoDB ~]# source /etc/profile

8、创建启动配置文件

#数据文件存放目录
dbpath=/data/dbdata/r1
#日志文件存放目录
logpath=/data/logs/r1_logs/r1.log
#端口,默认27017,可以自定义
port=27017
#开启日志追加添加日志
logappend=true
#以守护程序的方式启用,即在后台运行
fork=true
#默认是127.0.0.1,开启远程访问
bind_ip=192.168.244.132
#auth=true(这项暂时不动,因为涉及到auth认证,调试好所有的mongodb的问题后在来弄权限)

9、启动服务

[root@MongoDB ~]# mongod -f /etc/mongodb.cnf
about to fork child process, waiting until server is ready for connections.
forked process: 2197
child process started successfully, parent exiting

10、用户与权限

10.1、创建用户

use admin

db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]})

   Built-In Roles(内置角色):
            1. 数据库用户角色:read、readWrite;
            2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
            3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
            4. 备份恢复角色:backup、restore;
            5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
            6. 超级用户角色:root  
            7. 内部角色:__system

   10.2、修改配置,重启服务

在mongo.conf中添加auto=true重启服务即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值