当前位置: 首页 > news >正文

Mongodb简介及安装部署配置

1、Mongodb简介及安装部署

Mongodb 逻辑结构:
Mongodb 逻辑结构 MySQL逻辑结构
库database 库
集合(collection) 表
文档(document) 数据行

2、安装前准备
(1)redhat或cnetos6.2以上系统
(2)系统开发包完整
(3)ip地址和hosts文件解析正常
(4)iptables防火墙&SElinux关闭
(5)关闭大页内存机制


root用户下
在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

其他系统关闭参照官方文档:

https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/

为什么要关闭?
Transparent Huge Pages (THP) is a Linux memory management system
that reduces the overhead of Translation Lookaside Buffer (TLB)
lookups on machines with large amounts of memory by using larger memory pages.
However, database workloads often perform poorly with THP,
because they tend to have sparse rather than contiguous memory access patterns.
You should disable THP on Linux machines to ensure best performance with MongoDB.


3、mongodb安装
(1)创建所需用户和组

groupadd -g 800 mongod
useradd -u 801 -g mongod mongod
passwd mongod

(2)创建mongodb所需目录结构

mkdir -p /mongodb/bin
mkdir -p /mongodb/conf
mkdir -p /mongodb/log
mkdir -p /mongodb/data

(3)上传并解压软件到指定位置

上传到:
cd   /server/tools/
解压:
tar xf mongodb-linux-x86_64-rhel70-3.2.16.tgz

拷贝目录下bin程序到/mongodb/bin
cp -a /server/tools/mongodb-linux-x86_64-rhel70-3.2.16/bin/* /mongodb/bin

(4)设置目录结构权限

chown -R mongod:mongod /mongodb

(5)设置用户环境变量

su - mongod

vi .bash_profile
export PATH=/mongodb/bin:$PATH

source .bash_profile

(6)启动mongodb
mongod --dbpath=/mongodb/data --logpath=/mongodb/log/mongodb.log --port=27017 --logappend --fork

(7)登录mongodb
[mongod@server2 ~]$ mongo

(8)使用配置文件

vim /mongodb/conf/mongodb.conf

logpath=/mongodb/log/mongodb.log
dbpath=/mongodb/data 
port=27017
logappend=true
fork=true

关闭mongodb
mongod -f /mongodb/conf/mongodb.conf --shutdown

使用配置文件启动mongodb
mongod -f /mongodb/conf/mongodb.conf

配置文件的 YAML模式:

NOTE:
YAML does not support tab characters for indentation: use spaces instead.

--系统日志有关
systemLog:
destination: file
path: "/mongodb/log/mongodb.log" --日志位置
logAppend: true --日志以追加模式记录

--数据存储有关
storage:
journal:
enabled: true
dbPath: "/mongodb/data" --数据路径的位置

-- 进程控制
processManagement:
fork: true --后台守护进程
pidFilePath: <string> --pid文件的位置,一般不用配置,可以去掉这行,自动生成到data中

--网络配置有关
net:
bindIp: <ip> -- 监听地址,如果不配置这行是监听在0.0.0.0
port: <port> -- 端口号,默认不配置端口号,是27017

-- 安全验证有关配置
security:
authorization: enabled --是否打开用户名密码验证

------------------以下是复制集与分片集群有关----------------------
replication:
oplogSizeMB: <NUM>
replSetName: "<REPSETNAME>"
secondaryIndexPrefetch: "all"

sharding:
clusterRole: <string>
archiveMovedChunks: <boolean>

---for mongos only
replication:
localPingThresholdMs: <int>

sharding:
configDB: <string>


.........

YAML配置文件例子

vim /mongodb/conf/mongo.conf
systemLog:
   destination: file
   path: "/mongodb/log/mongodb.log"
   logAppend: true
storage:
   journal:
      enabled: true
   dbPath: "/mongodb/data/"
processManagement:
   fork: true
net:
   port: 27017

(9)mongodb的启动和关闭方式

mongod -f /mongodb/conf/mongo.conf --shutdown  关闭
mongod -f /mongodb/conf/mongo.conf   启动

转载于:https://blog.51cto.com/12083623/2353131

相关文章:

  • Xargs用法详解
  • 我从编程教室毕业
  • 回归树|GBDT|Gradient Boosting|Gradient Boosting Classifier
  • Hack其实是一门好语言
  • 少走弯路,给Java 1~5 年程序员的建议
  • 如何让你的网站用discuz插件变的有力量
  • 图像搜索技术发展应知道
  • salesforce 零基础学习(二十一)workflow QA
  • Java程序员幽默爆笑锦集
  • spring3.1.0与junit4.5整合错误
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 深入理解JavaScript系列(26):设计模式之构造函数模式
  • CentOS6 PXE+Kickstart无人值守安装
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • lua闭包浅析及项目应用
  • python3.6+scrapy+mysql 爬虫实战
  • Apache Spark Streaming 使用实例
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • conda常用的命令
  • crontab执行失败的多种原因
  • Django 博客开发教程 16 - 统计文章阅读量
  • ES6 学习笔记(一)let,const和解构赋值
  • flutter的key在widget list的作用以及必要性
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Laravel Mix运行时关于es2015报错解决方案
  • php ci框架整合银盛支付
  • Sass 快速入门教程
  • SwizzleMethod 黑魔法
  • Zepto.js源码学习之二
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 多线程 start 和 run 方法到底有什么区别?
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 说说动画卡顿的解决方案
  • 线上 python http server profile 实践
  • 再谈express与koa的对比
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​虚拟化系列介绍(十)
  • !!Dom4j 学习笔记
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • ()、[]、{}、(())、[[]]命令替换
  • (¥1011)-(一千零一拾一元整)输出
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (四)汇编语言——简单程序
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)关于多人操作数据的处理策略
  • (转)树状数组