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

[经验分享] MongoDB学习笔记(一) 简单的安装配置

[复制链接]
YunVN网友  发表于 2015-7-9 10:16:21 |阅读模式
  
系统环境CentOS 6.3x64
http://www.mongodb.org/downloads
http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.4.tgz
http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.3.tgz
  以上两个版本根据实际情况进行选择: MongoDB 区分大小写 文档不能有重复的键
mkdir -p /tools/mongodb
cd /tools/mongodb
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.3.tgz
tar zvfx mongodb-linux-x86_64-2.4.3.tgz
mv mongodb-linux-x86_64-2.4.3 /usr/local/mongodb
/usr/sbin/groupadd -g 690 mongodb
/usr/sbin/useradd -g mongodb mongodb -u 690 -s /sbin/nologin
mkdir -p /data/mongodb/{mongodb_data,mongodb_log}
chown -R mongodb.mongodb /data/mongodb/{mongodb_data,mongodb_log}
  以服务方式启动mongodb,要求验证:
需要首先执行:echo 0 > /proc/sys/vm/zone_reclaim_mode 启动方式如下:
numactl --interleave=all  /usr/local/mongodb/bin/mongod --fork --port 27001 --auth \
--dbpath /data/mongodb/mongodb_data --logpath /data/mongodb/mongodb_log/mongodb.log
  启动过程如下:
[iyunv@CentOS-6 mongodb]# numactl --interleave=all  /usr/local/mongodb/bin/mongod --fork --port 27001 --auth \
> --dbpath /data/mongodb/mongodb_data --logpath /data/mongodb/mongodb_log/mongodb.log
about to fork child process, waiting until server is ready for connections.
forked process: 1413
all output going to: /data/mongodb/mongodb_log/mongodb.log
child process started successfully, parent exiting
  [iyunv@CentOS-6 mongodb]# netstat -lntup|grep mongod
tcp        0      0 0.0.0.0:27001               0.0.0.0:*                   LISTEN      1413/mongod
tcp        0      0 0.0.0.0:28001               0.0.0.0:*                   LISTEN      1413/mongod
  [iyunv@CentOS-6 ~]# /usr/local/mongodb/bin/mongo --host 10.0.0.16:27001
MongoDB shell version: 2.4.3
connecting to: 10.0.0.16:27001/test
> db     #查看当前所在的数据库
test
> use db #切换至test数据库
switched to db test
  ==========================================================================================
#使用下面命令可以查看服务的启动参数
mongod --help  或者mongod -h
--------------------------------------------------------------------------------------------
  --quiet                        # 安静输出
  --port arg                     # 指定服务端口号,默认端口27017
  --bind_ip arg                  # 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP
  --logpath arg                  # 指定MongoDB日志文件,注意是指定文件不是目录
  --logappend                    # 使用追加的方式写日志
  --pidfilepath arg              # PID File 的完整路径,如果没有设置,则没有PID文件
  --keyFile arg                  # 集群的私钥的完整路径,只对于Replica Set 架构有效
  --unixSocketPrefix arg         # UNIX域套接字替代目录,(默认为 /tmp)
  --fork                         # 以守护进程的方式运行MongoDB,创建服务器进程
  --auth                         # 启用验证
  --cpu                          # 定期显示CPU的CPU利用率和iowait
  --dbpath arg                   # 指定数据库路径
  --diaglog arg                  # diaglog选项 0=off 1=W 2=R 3=both 7=W+some reads
  --directoryperdb               # 设置每个数据库将被保存在一个单独的目录
  --journal                      # 启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里
  --journalOptions arg           # 启用日志诊断选项
  --ipv6                         # 启用IPv6选项
  --jsonp                        # 允许JSONP形式通过HTTP访问(有安全影响)
  --maxConns arg                 # 最大同时连接数 默认2000
  --noauth                       # 不启用验证
  --nohttpinterface              # 关闭http接口,默认关闭27018端口访问
  --noprealloc                   # 禁用数据文件预分配(往往影响性能)
  --noscripting                  # 禁用脚本引擎
  --notablescan                  # 不允许表扫描
  --nounixsocket                 # 禁用Unix套接字监听
  --nssize arg (=16)             # 设置信数据库.ns文件大小(MB)
  --objcheck                     # 在收到客户数据,检查的有效性,
  --profile arg                  # 档案参数 0=off 1=slow, 2=all
  --quota                        # 限制每个数据库的文件数,设置默认为8
  --quotaFiles arg               #  number of files allower per db, requires --quota
  --rest                         # 开启简单的rest API
  --repair                       # 修复所有数据库run repair on all dbs
  --repairpath arg               # 修复库生成的文件的目录,默认为目录名称dbpath
  --slowms arg (=100)            # value of slow for profile and console log
  --smallfiles                   # 使用较小的默认文件
  --syncdelay arg (=60)          # 数据写入磁盘的时间秒数(0=never,不推荐)
  --sysinfo                      # 打印一些诊断系统信息
  --upgrade                      # 如果需要升级数据库
  Replicaton 参数
--------------------------------------------------------------------------------------------
  --fastsync                     # 从一个dbpath里启用从库复制服务,该dbpath的数据库是主库的快照,可用于快速启用同步
  --autoresync                   # 如果从库与主库同步数据差得多,自动重新同步,
  --oplogSize arg                # 设置oplog的大小(MB)
  主/从参数
--------------------------------------------------------------------------------------------
  --master                        # 主库模式
  --slave                         # 从库模式
  --source arg                    # 从库端口号
  --only arg                      # 指定单一的数据库复制
  --slavedelay arg                # 设置从库同步主库的延迟时间
Replica set(副本集)选项
--------------------------------------------------------------------------------------------
  --replSet arg                   # 设置副本集名称
  Sharding(分片)选项
--------------------------------------------------------------------------------------------
  --configsvr                     # 声明这是一个集群的config服务,默认端口27019,默认目录/data/configdb
  --shardsvr                      # 声明这是一个集群的分片,默认端口27018
  --noMoveParanoia                # 关闭偏执为moveChunk数据保存?
==========================================================================================
  由于以上管理比较麻烦 每次启动关闭 都需要输入一大堆的参数,所以我这里写了一个shell脚本进行管理维护:
  将相关参数写入配置文件:
cat > /etc/mongodb.conf
#Mongodb start configure file
pidfilepath = /data/mongodb/mongodb_log/mongodb.pid
dbpath = /data/mongodb/mongodb_data
logpath = /data/mongodb/mongodb_log/mongodb.log
logappend = true
bind_ip = 10.0.0.16
port = 27001
fork = true
auth = true
directoryperdb = true
journal = true
EOF
  脚本部分:



1 [iyunv@CentOS-6 ~]# cat mongodb.sh
2 #!/bin/bash
3 #Date:2013-06-16
4 #Author:zhangluya
5 #QQ:64125568
6 #Info:mongodb stop && start
7
8 #source function library
9  . /etc/init.d/functions
10
11 INSTALL="/usr/local/mongodb"
12 DB="/data/mongodb"
13 PID="${DB}/mongodb_log/mongodb.pid"
14 LOG="${DB}/mongodb_log/mongodb.log"
15
16
17 START_M(){
18        if [ ! -e ${PID} ];then
19        ${INSTALL}/bin/mongod --config /etc/mongodb.conf > /dev/null 2>&1
20        action "MongoDB start is ..................^_^ " /bin/true
21        else
22        echo -e "-------------------------------------------------------------------"  
23        echo -e "\033[1;33m Mongodb process is already exist!!! \033[0m"
24        echo -e "-------------------------------------------------------------------"  
25        fi
26 }
27
28 STOP_M(){
29        if [ -e ${PID} ];then
30        kill -15 `cat ${PID}` > /dev/null 2>&1
31        /bin/mv ${PID} /tmp > /dev/null 2>&1
32        action "MongoDB stop is .................. -_-!" /bin/true
33        else
34        echo -e "-------------------------------------------------------------------"
35        echo -e "\033[1;33m MongoDB process is not found!!!! \033[0m"
36        echo -e "-------------------------------------------------------------------"
37        fi
38  }
39
40 #load function start or stop ttserver
41 case "$1" in
42     start|START)
43           START_M
44           ;;
45     stop|STOP)
46           STOP_M
47           ;;
48     restart)
49           STOP_M
50           sleep 3
51           START_M
52           ;;
53     *)
54           echo "Usage:`basename $0` {start|stop|restart}"
55           exit 1
56 esac
  相关操作演示如下:
DSC0000.png
  http://10.0.0.16:28001/ 通过这个可以看到相关信息。

运维网声明 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-84694-1-1.html 上篇帖子: mongo 固定集合,大文件存储,简单优化 + 三招解决MongoDB的磁盘IO问题 下篇帖子: MongoDB在CentOS下的安装(二次修改)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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