https://www.mongodb.com/blog/post/capacity-planning-and-hardware-provisioning-mongodb-ten-minutes
安装
yum -y install mongodb-org*
systemctl enable mongod && systemctl restart mongod
mongo命令行客户端登录有警告,用以下方法消除
#1. 数据目录需要用xfs
** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
** See http://dochub.mongodb.org/core/prodnotes-filesystem
opt分区格式化为xfs,将数据目录/var/lib/mongo迁移到/opt,并建立软链接
cd /var/lib && mv mongo /opt && ln -s /opt/mongo mongo
#2. mongodb默认是无密码登录,有风险
** WARNING: Access control is not enabled for the database.
** Read and write access to data and configuration is unrestricted.
建立管理员admin,对所有数据库有userAdmin权限
db.createUser({user: 'admin', pwd: '@admin', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]})
建立用户test,仅对test数据库有读写权限
use test
db.createUser({user: 'test', pwd: '@test', roles: [{role: 'readWrite', db: 'test'}]})
重新启动mongo服务,启动权限认证功能
echo -e "\nsecurity:\n authorization: enabled" >> /etc/mongod.conf
systemctl restart mongod
用户认证
db.auth('admin', '@admin')
#3. linux的cpu各核内存共享的机制,在bios或者内核禁用
** WARNING: You are running on a NUMA machine.
** We suggest launching mongod like this to avoid performance problems:
** numactl --interleave=all mongod [other options]
vim /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet numa=off"
grub2-mkconfig -o /boot/grub2/grub.cfg
#4. transparent_hugepage机制,在内核中禁用
** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
** We suggest setting it to 'never'
** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
** We suggest setting it to 'never'
cat > /lib/systemd/system/disable_transparent_hugepage.service << EOF
[Unit]
Description="Disable Transparent Hugepage before MongoDB boots"
Before=mongodb.service
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
ExecStart=/bin/bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'
[Install]
RequiredBy=mongod.service
EOF
systemctl enable disable_transparent_hugepage && systemctl start disable_transparent_hugepage
systemctl restart mongod
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
2016-05-19 pxecfg&kickstart生成脚本
2015-05-19 直播流服务器服务状态检测