【信创服务器源码安装mongo集群】
1、查看信创服务器版本信息:
cat /etc/os-release
查看内核版本及架构:
cat /proc/version
2、下载安装包
安装下载链接:https://fastdl.mongodb.org/linux/mongodb-linux-aarch64-rhel82-6.0.6.tgz
3、上传到服务器
4、解压安装包
tar -zxvf mongodb-linux-aarch64-rhel82-6.0.6.tgz
5、将解压后的文件移动到mongodb-6.0.6 目录下
mv mongodb-linux-aarch64-rhel82-6.0.6 mongodb-6.0.6
6、配置环境变量:
vi /etc/profile
添加如下内容:
export MONGODB_HOME=/data/soft/mongodb-6.0.6
export PATH=
P
A
T
H
:
PATH:
PATH:MONGODB_HOME/bin
执行:source /etc/profile来使配置的环境变量生效
执行:mongod -version看环境变量是否配置成功
7、添加mongosh环境变量
tar -zxvf mongosh-1.10.1-linux-arm64.tgz
mv mongosh-1.10.1-linux-arm64 mongosh
vi /etc/profile
export MONGOSH_HOME=/data/soft/mongosh
export PATH=
P
A
T
H
:
{PATH}:
PATH:{MONGOSH_HOME}/bin
mongosh -version
8、规划如下:
主机名 主机IP 组件mongos 组件configserver shard
mongodb-01 99.99.95.37 port:20000 port:21000 port:22001,22002,22003,22004
mongodb-02 99.99.95.65 port:20000 port:21000 port:22001,22002,22003,22004
mongodb-03 99.99.95.92 port:20000 port:21000 port:22001,22002,22003,22004
mongodb-04 99.99.95.156 port:20000 port:21000 port:22001,22002,22003,22004
搭建集群
启动config server
mongod -f /data/soft/mongodb-6.0.6/mongodb/mongoconf/conf/mongoconf.conf
登录一台服务器进行配置服务器副本集初始化
mongosh 99.99.95.37:21000
use admin
rs.initiate({_id:“confs”,members:[{_id:0,host:“99.99.95.37:21000”},{_id:1,host:“99.99.95.65:21000”},{_id:2,host:“99.99.95.92:21000”},{_id:3,host:“99.99.95.156:21000”},]})
查看集群配置
rs.status()
配置shard集群
分别在4台启动shard1服务:
mongod -f /data/soft/mongodb-6.0.6/mongodb/shard1/conf/shard1.conf
登录99.99.95.37的mongodb
mongosh 99.99.95.37:22001
use admin
rs.initiate({_id:“shard1”,members:[{_id:0,host:“99.99.95.37:22001”},{_id:1,host:“99.99.95.65:22001”,},{_id:2,host:“99.99.95.92:22001”,},{_id:3,host:“99.99.95.156:22001”,arbiterOnly:true},]})
查看集群状态:
rs.status();
分别在4台启动shard2服务:
mongod -f /data/soft/mongodb-6.0.6/mongodb/shard2/conf/shard2.conf
在99.99.95.65上进行shard2的副本集初始化:
登录99.99.95.65的mongodb
mongosh 99.99.95.65:22002
use admin
rs.initiate({_id:“shard2”,members:[{_id:0,host:“99.99.95.37:22002”},{_id:1,host:“99.99.95.65:22002”},{_id:2,host:“99.99.95.92:22002”,arbiterOnly:true},{_id:3,host:“99.99.95.156:22002”},]})
查看集群状态:
rs.status();
分别在4台启动shard3服务:
mongod -f /data/soft/mongodb-6.0.6/mongodb/shard3/conf/shard3.conf
在99.99.95.92上进行shard3的副本集初始化:
登录99.99.95.92的mongodb
mongosh 99.99.95.92:22003
use admin
rs.initiate({_id:“shard3”,members:[{_id:0,host:“99.99.95.37:22003”},{_id:1,host:“99.99.95.65:22003”,arbiterOnly:true},{_id:2,host:“99.99.95.92:22003”},{_id:3,host:“99.99.95.156:22003”},]})
查看集群状态:
rs.status();
分别在4台启动shard4服务:
mongod -f /data/soft/mongodb-6.0.6/mongodb/shard4/conf/shard4.conf
在99.99.95.156上进行shard4的副本集初始化:
登录99.99.95.156的mongodb
mongosh 99.99.95.156:22004
use admin
rs.initiate({_id:“shard4”,members:[{_id:0,host:“99.99.95.37:22004”,arbiterOnly:true},{_id:1,host:“99.99.95.65:22004”},{_id:2,host:“99.99.95.92:22004”},{_id:3,host:“99.99.95.156:22004”},]})
查看集群状态:
分别启动4台mongos服务:
mongos -f /data/soft/mongodb-6.0.6/mongodb/mongos/conf/mongos.conf
登录一台mongos:
mongosh 99.99.95.37:20000
use admin
db.adminCommand({“setDefaultRWConcern” : 1,“defaultWriteConcern” : {“w” : 4}});
db.runCommand({addshard:“shard1/99.99.95.37:22001,99.99.95.65:22001,99.99.95.92:22001,99.99.95.156:22001”})
db.runCommand({addshard:“shard2/99.99.95.37:22002,99.99.95.65:22002,99.99.95.92:22002,99.99.95.156:22002”})
db.runCommand({addshard:“shard3/99.99.95.37:22003,99.99.95.65:22003,99.99.95.92:22003,99.99.95.156:22003”})
db.runCommand({addshard:“shard4/99.99.95.37:22004,99.99.95.65:22004,99.99.95.92:22004,99.99.95.156:22004”})
sh.addShard(“shard1/99.99.95.37:22001,99.99.95.65:22001,99.99.95.92:22001,99.99.95.156:22001”)
sh.addShard(“shard2/99.99.95.37:22002,99.99.95.65:22002,99.99.95.92:22002,99.99.95.156:22002”)
sh.addShard(“shard3/99.99.95.37:22003,99.99.95.65:22003,99.99.95.92:22003,99.99.95.156:22003”)
sh.addShard(“shard4/99.99.95.37:22004,99.99.95.65:22004,99.99.95.92:22004,99.99.95.156:22004”)
查看集群:
sh.status();
开启安全认证:
1、生成秘钥文件
openssl rand -base64 756 > /data/soft/mongodb-6.0.6/mongodb/testKeyFile.file
chmod 400 /data/soft/mongodb-6.0.6/mongodb/testKeyFile.file
2、将密钥复制到集群中的每台机器的指定位置
scp -P22 /data/soft/mongodb-6.0.6/mongodb/testKeyFile.file root@IP:/data/soft/mongodb-6.0.6/mongodb
3、创建一个管理员账号和密码然后将集群中的所有mongod和mongos全部关闭
1)、连接任意一台机器的mongos
mongo --port 20000
2)、添加用户
use admin //注意一定要使用admin数据库
db.createUser({user:“suplic3d”,pwd:“suplic3d”,roles:[{role:“root”,db:“admin”}]})
db.createUser({user: ‘root123’, pwd: ‘123456@test’, roles: [{role: “readWrite”, db: “test”}]})