首页 技术 正文
技术 2022年11月14日
0 收藏 953 点赞 4,039 浏览 3968 个字

环境:

  系统硬件:vmware vsphere (CPU:2*4核,内存2G)

  系统版本:Centos-6.5-x86_64

  *** Centos编译安装mongodb 2.6 系统最好是64位的,才能更好发挥mongodb的性能

安装步骤:

  0.系统环境

  [root@centos ~]# cat /etc/redhat-release

  CentOS release 6.5 (Final)

  [root@centos ~]# uname -a

  Linux centos 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

  [root@centos ~]# yum install vim wget -y

  1.下载源文件(二进制编译版)

  [root@centos ~]# mkdir -p /data/src

  [root@centos ~]# cd /data/src

  [root@centos ~]# wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.1.tgz

  [root@centos ~]# tar -zvxf mongodb-linux-x86_64-2.6.1.tgz

  [root@centos ~]# mv mongodb-linux-x86_64-2.6.1 /opt/mongodb/

  2.配置path环境变量,确保mongodb的bin目录包含在path环境变量中。

  2.1 配置PATH

  [root@centos ~]# vim /etc/profile

  添加下面的内容:

  #set for mongodb
  export MONGODB_HOME=/opt/mongodb
  export PATH=$MONGODB_HOME/bin:$PATH

  保存退出

  2.1查看当前PATH

  [root@centos ~]# echo $PATH

  2.2让环境变量生效:

  [root@centos ~]# source /etc/profile

  [root@centos ~]# echo $PATH

  

  3.验证环境变量是否生效

  [root@centos ~]# mongod -version

  4.建立存储数据及日志的目录:

  4.1建立目录

  [root@centos ~]# mkdir -p /data/mongodb/journal

  [root@centos ~]# mkdir -p /data/mongodb/log

  4.2建立日志文件

  [root@centos ~]# touch /data/mongodb/log/mongodb.log

  4.3建立配置文件

  [root@centos ~]# vim /etc/mongodb.conf

  输入以下内容,保存并退
dbpath=/data/mongodb
logpath=/data/mongodb/log/mongodb.log
logappend=true
port=27017
fork=true
noauth=true
nojournal = true
smallfiles = true
noprealloc = true

  5.增加mongodb用户及设置权限

  5.1增加用户

  [root@centos ~]# useradd mongodb -M -s /sbin/nologin

  5.2设置目录权限

  [root@centos ~]#chown -R mongodb.mongodb /data/mongodb
  

  6.重启,启动服务

  6.1重启
  [root@centos ~]# shutdown -r now

  6.2重启后,运行mongod服务
  [root@centos ~]# mongod -f /etc/mongodb.conf

  7.测试服务是否正常

  7.1打开另一个终端,并以管理员身份进入管理后台

  [root@centos ~]#mongo admin

  >show dbs;

  >db.test.find();

  >exit

  8.将mongod服务加到开机启动服务

  8.1编写服务文件

  [root@centos ~]# vim /etc/init.d/mongod

  输入以下内容,并且保存退出
#!/bin/sh
#
# mongodb      init file for starting up the MongoDB server
#
# chkconfig:   – 20 80
# description: Starts and stops the MongDB daemon that handles all \
#              database requests.

# Source function library.
. /etc/rc.d/init.d/functions

exec=”/opt/mongodb/bin/mongod”
prog=”mongod”
logfile=”/data/mongodb/log/mongodb.log”
options=” -f /etc/mongodb.conf”

[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog

lockfile=”/var/lock/subsys/mongod”

start() {
    [ -x $exec ] || exit 5
    echo -n $”Starting $prog: “
    daemon –user mongodb “$exec –quiet $options run >> $logfile 2>&1 &”
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $”Stopping $prog: “
    killproc $prog
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    stop
    start
}

reload() {
    restart
}

force_reload() {
    restart
}

rh_status() {
    # run checks to determine if the service is running or use generic status
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

case “$1” in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
        restart
        ;;
    *)
        echo $”Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}”
        exit 2
esac
exit $?

  8.2设置为启动服务

  [root@centos ~]# chkconfig –add mongod

  [root@centos ~]# chkconfig –level 345 mongod on

  [root@centos ~]# chmod +x  /etc/init.d/mongod

  8.3测试
  [root@centos ~]#service mongod start

  [root@centos ~]#service mongod status

  

  9.重启,并且测试

  [root@centos ~]#shutdown -r now

  [root@centos ~]#service mongod status

  [root@centos ~]#mongo admin

  >show dbs;

  >db.test.find();

  >exit

  **********************************************
  mongodb的参数说明:
   –dbpath        数据库路径(数据文件)
  –logpath       日志文件路径
  –master        指定为主机器
  –slave         指定为从机器
  –source        指定主机器的IP地址
  –pologSize     指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,

    最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
  –logappend     日志文件末尾添加
  –port          启用端口号
  –fork          在后台运行
  –only          指定只复制哪一个数据库
  –slavedelay    指从复制检测的时间间隔
  –auth          是否需要验证权限登录(用户名和密码)

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,086
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,561
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,410
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,183
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,820
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,903