RedHat7搭建MongoDB
yum安装MongoDB
- 添加MongoDB源
# vi /etc/yum.repos.d/mongodb-org-3.0.repo[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.0/x86_64/
gpgcheck=
enabled= - MongoDB包
mongodb-org
This package is a metapackage that will automatically install the four component packages listed below. mongodb-org-server
This package contains the mongod daemon and associated configuration and init scripts. mongodb-org-mongos
This package contains the mongos daemon. mongodb-org-shell
This package contains the mongo shell. mongodb-org-tools
This package contains the following MongoDB tools: mongoimport bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop. - 安装MongoDB
# yum install -y mongodb-org - 设置MongoDB服务开机自启动
# chkconfig mongod on - 启动MongoDB服务
# service mongod start
备注:卸载MongoDB
- 停止MongoDB服务
# service mongod stop - 卸载MongoDB安装包
# yum erase $(rpm -qa | grep mongodb-org) - 删除数据库和日志目录
# rm -r /var/lib/mongo
# rm -r /var/log/mongodb
手动安装MongoDB
- 下载MongoDB安装包
# curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.7.tgz - 解压缩MongoDB
# tar -zxvf mongodb-linux-x86_64-3.0.7.tgz - 移动到安装目录
# mv mongodb-linux-x86_64-3.0.7 /usr/local/mongodb - 设置环境变量
# echo "export PATH=\$PATH:/usr/local/mongodb/bin" > /etc/profile.d/mongodb.sh
# source /etc/profile.d/mongodb.sh - 创建mongod用户和用户组
# useradd -r -M -s /sbin/nologin mongod - 创建数据库和日志目录并修改属组
# mkdir -p /data/mongodb/{db,log}/
# chown -R mongod:mongod /data/mongodb/ - 创建MongoDB配置文件
# vi /etc/mongod.conf# mongod.conf # for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/ # where to write logging data.
systemLog:
destination: file
logAppend: true
path: /data/mongodb/log/mongod.log # Where and how to store data.
storage:
dbPath: /data/mongodb/db
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger: # how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile # network interfaces
net:
port: 27017
bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces. #security: #operationProfiling: #replication: #sharding: ## Enterprise-Only Options #auditLog: #snmp:
备注:
如果MongoDB端口不在27017-27019, 28017-28019之间,需要执行以下步骤:
# yum -y install policycoreutils-python
# semanage port -a -t mongod_port_t -p tcp <port_number>
- 创建MongoDB自启动脚本
# vi /etc/init.d/mongod#!/bin/bash # mongod - Startup script for mongod # chkconfig:
# description: Mongo is a scalable, document-oriented database.
# processname: mongod
# config: /etc/mongod.conf
# pidfile: /var/run/mongodb/mongod.pid . /etc/rc.d/init.d/functions # things from mongod.conf get there by mongod reading it # NOTE: if you change any OPTIONS here, you get what you pay for:
# this script assumes all options are in the config file.
CONFIGFILE="/etc/mongod.conf"
OPTIONS=" -f $CONFIGFILE"
SYSCONFIG="/etc/sysconfig/mongod" PIDFILEPATH=`awk -F'[:=]' -v IGNORECASE= '/^[[:blank:]]*(processManagement\.)?pidfilepath[[:blank:]]*[:=][[:blank:]]*/{print $2}' "$CONFIGFILE" | tr -d "[:blank:]\"'" | cut -d "#" -f 1` mongod=${MONGOD-/usr/local/mongodb/bin/mongod} MONGO_USER=mongod
MONGO_GROUP=mongod if [ -f "$SYSCONFIG" ]; then
. "$SYSCONFIG"
fi PIDDIR=`dirname $PIDFILEPATH` # Handle NUMA access to CPUs (SERVER-)
# This verifies the existence of numactl as well as testing that the command works
NUMACTL_ARGS="--interleave=all"
if which numactl >/dev/null >/dev/null && numactl $NUMACTL_ARGS ls / >/dev/null >/dev/null
then
NUMACTL="numactl $NUMACTL_ARGS"
else
NUMACTL=""
fi start()
{
# Make sure the default pidfile directory exists
if [ ! -d $PIDDIR ]; then
install -d -m -o $MONGO_USER -g $MONGO_GROUP $PIDDIR
fi # Recommended ulimit values for mongod or mongos
# See http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings
#
ulimit -f unlimited
ulimit -t unlimited
ulimit -v unlimited
ulimit -n
ulimit -m unlimited
ulimit -u echo -n $"Starting mongod: "
daemon --user "$MONGO_USER" --check $mongod "$NUMACTL $mongod $OPTIONS >/dev/null 2>&1"
RETVAL=$?
echo
[ $RETVAL -eq ] && touch /var/lock/subsys/mongod
} stop()
{
echo -n $"Stopping mongod: "
mongo_killproc "$PIDFILEPATH" $mongod
RETVAL=$?
echo
[ $RETVAL -eq ] && rm -f /var/lock/subsys/mongod
} restart () {
stop
start
} # Send TERM signal to process and wait up to seconds for process to go away.
# If process is still alive after seconds, send KILL signal.
# Built-in killproc() (found in /etc/init.d/functions) is on certain versions of Linux
# where it sleeps for the full $delay seconds if process does not respond fast enough to
# the initial TERM signal.
mongo_killproc()
{
local pid_file=$
local procname=$
local -i delay=
local -i duration=
local pid=`pidofproc -p "${pid_file}" ${procname}` kill -TERM $pid >/dev/null >&
usleep
local -i x=
while [ $x -le $delay ] && checkpid $pid; do
sleep $duration
x=$(( $x + $duration))
done kill -KILL $pid >/dev/null >&
usleep checkpid $pid # returns only if the process exists
local RC=$?
[ "$RC" -eq ] && failure "${procname} shutdown" || rm -f "${pid_file}"; success "${procname} shutdown"
RC=$((! $RC)) # invert return code so we return when process is dead.
return $RC
} RETVAL= case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload|force-reload)
restart
;;
condrestart)
[ -f /var/lock/subsys/mongod ] && restart || :
;;
status)
status $mongod
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
RETVAL=
esac exit $RETVAL - 设置MongoDB服务开机自启动
# chmod +x /etc/init.d/mongod
# chkconfig mongod on - 启动MongoDB服务
# service mongod start
备注:
如果启动发生错误,请检查数据库和日志目录及里面文件的权限是否设置正确,再次运行前须删除数据库目录下的mongod.lock文件。
RedHat7搭建MongoDB的更多相关文章
- RedHat7搭建MongoDB集群
下载RPM安装包# wget -c -r -N -np -nd -L -nH https://repo.mongodb.org/yum/redhat/7/mongodb-org/stable/x86_ ...
- 搭建mongodb集群(副本集+分片)
搭建mongodb集群(副本集+分片) 转载自:http://blog.csdn.net/bluejoe2000/article/details/41323051 完整的搭建mongodb集群(副本集 ...
- 搭建mongodb分片
搭建mongodb分片 http://gong1208.iteye.com/blog/1622078 Sharding分片概念 这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在shardi ...
- Docker搭建MongoDB
1. Docker搭建Mongodb 1.1 获取docker镜像 docker pull mongo 1.2 创建mongodb容器 docker run --name my-mongo -p 27 ...
- 在 Azure 虚拟机上快速搭建 MongoDB 集群
MongoDB 是目前在 NoSQL 市场上非常受欢迎的一个数据库,本文介绍如何使用 Azure PowerShell 和 Azure CLI 在 Azure 虚拟机上搭建单节点 MongoDB(测试 ...
- 搭建MongoDB分片集群
在部门服务器搭建MongoDB分片集群,记录整个操作过程,朋友们也可以参考. 计划如下: 用5台机器搭建,IP分别为:192.168.58.5.192.168.58.6.192.168.58.8.19 ...
- RedHat7搭建KVM虚拟机
RedHat7搭建KVM虚拟机 1. 宿主机安装RedHat7.3系统 1.1选择语言 中文.简体中文(中国) 1.2安装位置 1.2.1自定义分区,选择LVM,将分区空间全部分配给根 1.2.2禁用 ...
- MongoDB学习笔记—Linux下搭建MongoDB环境
1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...
- 使用虚拟机在ubuntu下搭建mongoDB开发环境和简单增删改查操作
最近在折腾mongodb和nodejs,在imooc上找了一个mongodb的入门教程,跟着里面一步一步的走,下面记录下我操作的步骤和遇到的问题. 课程地址:http://www.imooc.com/ ...
随机推荐
- Freemarker 对null值报错的处理
忽略null值 假设前提:user.name为null ${user.name},异常 ${user.name!},显示空白 ${user.name!'vakin'},若user.name不为空则显示 ...
- 【网络流24题】No. 20 深海机器人问题 (费用流)
[题意] 深海资源考察探险队的潜艇将到达深海的海底进行科学考察.潜艇内有多个深海机器人. 潜艇到达深海海底后, 深海机器人将离开潜艇向预定目标移动. 深海机器人在移动中还必须沿途采集海底生物标本. 沿 ...
- Android软件开发之发送短信与系统短信库解析
今天我和同学们讨论一下Android平台下如何调用系统方法发送短信.接收短信.系统的短信库相关的问题.进入正题,我们先使用Eclipse工具模拟给自己的模拟器发送一条短信.在Eclipse下打开DDM ...
- Oracle的常见错误及解决办法
ORA-12528: TNS:listener: all appropriate instances are blocking new connections ORA-12528问题是因为监听中的服务 ...
- WCF - net.pipe vs. net.tcp vs. http Bindings
WCF - net.pipe vs. net.tcp vs. http Bindings 问题: I'm new to WCF and would like to know the differenc ...
- 能让你成为更优秀程序员的10个C语言资源
能让你成为更优秀程序员的10个C语言资源 本文由 伯乐在线 - archychu 翻译自 mycplus.欢迎加入 技术翻译小组.转载请参见文章末尾处的要求. 一些人觉得编程无聊,一些人觉得它很好玩. ...
- BZOJ3210: 花神的浇花集会
3210: 花神的浇花集会 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 238 Solved: 119[Submit][Status] Descri ...
- [NYOJ 860] 又见01背包
又见01背包 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所 ...
- 避免由于Windows Update自动安装安全补丁导致VM意外重启
最近我们遇到一些客户报告他们的Windows VM被意外重启导致了其服务中断,我们查看了Event Log发现这个重启的操作时由于Windows update自动安装了安全补丁导致的重启操作.默 ...
- 微软开放技术发布针对 Mac 和 Linux 的更新版 Azure Node.JS SDK 和命令行工具
发布于 2013-12-04 作者 Eduard Koller 这次为我们使用Linux 的朋友带来了更多关于部署云上虚拟机的消息.今天,微软开放技术有限公司 (MS Open Tech),想与大家分 ...