采用yaml方式安装mongodb

 

 
vim /etc/yum.repos.d/mongodb-org-4.0.repo
添加如下内容:
 
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=http://192.168.31.20/mongodb/
gpgcheck=0
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc


cd /etc/yum.repos.d/
rm -f CentOS-*
yum install -y mongodb-org-4.0.3 mongodb-org-server-4.0.3 mongodb-org-shell-4.0.3 mongodb-org-mongos-4.0.3 mongodb-org-tools-4.0.3


mkdir -p /data1/mongodb/logs/
mkdir -p /data1/mongodb/shard1
mkdir -p /data1/mongodb/mongodcfg
mkdir -p /data1/mongodb/cnf/
cd /data1/mongodb/cnf/


/data1/mongodb/start_mongo_shard.sh
/data1/mongodb/stop_mongo_shard.sh


systemctl stop firewalld.service 
systemctl disable firewalld.service


//一个节点执行即可
mongo --port 27019
config={_id:'rs01',members:[{_id:0,host:'192.168.31.61:27019'},{_id:1,host:'192.168.31.62:27019'},{_id:2,host:'192.168.31.63:27019'}]}
rs.initiate(config)



mongo --port 22000 
config = {
_id : "configs",
configsvr: true,
    members : [
    {_id : 0, host : "192.168.31.61:22000" },
    {_id : 1, host : "192.168.31.62:22000" },
    {_id : 2, host : "192.168.31.63:22000" }
    ]
} 
rs.initiate(config)


登陆mongos对应服务添加分片复制集,激活数据库和表分片
mongo --port 31000 
use admin
db.runCommand({addshard:"rs01/192.168.31.61:27019,192.168.31.62:27019,192.168.31.63:27019"});

Shard.yaml

systemLog:
    quiet: false
    path: /data1/mongodb/logs/shard1.log
    logAppend: false
    destination: file
processManagement:
    fork: true
    pidFilePath: /data1/mongodb/shard1.pid
net:
    bindIp: 0.0.0.0
    port: 27019
    maxIncomingConnections: 65536
    wireObjectCheck: true
    ipv6: false
storage:
    dbPath: /data1/mongodb/shard1
    engine: wiredTiger
    wiredTiger:
        engineConfig:
            cacheSizeGB: 16
            journalCompressor: snappy
            directoryForIndexes: false
        collectionConfig:
            blockCompressor: snappy
        indexConfig:
            prefixCompression: true
replication:
    replSetName: rs01
sharding:
    clusterRole: shardsvr

config.yaml

systemLog:
    quiet: false
    path: /data1/mongodb/logs/mongodcfg.log
    logAppend: false
    destination: file
processManagement:
    fork: true
    pidFilePath: /data1/mongodb/mongodcfg.pid
net:
    bindIp: 0.0.0.0
    port: 22000
storage:
    dbPath: /data1/mongodb/mongodcfg
    directoryPerDB: false
    engine: wiredTiger
    syncPeriodSecs: 61
    wiredTiger:
        engineConfig:
            cacheSizeGB: 16
            journalCompressor: snappy
            directoryForIndexes: false
        collectionConfig:
            blockCompressor: snappy
        indexConfig:
            prefixCompression: true
sharding:
    clusterRole: configsvr
replication:
    replSetName: configs

 

Mongos.yaml

systemLog:
    quiet: false
    path: /data1/mongodb/logs/mongods.log
    logAppend: false
    destination: file
sharding:
    configDB: configs/192.168.31.61:22000,192.168.31.62:22000,192.168.31.63:22000
processManagement:
    fork: true
    pidFilePath: /data1/mongodb/mongos.pid
net:
    bindIp: 0.0.0.0
    port: 31000
    maxIncomingConnections: 1024
    wireObjectCheck: true
    ipv6: false

 

start_mongo_shard.sh

#!/bin/sh
mongod --config=/data1/mongodb/cnf/Shard.yaml
mongod --config=/data1/mongodb/cnf/config.yaml
mongos  --config=/data1/mongodb/cnf/Mongos.yaml

 

stop_mongo_shard.sh

#!/bin/sh
kill  `cat /data1/mongodb/shard1.pid`
kill  `cat /data1/mongodb/mongodcfg.pid`
kill  `/data1/mongodb/mongos.pid`

 

注册服务:
编辑文件:
vim /usr/lib/systemd/system/mongodb.service
添加内容: 
 

[unit]
Description=mongodb
After=network.target

[Service]
Type=forking
ExecStart=/data1/mongodb/start_mongo_shard.sh
ExecStop=/data1/mongodb/stop_mongo_shard.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

 

开启开机启动
systemctl enable mongodb开机自动启动
服务启动
systemctl start mongodb
服务关闭
 systemctl stop mongodb

如果启动未成功使用systemctl status mongodb 查看服务状态

通过journalctl -xe 查看错误日志记性拍错

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值