设为首页 收藏本站
查看: 837|回复: 0

[经验分享] CentOS编译安装MongoDB

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-6 10:56:50 | 显示全部楼层 |阅读模式
一、环境
系统     CentOS6.4x64最小化安装
IP      192.168.3.33
二、安装
1
2
3
[iyunv@mongodb-2 ~]# curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.5.tgz
[iyunv@mongodb-2 ~]# tar xf mongodb-linux-x86_64-3.0.5.tgz
[iyunv@mongodb-2 ~]# ln -s /usr/local/mongodb-linux-x86_64-3.0.5/ /usr/local/mongodb



设置环境变量
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[iyunv@mongodb-2 ~]# tail -3 /etc/profile
#set for mongodb
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH

#重新加载环境变量
[iyunv@mongodb-2 ~]# source /etc/profile
[iyunv@mongodb-2 ~]# echo $PATH
/usr/local/mongodb/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

#验证结果
[iyunv@mongodb-2 ~]# mongod --version
db version v3.0.5
git version: 8bc4ae20708dbb493cb09338d9e7be6698e4a3a3



建立目录

1
2
3
[iyunv@mongodb-2 ~]# mkdir -p /usr/local/mongodb/data
[iyunv@mongodb-2 ~]# mkdir -p /usr/local/mongodb/log
[iyunv@mongodb-2 ~]# mkdir -p /usr/local/mongodb/conf



建立配置文件
1
2
3
4
5
6
7
8
9
10
11
12
[iyunv@mongodb-2 ~]# cat /usr/local/mongodb/conf/mongodb.conf
#bind_ip=0.0.0.0
port=27017
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/log/mongodb.log
pidfilepath=/usr/local/mongodb/log/mongodb.pid
directoryperdb=true
logappend=true
oplogSize=1000
fork=true
#noprealloc=true
master=true



增加mongodb用户及设置权限
1
2
[iyunv@mongodb-2 ~]# useradd mongodb -M -s /sbin/nologin
[iyunv@mongodb-2 ~]# chown -R mongodb.mongodb /usr/local/mongodb-linux-x86_64-3.0.5



启动服务
1
2
3
4
5
6
7
8
[iyunv@mongodb-2 ~]# mongod -f /usr/local/mongodb/conf/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 1545
child process started successfully, parent exiting


#测试
[iyunv@mongodb-2 ~]# mongo admin



编写服务器启动脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
[iyunv@mongodb-2 ~]# cat /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="/usr/local/mongodb/bin/mongod"
prog="mongod"
logfile="/usr/local/mongodb/log/mongodb.log"
options=" -f /usr/local/mongodb/conf/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 $?

#赋予脚本执行权限
[iyunv@mongodb-2 ~]# chmod +x /etc/init.d/mongod

#重启服务
[iyunv@mongodb-2 ~]# /etc/init.d/mongod restart
Stopping mongod:                                           [  OK  ]
Starting mongod:                                           [  OK  ]
[iyunv@mongodb-2 ~]# netstat -tunlp |grep mong
tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      1759/mongod  

#添加到开机自启动
[iyunv@mongodb-2 ~]# chkconfig --add mongod
[iyunv@mongodb-2 ~]# chkconfig mongod on



mongodb配置文件的参数说明
1
2
3
4
5
6
7
8
9
10
11
12
13
mongodb的参数说明:
--dbpath        数据库路径(数据文件)
--logpath       日志文件路径
--master        指定为主机器
--slave         指定为从机器
--source        指定主机器的IP地址
--pologSize     指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend     日志文件末尾添加
--port          启用端口号
--fork          在后台运行
--only          指定只复制哪一个数据库
--slavedelay    指从复制检测的时间间隔
--auth          是否需要验证权限登录(用户名和密码)





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-94718-1-1.html 上篇帖子: mongodb分片原理 下篇帖子: mongoDB的安装和简单使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表