debian 8.2 + apt-get + mongodb 3.2详解大数据

安装debian 8.2

os 透明大页设置

IT虾米网
检查

#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

下载 IT虾米网

官方安装文档
IT虾米网
IT虾米网

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 错误:IT虾米网 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

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/9844.html

(0)
上一篇 2021年7月19日 11:36
下一篇 2021年7月19日 11:36

相关推荐

发表回复

登录后才能评论