Linux - centOs/Ubuntu MongoDB集群认证、外部访问

1.安装MongoDB

sudo apt-get update
sudo apt-get install -y mongodb-org

2.创建目录文件夹

mkdir -p /home/ubuntu/mongodb-data/mongodb_main/conf
mkdir -p /home/ubuntu/mongodb-data/mongodb_main/data
mkdir -p /home/ubuntu/mongodb-data/mongodb_main/log
从1
mkdir -p /home/ubuntu/mongodb-data/mongodb_slave1/conf
mkdir -p /home/ubuntu/mongodb-data/mongodb_slave1/data
mkdir -p /home/ubuntu/mongodb-data/mongodb_slave1/log
从2
mkdir -p /home/ubuntu/mongodb-data/mongodb_slave2/conf
mkdir -p /home/ubuntu/mongodb-data/mongodb_slave2/data
mkdir -p /home/ubuntu/mongodb-data/mongodb_slave2/log
2.创建key

openssl rand -base64 100 > /home/ubuntu/mongodb-data/mongodb_main/conf/mongodb.key
chmod 600 /home/ubuntu/mongodb-data/mongodb_main/conf/mongodb.key
cp -r /home/ubuntu/mongodb-data/mongodb_main/conf/mongodb.key /home/ubuntu/mongodb-data/mongodb_slave1/conf/
cp -r /home/ubuntu/mongodb-data/mongodb_main/conf/mongodb.key /home/ubuntu/mongodb-data/mongodb_slave2/conf/

3.创建mongo配置文件

touch /home/ubuntu/mongodb-data/mongodb_main/conf/mongodb.conf
vim /home/ubuntu/mongodb-data/mongodb_main/conf/mongodb.conf

# mongodb.conf
dbpath=/home/ubuntu/mongodb-data/mongodb_main/data
#数据文件存放目录
logpath=/home/ubuntu/mongodb-data/mongodb_main/log/mongodb.log
#日志文件存放目录
port=27017
#端口,默认 27017,可以自定义
logappend=true
#开启日志追加添加日志
fork=true
#以守护程序的方式启用,即在后台运行
bind_ip=0.0.0.0
#本地监听 IP,0.0.0.0 表示本地所有 IP
keyFile=/home/ubuntu/mongodb-data/mongodb_main/conf/mongodb.key
auth=true
#是否需要验证权限登录(用户名和密码)
replSet = pasdb
directoryperdb = true
journal = true

从1
touch /home/ubuntu/mongodb-data/mongodb_slave1/conf/mongodb.conf
vim /home/ubuntu/mongodb-data/mongodb_slave1/conf/mongodb.conf

# mongodb.conf
dbpath=/home/ubuntu/mongodb-data/mongodb_slave1/data
#数据文件存放目录
logpath=/home/ubuntu/mongodb-data/mongodb_slave1/log/mongodb.log
#日志文件存放目录
port=27018
#端口,默认 27017,可以自定义
logappend=true
#开启日志追加添加日志
fork=true
#以守护程序的方式启用,即在后台运行
bind_ip=0.0.0.0
#本地监听 IP,0.0.0.0 表示本地所有 IP
keyFile=/home/ubuntu/mongodb-data/mongodb_slave1/conf/mongodb.key
auth=true
#是否需要验证权限登录(用户名和密码)
replSet = pasdb
directoryperdb = true
journal = true

从2
touch /home/ubuntu/mongodb-data/mongodb_slave2/conf/mongodb.conf
vim /home/ubuntu/mongodb-data/mongodb_slave2/conf/mongodb.conf

# mongodb.conf
dbpath=/home/ubuntu/mongodb-data/mongodb_slave2/data
#数据文件存放目录
logpath=/home/ubuntu/mongodb-data/mongodb_slave2/log/mongodb.log
#日志文件存放目录
port=27019
#端口,默认 27017,可以自定义
logappend=true
#开启日志追加添加日志
fork=true
#以守护程序的方式启用,即在后台运行
bind_ip=0.0.0.0
#本地监听 IP,0.0.0.0 表示本地所有 IP
keyFile=/home/ubuntu/mongodb-data/mongodb_slave2/conf/mongodb.key
auth=true
#是否需要验证权限登录(用户名和密码)
replSet = pasdb
directoryperdb = true
journal = true

4.启动配置

mongod -f /home/ubuntu/mongodb-data/mongodb_main/conf/mongodb.conf --auth

> rs.initiate({
    _id: "pasdb",
    version: 1,
    members: [{
        _id: 0,
        host: "127.0.0.1:27017"
    }]
});

> use admin
> db.createUser({'user':'pas', 'pwd':'pas123456', 'roles':[
            { role: "userAdminAnyDatabase", db: "admin" },
            { role: "readWriteAnyDatabase", db: "admin" },
        { role: "clusterAdmin", db: "admin" },
        { role: "root", db: "admin" }
]});
#
> rs.add("127.0.0.1:27018"); 
> rs.add("127.0.0.1:27019");
> rs.status();

5.启动两台从节点

mongod -f /home/ubuntu/mongodb-data/mongodb_slave1/conf/mongodb.conf --auth
mongod -f /home/ubuntu/mongodb-data/mongodb_slave2/conf/mongodb.conf --auth

6.验证主节点添加数据,从节点是否也有数据。

你可能感兴趣的:(Linux - centOs/Ubuntu MongoDB集群认证、外部访问)