zoukankan      html  css  js  c++  java
  • debian 8.2 + apt-get + mongodb 3.2

    安装debian 8.2

    os 透明大页设置

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

    #cat /sys/kernel/mm/transparent_hugepage/enabled
    #cat /sys/kernel/mm/transparent_hugepage/defrag
    均应该输出如下
    always madvise [never]

    可临时设置如下

    #echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
    #echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag

    或者写入 /etc/rc.local

    # vi /etc/rc.local
    echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
    echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag

    安装mongodb

    下载 https://www.mongodb.com/download-center?jmp=docs#community

    官方安装文档
    https://docs.mongodb.com/manual/administration/install-on-linux/
    https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/

    mongodb 包的简介

    Package Name        Description
    mongodb-org         A metapackage that will automatically install the four component packages listed below.
    mongodb-org-server  Contains the mongod daemon and associated configuration and init scripts.
    mongodb-org-mongos  Contains the mongos daemon.
    mongodb-org-shell   Contains the mongo shell.
    mongodb-org-tools   Contains the following MongoDB tools: mongoimport bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop.

    配置apt源

    导入密钥

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv D68FA50FEA312927

    不导密钥会报如下错误

    W: GPG 错误:http://repo.mongodb.org jessie/mongodb-org/3.2 Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY D68FA50FEA312927

    #vi /etc/apt/sources.list
    deb http://ftp.debian.org/debian jessie main
    
    #vi /etc/apt/sources.list.d/mongodb-org-3.2.list
    deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.2 main

    apt安装

    #apt-get update
    #apt-get install mongodb-org
    或者
    #apt-get install mongodb-org=3.2.16 mongodb-org-server=3.2.16 mongodb-org-shell=3.2.16 mongodb-org-mongos=3.2.16 mongodb-org-tools=3.2.16
    
    
    正在选中未选择的软件包 mongodb-org-shell。
    (正在读取数据库 ... 系统当前共安装有 147397 个文件和目录。)
    正准备解包 .../mongodb-org-shell_3.2.16_amd64.deb  ...
    正在解包 mongodb-org-shell (3.2.16) ...
    正在选中未选择的软件包 mongodb-org-server。
    正准备解包 .../mongodb-org-server_3.2.16_amd64.deb  ...
    正在解包 mongodb-org-server (3.2.16) ...
    正在选中未选择的软件包 mongodb-org-mongos。
    正准备解包 .../mongodb-org-mongos_3.2.16_amd64.deb  ...
    正在解包 mongodb-org-mongos (3.2.16) ...
    正在选中未选择的软件包 mongodb-org-tools。
    正准备解包 .../mongodb-org-tools_3.2.16_amd64.deb  ...
    正在解包 mongodb-org-tools (3.2.16) ...
    正在选中未选择的软件包 mongodb-org。
    正准备解包 .../mongodb-org_3.2.16_amd64.deb  ...
    正在解包 mongodb-org (3.2.16) ...
    正在处理用于 man-db (2.7.0.2-5) 的触发器 ...
    正在设置 mongodb-org-shell (3.2.16) ...
    正在设置 mongodb-org-server (3.2.16) ...
    正在添加系统用户"mongodb" (UID 120)...
    正在将新用户"mongodb" (UID 120)添加到组"nogroup"...
    无法创建主目录"/home/mongodb"
    正在添加组"mongodb" (GID 127)...
    完成。
    正在添加用户"mongodb""mongodb"...
    正在将用户“mongodb”加入到“mongodb”组中
    完成。
    正在设置 mongodb-org-mongos (3.2.16) ...
    正在设置 mongodb-org-tools (3.2.16) ...
    正在设置 mongodb-org (3.2.16) ...
    #dpkg -l |grep -i mongo
    ii  **mongodb-org**          3.2.16   amd64        MongoDB open source document-oriented database system (metapackage)
    ii  **mongodb-org-mongos**   3.2.16   amd64        MongoDB sharded cluster query router
    ii  **mongodb-org-server**   3.2.16   amd64        MongoDB database server
    ii  **mongodb-org-shell**    3.2.16   amd64        MongoDB shell client
    ii  **mongodb-org-tools**    3.2.16   amd64        MongoDB tools

    管理mongodb

    查看配置文件

    # cat /etc/mongod.conf
    

    启动mongodb

    #service mongod start
    #service mongod status
    ● mongod.service - High-performance, schema-free document-oriented database
       Loaded: loaded (/lib/systemd/system/mongod.service; disabled)
       Active: active (running) since 三 2017-08-09 08:26:33 CST; 1h 44min ago
         Docs: https://docs.mongodb.org/manual
     Main PID: 5775 (mongod)
       CGroup: /system.slice/mongod.service
               └─5775 **/usr/bin/mongod --config /etc/mongod.conf**
    
    809 08:26:33 debian1 systemd[1]: Starting High-performance, schema-free document-ori......
    809 08:26:33 debian1 systemd[1]: Started High-performance, schema-free document-orie...se.
    Hint: Some lines were ellipsized, use -l to show in full.
    #ps -ef|grep -i mongo
    /usr/bin/mongod --quiet --config /etc/mongod.conf
    
    #netstat -anop |grep -i 27017
    #tail -f 200 /var/log/mongodb/mongod.log

    关闭mongodb

    #service mongod stop

    重启mongodb

    #service mongod restart

    连接mongodb

    初步安装好的mongodb为默认设置,没有启用用户验证。

    创建管理员

    root@debian1:/var/lib/mongodb# mongo
    MongoDB shell version: 3.2.16
    connecting to: test
    
    use admin
    db.createUser(
         {
           user:"pyb",
           pwd:"rootroot",
           roles:[{role:"root",db:"admin"}]
         }
      )

    查看管理员

    db.getUser('pyb')
    {
        "_id" : "admin.pyb",
        "user" : "pyb",
        "db" : "admin",
        "roles" : [
            {
                "role" : "root",
                "db" : "admin"
            }
        ]
    }

    或者

    db.getUsers()
    [
        {
            "_id" : "admin.pyb",
            "user" : "pyb",
            "db" : "admin",
            "roles" : [
                {
                    "role" : "root",
                    "db" : "admin"
                }
            ]
        }
    ]

    修改 /etc/mongod.conf ,启用用户验证

    # vi /etc/mongod.conf 
    security:
      authorization: enabled
      keyFile: /var/lib/mongodb/mongoDB_keyfile 

    官方对keyFile 的解释为: 该文件可以为任意内容,但是所有节点要一致

    重启mongodb

    #service mongod restart
    #mongo 
    use admin
    db.auth("pyb", "rootroot" )
    show dbs
    admin  0.000GB
    local  0.000GB

    连接mongodb 的 web 管理界面

    在 /var/log/mongodb/mongod.log 可以看到如下信息:

     I NETWORK  [initandlisten] waiting for connections on port 27017
     I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
     I NETWORK  [websvr] admin web console waiting for connections on port 28017

    27017 为 mongodb 的 port
    28017 为 mongodb 的 web 管理页面 port

  • 相关阅读:
    asp.net中DataBinder.Eval的用法总结
    如何不让DataGridView自动生成列
    .net中的正则表达式
    今日学习心得:SiteMap设置以及在SiteMap中使用roles控制权限
    Jquery绑定事件累加以及如何防止累加
    今日学习心得:sqlserver2005分页查询存储过程
    关于静态类和静态方法
    jquery的extend和fn.extend
    今日学习心得:如何做解决数据绑定控件嵌套问题
    关于Dictionary<k,v>绑定DataGridView的问题以及曲线解决办法
  • 原文地址:https://www.cnblogs.com/ctypyb2002/p/9793103.html
Copyright © 2011-2022 走看看