【MongoDB】mongodb安装及启动踩坑点

mongodb的安装,基本上参考文章[1]。

但是在过程中,有一些踩坑点。

1,高版本mongodb不自带mongo脚本

在文章1中,作者在解压后,直接使用了mongo脚本,而我下载的mongodb版本要更高,在解压后,bin目录中没有mongo脚本,mongo脚本是mongodb的命令行客户端,据说,这个从6.0版本开始是要自己安装的。

2,mongodb缺少依赖

在使用mongod启动server时,提示缺少依赖。通过ldd mongod命令,发现缺少依赖如下:

libnetsnmpmibs.so.31
libnetsnmpagent.so.31

尝试过使用yum whatprovides XXX来找到包含该依赖的组件并安装,发现都是一些net-snmp-agent-XXX。yum install后并没有解决问题。

后来从文章[2]那里,找到了解决办法,安装net-snmp。

yum install net-snmp

安装后,就不会有缺少依赖的报错了。

其实mongodb解压后,里面包括一个snmp的包,应该是需要snmp的。snmp是一种网络协议[3],而net-snmp是实现了snmp的组件[4]。总之缺少了net-snmp,mongodb是无法工作的。

3,依然无法正常启动,可能是data、logs目录出现了问题

到此时,再次启动Mongodb,依然无法正常启动。奇怪的是,mongod脚本启动server没有提示信息就直接结束了。当使用mongod关闭server时,提示似乎没有server在运行。

mongod关闭server

mongod --shutdown -f /etc/mongodb.conf

这就有点奇怪了。我找到这篇文章[5],杀死进程,还是会有新的27017端口进程出现,按照文章[5]所述,应该是守护进程不断重启导致的,在/etc/mongodb.conf中,将fork设置为false,这样就能够正常杀死进程了。但是发现还是无法正常启动。

此时根据文章[5]给我的启示,可能是data logs出现了问题。查看了下/etc/profile和/etc/mongodb.conf中data logs路径的配置都没有问题。而data目录下存在了很多文件,我此时还没有正常启动,哪来的data文件呢,因此我猜测可能是data目录出现了问题,因此删除了data和logs目录(logs里的Log是追加的,出问题的可能不大,但是保险起见,一起删除了)。

删除后,重新mkdir和touch来创建data和logs,再次启动,启动成功。

[root@localhost bin]# mongo --host 127.0.0.1 --port 27017
MongoDB shell version v5.0.24
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("1be50feb-f2bb-4986-8153-ecf03190cd1d") }
MongoDB server version: 5.0.24
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, seehttps://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forumshttps://community.mongodb.com
---
The server generated these startup warnings when booting: 2024-01-24T01:40:16.103-08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted2024-01-24T01:40:16.103-08:00: You are running this process as the root user, which is not recommended2024-01-24T01:40:16.104-08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'2024-01-24T01:40:16.104-08:00: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never'2024-01-24T01:40:16.104-08:00: Soft rlimits for open file descriptors too low2024-01-24T01:40:16.104-08:00:         currentValue: 10242024-01-24T01:40:16.104-08:00:         recommendedMinimum: 64000
---
MongoDB Enterprise > 

但是此时不要忘记,最好把守护进程打开,使用mongod shutdown将server关闭后,将配置文件里/etc/mongodb.conf里的fork改为true。

这时再次关闭server,依然会报错,客户端依然能够连上server,可能是因为fork为true无法关闭。

参考文章:
[1],Linux下MongoDB的安装与配置
[2],centos7 安装mongo ./mongod: error while loading shared libraries: libnetsnmpmibs.so.31:
[3],什么是SNMP?
[4],Snmp学习总结(六)——NET-SNMP 简介与使用
[5],mongodb启动异常:about to fork child process, waiting until server is ready for connection

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/651734.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解stressapptest

文章目录 一、概述二、安装2.1、源码编译安装2.2、命令行安装2.3、安装确认三、重要参数详解3.1、查询支持的参数3.2、参数说明 四、实例4.1、随机测试(默认模式)4.2、循环测试4.2、全内存测试 团队博客: 汽车电子社区 一、概述 stressapptest是一款免费…

C++重新入门-内联函数

C中的内联函数是一种优化手段,用于减少函数调用的开销。内联函数的主要特点是在调用处将函数体的代码直接插入,而不是通过函数调用的方式执行。这样可以避免函数调用的开销,但也有一些限制和注意事项。 1.内联函数的定义 在函数定义前面加上…

HCIA-HarmonyOS设备开发认证-2.设备开发入门

目录 HarmonyOS设备开发学习路径一、开发项目与工具介绍1.1、设备开发环境准备1.2、设备开发流程1.3、Huawei DevEco Device Tool 二、OpenHarmony介绍OpenHarmony目录结构详细介绍applications目录详解base目录详解foundation目录详解 OpenHarmony接口分层介绍CMSIS 和 POSIX …

[每日一题] 01.27 - 斐波那契数列

文章目录 打分斐波那契数列 打分 n int(input()) lis list(map(int,input().split())) a sum(lis) - min(lis) - max(lis) print(round(a / (n - 2),2))斐波那契数列 n int(input()) res [] for i in range(n):res.append(int(input()))Max max(res) lis [1,1] for i in…

编译nginx

