zoukankan      html  css  js  c++  java
  • Mongodb rpm安装,自启动报错--got signal 1 (Hangup), will terminate after current cmd ends

    今天被问到 mongodb,centos 7.6的自启动,报错

    Jun 16 11:34:39 localhost rc.local: ERROR: child process failed, exited with error number 1
    Jun 16 11:34:39 localhost rc.local: To see additional information in this output, start without the "--fork" option.

    查看log日志

    2020-06-16T11:49:50.545+0800 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/home/ceiec/mongodb/mongodb-3.6.9/data/diagnostic.data'
    2020-06-16T11:49:50.546+0800 I NETWORK  [initandlisten] waiting for connections on port 27017
    2020-06-16T11:50:16.684+0800 I CONTROL  [signalProcessingThread] got signal 1 (Hangup), will terminate after current cmd ends
    2020-06-16T11:50:16.684+0800 I NETWORK  [signalProcessingThread] shutdown: going to close listening sockets...

    发现是启动mongodb后,被某个进程给kill掉了

    一开始的启动脚本

    在/etc/init.d 下面一个脚本,比如auto_mongo.sh,

    /usr/bin/mongod --fork -f /etc/mongod.conf

    然后添加chkconfig,单独运行脚本是可以的,就是开机启动不行。

    检查了涉及到的文件和文件夹的权限

    chown -R mongod:mongod /home/data/mongodb
    chown -R mongod:mongod /usr/bin/mongo

    在启动的时候 也显式的加了--fork,还是报错

    于是新找了一台centos 7.4 ,进行rpm安装

    [root@iscsi opt]# rpm -ivh mongodb-org-*
    warning: mongodb-org-3.6.13-1.el7.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 91fa4ad5: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:mongodb-org-tools-3.6.13-1.el7   ################################# [ 20%]
       2:mongodb-org-shell-3.6.13-1.el7   ################################# [ 40%]
    error: %pre(mongodb-org-server-3.6.13-1.el7.x86_64) scriptlet failed, exit status 1
    error: mongodb-org-server-3.6.13-1.el7.x86_64: install failed
       3:mongodb-org-mongos-3.6.13-1.el7  ################################# [ 60%]
       4:mongodb-org-3.6.13-1.el7         ################################# [ 80%]
    
    [root@iscsi opt]# rpm -qa |grep mongodb
    mongodb-org-mongos-3.6.13-1.el7.x86_64
    mongodb-org-3.6.13-1.el7.x86_64
    mongodb-org-tools-3.6.13-1.el7.x86_64
    mongodb-org-shell-3.6.13-1.el7.x86_64
    [root@iscsi opt]# vim /etc/selinux/config 
    [root@iscsi opt]# setenforce 0
    [root@iscsi opt]# getenforce
    Permissive
    [root@iscsi opt]# yum localinstall  mongodb-org-*.rpm
    [root@iscsi opt]# rpm -ivh mongodb-org-server-3.6.13-1.el7.x86_64.rpm 
    warning: mongodb-org-server-3.6.13-1.el7.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 91fa4ad5: NOKEY
    Preparing...                          ################################# [100%]
    error: %pre(mongodb-org-server-3.6.13-1.el7.x86_64) scriptlet failed, exit status 1
    error: mongodb-org-server-3.6.13-1.el7.x86_64: install failed
    --https://www.bbsmax.com/A/kjdw6X9A5N/
    使用root权限都不能编辑某个文件,很可能是使用chattr命令锁定该文件了。通过chattr命令修改属性能够提高系统的安全性,
    但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。
    # chattr +i /etc/shadow ##使用chattr -i file加锁
    
    [root@iscsi opt]# lsattr /etc/shadow
    ----i----------- /etc/shadow
    [root@iscsi opt]# chattr -i /etc/shadow
    [root@iscsi opt]# groupdel mongod
    [root@iscsi opt]# rpm -ivh mongodb-org-server-3.6.13-1.el7.x86_64.rpm 
    warning: mongodb-org-server-3.6.13-1.el7.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 91fa4ad5: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:mongodb-org-server-3.6.13-1.el7  ################################# [100%]
    Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service.
    [root@iscsi opt]# rpm -qa|grep mongod
    mongodb-org-mongos-3.6.13-1.el7.x86_64
    mongodb-org-3.6.13-1.el7.x86_64
    mongodb-org-shell-3.6.13-1.el7.x86_64
    mongodb-org-server-3.6.13-1.el7.x86_64
    mongodb-org-tools-3.6.13-1.el7.x86_64
    [root@iscsi opt]# whereis mongod
    mongod: /usr/bin/mongod /etc/mongod.conf /usr/share/man/man1/mongod.1
    cat >> /etc/hosts << EOF
    10.15.7.20 iscsi
    EOF
    
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    
    cat >> /etc/rc.d/rc.local  << EOF
    #toku,mongodb3.6
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    EOF
    
    # /usr/local/mongodb/bin/mongostat  --host=10.11.48.65 --port=27017
    # /usr/local/mongodb/bin/mongotop  --host=10.11.48.65 --port=27017
    
    cat >> /etc/profile  << EOF
    export PATH=/usr/bin:$PATH
    EOF
    source /etc/profile  
    
    cat >> /etc/profile << EOF
    export HISTTIMEFORMAT='%F %T '
    EOF
    
    mkdir -p /home/data/mongodb
    [root@iscsi opt]# id mongod
    uid=990(mongod) gid=985(mongod) groups=985(mongod)
    chown -R mongod:mongod /home/data/mongodb
    chown -R mongod:mongod /usr/bin/mongo
    cd /home/data/mongodb/
    mkdir data
    chown -R mongod:mongod /home/data/mongodb/
    
    [mongodb@localhost mongodb]$ vim mongodb.conf
    port=27017
    bind_ip=10.15.7.20
    logpath=/home/data/mongodb/mongodb01.log
    dbpath=/home/data/mongodb/data
    logappend=true
    pidfilepath=/home/data/mongodb/mongodb01.pid
    fork=true
    oplogSize=1024
    replSet=MyMongo
    
    /usr/bin/mongod -f /home/data/mongodb/mongodb.conf
    [root@iscsi mongodb]# vim /etc/rc.d/rc.local 
    [root@iscsi mongodb]# chmod +x /etc/rc.d/rc.local

    然后重启是ok的。

    -----------------

    在出问题的机器上进行调试

    在/etc/rc.d/rc.local加入strace命令,进行启动程序跟踪(在正常启动与不正常的日志中进行对比)

    strace -tt -s 10000 -f -o  mongo.txt /usr/bin/mongod --fork -f /etc/mongod.conf

     发现有涉及selinux;;这个时候,他们说他们安装的时候没有关闭selinux,于是他们关闭了selinux,然后自启动,就可以了~~~~

    请注意:我在另外安装rpm的时候,一开始就关闭selinux,所以没有第一时间想到这里,走了一定的弯路。。。。

  • 相关阅读:
    [验证码实现] Captcha 验证码类,一个很个性的验证码类 (转载)
    [压缩解压缩] SharpZip--压缩、解压缩帮助类
    [序列化] SerializeHelper--序列化操作帮助类 (转载)
    [序列化] Serialize--序列化帮助类 (转载)
    [IO] C# INI文件读写类与源码下载 (转载)
    [IO] C# FileOperateHelper文件操作类与源码下载
    [IO] C# DirFileHelper文件与文件夹操作类教程与源码下载 (转载)
    [网络] C# NetHelper网络通信编程类教程与源码下载
    [上传下载] C# ImageUpload图片上传类教程与源码下载 (转载)
    [GDI+] C# ImageDown帮助类教程与源码下载 (转载)
  • 原文地址:https://www.cnblogs.com/yhq1314/p/13143383.html
Copyright © 2011-2022 走看看