centos7 部署mongo 5.0.19 rs

138 阅读1分钟

下载地址

官网地址: www.mongodb.com/try/downloa… 5.0.19 fastdl.mongodb.org/linux/mongo…

创建用户

useradd zdlz
passwd zdlz
# zdlz 用户加sudo 权限
sudo usermod -aG wheel zdlz

切换到 zdlz 用户

su zdlz

下载安装

tar -xzvf mongodb-linux-x86_64-rhel70-5.0.19.tgz

mv mongodb-linux-x86_64-rhel70-5.0.19 /usr/local/mongodb

rm -rf /data/mongo /usr/local/mongodb/logs

mkdir -p /data/mongo/myset

mkdir -p /usr/local/mongodb/logs

mkdir /etc/mongo/

openssl rand -base64 90 -out ./mongo.keyfile
chmod 400 mongo.keyfile
mv mongo.keyfile /etc/mongo/

chown -R zdlz:zdlz /data/mongo /usr/local/mongodb /etc/mongo


# 将mongo 命令加到环境变量
echo 'export PATH=$PATH:/usr/local/mongodb/bin' > /etc/profile
source /etc/profile

vim /etc/mongo/mongod.conf

mongod.conf的内容如下

dbpath=/data/mongo/myset
logpath=/usr/local/mongodb/logs/myset.log
logappend = true
#端口号 默认为27017
port=27017
#以后台方式运行进程
fork=true
bind_ip = 0.0.0.0
replSet = myset
oplogSize = 100
auth=true
keyFile=/etc/mongo/mongo.keyfile

启动mongo

配置systemd sudo vim /usr/lib/systemd/system/mongod.service


[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=zdlz
Group=zdlz
Environment="OPTIONS=-f /etc/mongo/mongod.conf"
ExecStart=/usr/local/mongodb/bin/mongod $OPTIONS
PermissionsStartOnly=true
#PIDFile=/data/mongo/shard1/mongod.pid
Type=forking
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# locked memory
LimitMEMLOCK=infinity
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false
# Recommended limits for for mongod as specified in
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings

Restart=on-abort

RestartSec=5s

[Install]
WantedBy=multi-user.target

启动

sudo systemctl daemon-reload
# 启动 mongo
sudo systemctl start mongod
# 设置开机启动
sudo systemctl enable mongod

rs 配置 执行mongo 命令,进入mongo shell


config={"_id":"myset","members":

                    [{"_id":0,"host":"10.10.10.204:27017"},

                     {"_id":1,"host":"10.10.10.214:27017"},

                     {"_id":2,"host":"10.10.10.224:27017"}]}

rs.initiate(config)

rs.status()

rs.conf()

配置用户

use admin

db.createUser({

            user:'root',

            pwd:'root123',

            roles:[

                {

                    role:"dbAdminAnyDatabase",

                    db:"admin"

                },

                {

                    role:"readWriteAnyDatabase",             

                    db:"admin"

                },

                {

                    role:"userAdmin",                             

                    db:"admin"

                },

                {

                    role:"root",                          

                    db:"admin"

                }]

            })

测试

db.test.insert({a:2})

db.test.find();