例如查看pcre是否安装: dpkg -l | grep pcre解决依赖包openssl安装,命令: sudo apt-get install openssl libssl-dev解决依赖包pcre安装,命令: sudo apt-get install libpcre3 libpcre3-dev解决依赖包zlib安装&…

nodejs学习计划--(七)express框架

express框架 1. express介绍 express 是一个基于 Node.js 平台的极简、灵活的 WEB 应用开发框架,官方网址:https://www.expressjs.com.cn/ 简单来说,express 是一个封装好的工具包,封装了很多功能,便于我们开发 WEB …

Java中的运算符-算数运算符(/,%,+,++)

目录 运算符算数运算符除法 取余运行结果实例测试 的作用的作用测试结果 运算符 算法符号算术运算符,-,*,/,%,(自增),–(自减)赋值运算符扩展赋值运算符&…

Qt WebEngine模块使用(开发环境安装和程序开发)

一、Qt WebEngine Qt WebEngine_hitzsf的博客-CSDN博客 Qt WebEngine模块提供了一个Web浏览器引擎,可以轻松地将万维网上的内容嵌入到没有本机Web引擎的平台上的Qt应用程序中。Qt WebEngine提供了用于渲染HTML,XHTML和SVG文档的C 类和QML类型&#xff…

LeetCode:376.摆动序列

个人主页:仍有未知等待探索-CSDN博客 专题分栏:算法_仍有未知等待探索的博客-CSDN博客 题目链接:376. 摆动序列 - 力扣(LeetCode) 一、题目 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称…

华为机试真题实战应用【赛题代码篇】-连续字符最大次数(附Java和C++代码)

目录 问题描述 代码实现 Java 代码2 C++ 问题描述 输入一串字符串 字符串长度不超过100 查找字符串中相同字符连续出现的最大次数 输入描述 输入只有一行,包含一个长度不超过100的字符串 输出描述 输出只有一行,输出相同字符串连续出现的最大次数 说明:…

146基于matlab的齿轮非线性动力学

基于matlab的齿轮非线性动力学,绘出系统状态变量随参数变化分岔图,绘图参数对应的系统各周期及混沌状态的时间历程图、相轨迹图、Poincare映射图,程序已调通,可直接运行。 146 matlab 齿轮非线性动力学 相图 (xiaohongshu.com)

程序设计与数据结构课程实训报告——回家之旅

回家之旅 1.问题描述 春运买票困难,有乘客想出多次中转的办法解决。试图用你学习到的数据结构与算法知识,帮助有需要的人规划回家的路线。 假设给定列车时刻信息表(包含票价情况),任意输入起点站和终点站(如广州到兰州),规划满足以…

力扣516. 最长回文子序列

动态规划 思路: 字符串最长回文子序列问题可以转换为原字符串 s 和逆串 s 的最长公共子序列长度问题,具体推断过程可以参考 力扣1312. 让字符串成为回文串的最少插入次数问题变成了求两个字符串最长公共子序列长度问题,具体思路可以参考 力扣…

Win32 PE图标资源提取(ICO图标提取)

最近需要写一个提取EXE或者DLL图标资源的功能, 网上找了很久, 要么功能不好用, 最后结果如下: 1.很多是加载为HICON句柄后转换为图片保存, 全损画质..., 2.后来找了个还能用的, 详见 https://github.com/TortoiseGit/TortoiseGit/blob/master/src/Utils/IconExtractor.cpp …

cenos8.5快速部署开发环境(LAMP)

Apache 安装apache yum -y install httpd httpd-manual mod_ssl mod_perl 重启服务,设置自启动 systemctl start httpd systemctl enable httpd 查看apache运行状态 systemctl status httpd MySQL 下载MySQL wget http://dev.mysql.com/get/mysql57-community-re…

第十二届“中关村青联杯”全国研究生数学建模竞赛-D题:面向节能的单/多列车优化决策问题

目录 摘 要: 1 问题重述 1.1 问题背景 1.2 本文所需解决的问题 2 问题假设

前端——HTML

目录 文章目录 前言 一.HTML的基本标签 二.HTML标签 1.块级标签 1.1块级标签特征 1.2标题标签 ​编辑 1.3 水平线标签 1.4 段落标签 1.5 无序列表标签 1.6 有序列表标签 1.7 表格标签 1.8层标签 1.9 表单 2. 行级标签 2.1行级标签特征 2.2图像标签 2.3 范围…

阿里云云数据库RDS

1. 请简述阿里云云数据库RDS的主要特点和优势? 阿里云云数据库RDS的主要特点和优势包括高可用性、强大的扩展性、性能优化、灵活的备份与恢复功能以及专业的技术支持等。 具体来说,以下是阿里云RDS的一些关键优势: 高可用性和可靠性&#…

Leetcode刷题笔记题解(C++):1971. 寻找图中是否存在路径

思路: 1.建立图集,二维数组,path[0]里面存放的就是与0相连的节点集合 2.用布尔数组来记录当前节点是否被访问过,深度优先会使用到 3.遍历从起点开始能直接到达的点(即与起点相邻的点),判断那…

Centos9使用chrony服务同步时间

安装chrony命令 Centos9里是预安装的,没有安装的话执行以下命令: yum install -y chronyCentos9 时间同步要使用chrony命令,ntp命令没有了 查看状态 #启用chronyd服务 systemctl enable chronyd#重启chronyd服务 systemctl restart chron…