阅读量:2
以下是在Debian上搭建MongoDB集群的方案,这里以分片集群为例:
安装MongoDB
更新系统,导入公钥,添加软件源并安装:
sudo apt update && sudo apt upgrade -y
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt update
sudo apt install -y mongodb-org
配置副本集(以3个节点为例)
在每个节点的/etc/mongod.conf中配置:
net:
port: 27017
bindIp: 0.0.0.0
replication:
replSetName: rs0
storage:
dbPath: /data/db
journal:
enabled: true
创建密钥文件:
openssl rand -base64 756 > /var/lib/mongodb/keyfile
chmod 600 /var/lib/mongodb/keyfile
将密钥文件复制到所有节点,并在配置文件中添加security: keyFile: /var/lib/mongodb/keyfile。启动服务:
sudo systemctl start mongod
sudo systemctl enable mongod
在主节点上初始化副本集:
mongo --host node1_ip --port 27017
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "node1_ip:27017" },
{ _id: 1, host: "node2_ip:27017" },
{ _id: 2, host: "node3_ip:27017" }
]
})
配置分片集群
启动配置服务器:
mkdir -p /data/configdb
mongod --configsvr --replSet configReplSet --dbpath /data/configdb --port 27019
初始化配置服务器副本集:
mongo --port 27019
rs.initiate({
_id: "configReplSet",
configsvr: true,
members: [
{ _id: 0, host: "localhost:27019" }
]
})
启动分片服务器(以2个分片为例):
mkdir -p /data/shard1 /data/shard2
mongod --shardsvr --replSet shard1 --dbpath /data/shard1 --port 27018
mongod --shardsvr --replSet shard2 --dbpath /data/shard2 --port 27017
分别初始化分片副本集:
mongo --port 27018
rs.initiate({ _id: "shard1", members: [{ _id: 0, host: "localhost:27018" }] })
mongo --port 27017
rs.initiate({ _id: "shard2", members: [{ _id: 0, host: "localhost:27017" }] })
启动Mongos路由器
mongos --configdb configReplSet/localhost:27019 --port 27017
添加分片到集群
mongo --port 27017
sh.addShard("shard1/shard1:27018,shard1:27019")
sh.addShard("shard2/shard2:27017,shard2:27018")
启用分片
sh.enableSharding("yourDatabaseName")
sh.shardCollection("yourDatabaseName.yourCollectionName", { "shardKey": 1 })
验证集群状态
sh.status()
以上就是关于“MongoDB在Debian上的集群搭建方案”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm