前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >centos6.6下安装MongoDB3.x

centos6.6下安装MongoDB3.x

作者头像
字母哥博客
发布2020-09-23 11:16:59
4220
发布2020-09-23 11:16:59
举报
文章被收录于专栏:写字母的代码哥

centos6.6下安装MongoDB3.x

  • 从MongoDB3.0版起,其安装包比以前更细化: Linux 64-bit legacy 这个版本即mongodb-linux-x86_64-3.x.tgz 不推荐在正式环境使用,这个版本特点是没有连接ssl相关的库。推荐按相应操作系统版本选择对应的安装包如centos6 rhel6选择RHEL 6.

规划安装目录

  • 新建用户nosql:useradd nosql
  • mongodb解压安装目录:/home/nosql
  • 数据目录:mkdir -p /home/nosql/data/mongodb
  • 日志目录 mkdir -p /home/nosql/data/logs
  • 初始化日志 touch /home/nosql/data/logs/mongodb.log chmod -R 777 /home/nosql/data/logs/mongodb.log

安装openssl(root)

代码语言:javascript
复制
# yum install -y openssl-devel openssl

下载安装

代码语言:javascript
复制
# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.1.tgz
# tar xzvf mongodb-linux-x86_64-rhel62-3.2.1.tgz -C /home/nosql
# mv /home/nosql/mongodb-linux-x86_64-rhel62-3.2.1   /home/nosql/mongodb

调整系统参数

设置ulimit -n和ulimit -u的值大于20000。如果ulimit的值设置过低的话,当MongoDB处于 频繁访问的状态下,将会产生错误,最终导致无法连接到MongoDB实例。

代码语言:javascript
复制
# ulimit -n 25000
# ulimit -u 25000

配置文件参数配置

代码语言:javascript
复制
# cd /home/nosql/mongodb/bin/
# vi mongodb.conf
port=27017 #端口
dbpath=/home/nosql/data/mongodb #数据文件存放目录
logpath=/home/nosql/data/logs/mongodb.log #日志文件
logappend=true #使用追加的方式写日志
fork=true #以守护程序的方式启用,即在后台运行
bind_ip=127.0.0.1,192.168.137.1 #绑定本机ip
noauth=true #不启用验证
nohttpinterface=true
rest=false

设置防火墙

代码语言:javascript
复制
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
/etc/init.d/iptables restart

启动命令:

代码语言:javascript
复制
# /home/nosql/mongodb/bin/mongod --config /home/nosql/mongodb/bin/mongodb.conf
或
# /home/nosql/mongodb/bin/mongod -f /home/nosql/mongodb/bin/mongodb.conf

正常停止方法:

代码语言:javascript
复制
# ps aux | grep mongod
# kill  -2 PID
或
# /home/nosql/mongodb/bin/mongo
> use  admin  
> db.shutdownServer();

2015-03-19T00:43:27.760+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2015-03-19T00:43:27.760+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
  • 不重启服务器的情况下解决办法,在Linux下执行:
代码语言:javascript
复制
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
  • 服务器重启后立即生效办法:
代码语言:javascript
复制
# vi /etc/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
   echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

开机自动启动mongodb

代码语言:javascript
复制
# vi /etc/rc.d/rc.local
rm -rf /home/nosql/mongodb/mongod.lock
/home/nosql/mongodb/bin/mongod -f /home/nosql/mongodb/bin/mongodb.conf

mongodb的NUMA问题解决方案

mongodb的NUMA问题 NUMA是什么?为什么使用NUMA? mongodb日志显示如下: WARNING: You are running on a NUMA machine. We suggest launching mongod like this to avoid performance problems: numactl –interleave=all mongod [other options] * 解决方案:

  1. 在原启动命令前面加numactl –interleave=all 如# numactl --interleave=all ${MONGODB_HOME}/bin/mongod --config conf/mongodb.conf
  2. 修改内核参数 echo 0 > /proc/sys/vm/zone_reclaim_mode

http://www.mongodb.org/display/DOCS/NUMA

安装MongoChef

linux版本: wget https://cdn.3t.io/mongochef/linux/3.3.0.1717/mongochef-linux-x86-dist.tar.gz

喜欢 (0)or分享 (0)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-02-05),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • centos6.6下安装MongoDB3.x
  • 规划安装目录
  • 安装openssl(root)
  • 下载安装
  • 调整系统参数
  • 配置文件参数配置
  • 设置防火墙
  • 启动命令:
  • 正常停止方法:
  • 开机自动启动mongodb
  • mongodb的NUMA问题解决方案
  • 安装MongoChef
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档