如何设计并实现一个高效且用户友好的网站后台程序?
摘要:如何编写网站后台程序,网页设计素材推荐,东莞建站公司运转全网天下有 名,国家城乡住房建设部网站首页文章目录 服务器重启MongoDB无法启动背景规划实施 总结 服务器重启MongoDB无法启动 背景 数据库服务器的CPU接近告警值了&
如何编写网站后台程序,网页设计素材推荐,东莞建站公司运转全网天下有 名,国家城乡住房建设部网站首页文章目录 服务器重启MongoDB无法启动背景规划实施 总结 服务器重启MongoDB无法启动
背景
数据库服务器的CPU接近告警值了#xff0c;需要添加CPU资源#xff0c;于是乎就在恰当的时间对服务器进行关机#xff0c;待添加完资源后开机#xff0c;这样就完成了CPU资源的添加… 文章目录 服务器重启MongoDB无法启动背景规划实施 总结 服务器重启MongoDB无法启动
背景
数据库服务器的CPU接近告警值了需要添加CPU资源于是乎就在恰当的时间对服务器进行关机待添加完资源后开机这样就完成了CPU资源的添加。
规划
在添加资源之前首先要咨询开发人员让开发人员确认什么时候可以对机器进行重启时间确定了在18点以后就可以对机器进行重启操作。这时候把准备工作做好
重启之前确定何时可以重启重启之前把原来的服务关掉重启后查看应用是否启动成功测试MongoDB是否正常使用
方针路线制定未完成那就开始执行吧本来添加资源加上启动应用10分钟内完全能搞定但一旦出现问题这是完全保证不了时间的。之前升级也是理想状态下10分钟~1小时能搞定最后24小时还是搞不定这是常有的事这不今天又遇到了。
实施
停止MongoDB服务
systemctl stop mongod停止服务器
shutdown -h now添加CPU资源 我们使用的KVM 之后启动服务器 服务器正常启动 检查应用是否启动就在这时候问题出现了
[rootZJPMYCDBS01 ~]# systemctl status mongod
● mongod.service - MongoDB Database ServerLoaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)Active: failed (Result: exit-code) since Wed 2023-08-23 18:06:57 CST; 1min 58s agoDocs: https://docs.mongodb.org/manualProcess: 1800 ExecStart/usr/bin/mongod $OPTIONS (codeexited, status14)Process: 1797 ExecStartPre/usr/bin/chmod 0755 /var/run/mongodb (codeexited, status0/SUCCESS)Process: 1795 ExecStartPre/usr/bin/chown mongod:mongod /var/run/mongodb (codeexited, status0/SUCCESS)Process: 1791 ExecStartPre/usr/bin/mkdir -p /var/run/mongodb (codeexited, status0/SUCCESS)Aug 23 18:06:57 ZJPMYCDBS01 systemd[1]: Starting MongoDB Database Server...
Aug 23 18:06:57 ZJPMYCDBS01 mongod[1800]: about to fork child process, waiting until server is ready for connections.
Aug 23 18:06:57 ZJPMYCDBS01 mongod[1800]: forked process: 1803
Aug 23 18:06:57 ZJPMYCDBS01 mongod[1800]: ERROR: child process failed, exited with 14
Aug 23 18:06:57 ZJPMYCDBS01 mongod[1800]: To see additional information in this output, start without the --fork option.
Aug 23 18:06:57 ZJPMYCDBS01 systemd[1]: mongod.service: control process exited, codeexited status14
Aug 23 18:06:57 ZJPMYCDBS01 systemd[1]: Failed to start MongoDB Database Server.
Aug 23 18:06:57 ZJPMYCDBS01 systemd[1]: Unit mongod.service entered failed state.
Aug 23 18:06:57 ZJPMYCDBS01 systemd[1]: mongod.service failed.
[rootZJPMYCDBS01 ~]# 我是设置了MongoDB开机启动的所以无需再次启动
再次查看日志 [rootZJPMYCDBS01 ~]#journalctl -xe
Aug 23 18:05:29 ZJPMYCDBS01 mongod[1710]: To see additional information in this output, start without the --fork option.
Aug 23 18:05:29 ZJPMYCDBS01 systemd[1]: mongod.service: control process exited, codeexited status14
Aug 23 18:05:29 ZJPMYCDBS01 systemd[1]: Failed to start MongoDB Database Server.
-- Subject: Unit mongod.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mongod.service has failed.
--
-- The result is failed.
Aug 23 18:05:29 ZJPMYCDBS01 systemd[1]: Unit mongod.service entered failed state.
Aug 23 18:05:29 ZJPMYCDBS01 systemd[1]: mongod.service failed.
Aug 23 18:05:29 ZJPMYCDBS01 polkitd[845]: Unregistered Authentication Agent for unix-process:1696:5112 (system bus name :1.20, object path /org/freedesktop/PolicyKit1/Authentication
Aug 23 18:05:57 ZJPMYCDBS01 polkitd[845]: Registered Authentication Agent for unix-process:1722:7930 (system bus name :1.21 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object pa
Aug 23 18:05:57 ZJPMYCDBS01 systemd[1]: Reloading.
Aug 23 18:05:57 ZJPMYCDBS01 systemd[1]: clickhouse-server.service: Supervising process 1339 which is not our child. Well most likely not notice when it exits.
Aug 23 18:05:57 ZJPMYCDBS01 polkitd[845]: Unregistered Authentication Agent for unix-process:1722:7930 (system bus name :1.21, object path /org/freedesktop/PolicyKit1/Authentication
Aug 23 18:06:01 ZJPMYCDBS01 chronyd[838]: Source 94.237.64.20 replaced with 39.106.54.244
Aug 23 18:06:03 ZJPMYCDBS01 polkitd[845]: Registered Authentication Agent for unix-process:1741:8541 (system bus name :1.22 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object pa分析以上日志查看问题日志中明显的错误信息是codeexited, status14查看MongoDB的官网可知以下的内容
Code原因0MongoDB 应用程序成功退出时返回。2指定的选项错误或与其他选项不兼容。3当命令行上指定的主机名与主/从模式下的 local.sources 集合中的主机名不匹配时由 mongod 返回。4数据库版本与 mongod或 mongod.exe实例支持的版本不同。实例将干净地退出。5在初始化过程中遇到问题时由 mongos 返回。12在 Windows 上的 mongod.exe 进程在接收到 Control-C、Close、Break 或 Shutdown 事件时返回。14MongoDB 应用程序遇到无法恢复的错误、未捕获的异常或未捕获的信号时返回。系统在未执行干净关闭的情况下退出。20消息ERROR: wsastartup failed Windows 上的 MongoDB 应用程序在 WSAStartup 函数出现错误后返回该函数用于初始化网络子系统。消息NT Service Error Windows 上的 MongoDB 应用程序由于安装、启动或删除应用程序的 NT 服务时出现故障而返回。48新启动的 mongod 或 mongos 由于错误无法开始侦听传入连接。61如果具有受监视目录的文件系统无响应由存储节点监视器返回。62当 --dbpath 中的数据文件与当前运行的 mongod 版本不兼容时由 mongod 返回。100当进程抛出未捕获的异常时由 mongod 返回。
看到以上代码status14则说明这是异常退出大概率是有存在锁的在日志文件中看到了一个lock的文件 但出于对MongoDB的不熟悉最后网上找到了一个帖子
cd /tmp; ls -l *.sock
chown mongod:mongod mongodb-27017.sock27017是端口号
mongodb-27017.sock这个文件按理说不会发生权限的变动的我感觉可能是停止的时候没有完全停止就急于重启机器或者是重启的时候有数据写入导致的。
再次启动MongoDB问题解决不得不说高手在民间网上很多人不显山不漏水决绝问题棒棒滴感谢这些网络活雷锋。
总结
在上线过程中未免是会出现这样那样的问题遇到问题先看看具体的日志信息根据日志信息来进行下一步操作按照日志的关键字去网上查可能有很多人都会遇到同样的问题大部分都会解决的。不慌不忙、不急不躁沉着应对。
