IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 单机搭建mongo集群,3个分片集 -> 正文阅读

[大数据]单机搭建mongo集群,3个分片集

本机IP:192.168.199.204
1、 安装 MongoDB社区所需的依赖项

yum install libcurl openssl xz-libs -y

2、 下载社区版5.0.2

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.2.tgz

3、 解压到/usr/local/下面

tar zxvf mongodb-linux-x86_64-rhel70-5.0.2.tgz -C /usr/local/
cd /usr/local/
mv mongodb-linux-x86_64-rhel70-5.0.2 mongodb-5.0.2

4、mongodump、mongorestore等工具需要单独下载

wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel70-x86_64-100.5.0.tgz
tar zxvf mongodb-database-tools-rhel70-x86_64-100.5.0.tgz
cd mongodb-database-tools-rhel70-x86_64-100.5.0/bin
cp * /usr/local/mongodb-5.0.2/bin/

5、设置软连接,方便调用命令

ln -s /usr/local/mongodb-5.0.2/bin/mongo /usr/local/bin/mongo
ln -s /usr/local/mongodb-5.0.2/bin/mongod /usr/local/bin/mongod
ln -s /usr/local/mongodb-5.0.2/bin/mongos /usr/local/bin/mongos

6、新建数据目录和日志目录,配置文件目录

mkdir -p  /data/mongo{1,2,3}/{db_shard1,db_shard2,db_shard3,db_configsvr}
mkdir -p  /data/mongo{1,2,3}/logs
mkdir -p  /data/mongo{1,2,3}/conf

7、配置3个config,9个shard,3个mongos,一共15个文档
使用到的端口如下(不是很会这个CSDN的插入表格,只能截图):
在这里插入图片描述
下面列出mongo1的配置文件,单独列了出来

https://blog.csdn.net/qq_39677803/article/details/120358590?spm=1001.2014.3001.5502

下面列出mongo2的配置文件,单独列了出来

https://blog.csdn.net/qq_39677803/article/details/120358637?spm=1001.2014.3001.5502

下面列出mongo3的配置文件,单独列了出来

https://blog.csdn.net/qq_39677803/article/details/120358648?spm=1001.2014.3001.5502

8、启动config server

mongod -f /data/mongo1/conf/configsvr.conf
mongod -f /data/mongo2/conf/configsvr.conf
mongod -f /data/mongo3/conf/configsvr.conf

启动之后登录任意一个config server端口,
这里优先使用哪一个端口,哪一个就会优先变成主节点,这里用mongo1的27100端口

mongo --port 27100

下面开始配置副本集

>use admin
>cfg = {
		_id:"csvr",
		members:[
			{_id:0,host:"192.168.199.204:27100",},
			{_id:1,host:"192.168.199.204:27200"},
			{_id:2,host:"192.168.199.204:27300"}
		]
	}

#csvr 是配置节点的配置文件configsvr.conf中replSetName的值
#27100 27200 27300 分别是3个configsvr.conf的端口
在这里插入图片描述
初始化

>rs.initiate(cfg)

在这里插入图片描述
可以查看状态

>rs.status()

9、配置分片
启动分------shard1

mongod -f /data/mongo1/conf/shard1.conf
mongod -f /data/mongo2/conf/shard1.conf
mongod -f /data/mongo3/conf/shard1.conf
mongo --port 27017  #这里也用mongo1里的端口
use admin
cfg = {
		_id:"rs0",
		members:[
			{_id:0,host:" 192.168.199.204:27017",},
			{_id:1,host:" 192.168.199.204:28017"},
			{_id:2,host:" 192.168.199.204:29017",arbiterOnly:true}
		]
	}

在这里插入图片描述

rs.initiate(cfg)

在这里插入图片描述
可以查看状态

rs.status()

启动分片-----shard2

mongod -f /data/mongo1/conf/shard2.conf
mongod -f /data/mongo2/conf/shard2.conf
mongod -f /data/mongo3/conf/shard2.conf
mongo --port 27018   #这里也用mongo1里的端口
use admin
cfg = {
		_id:"rs1",
		members:[
			{_id:0,host:" 192.168.199.204:27018",},
			{_id:1,host:" 192.168.199.204:28018"},
			{_id:2,host:" 192.168.199.204:29018",arbiterOnly:true}
		]
	}
rs.initiate(cfg)
rs.status()

启动分片-----shard3

mongod -f /data/mongo1/conf/shard3.conf
mongod -f /data/mongo2/conf/shard3.conf
mongod -f /data/mongo3/conf/shard3.conf
mongo --port 27019  #这里也用mongo1里的端口
use admin
cfg = {
		_id:"rs2",
		members:[
			{_id:0,host:" 192.168.199.204:27019",},
			{_id:1,host:" 192.168.199.204:28019"},
			{_id:2,host:" 192.168.199.204:29019",arbiterOnly:true}
		]
	}
rs.initiate(cfg)
rs.status()

10、配置mongos路由服务器
启动mongos服务

mongos -f /data/mongo1/conf/mongos.conf
mongos -f /data/mongo2/conf/mongos.conf
mongos -f /data/mongo3/conf/mongos.conf

登录mongo1的28100

mongo --port 28100

启用分片(将分片和路由器串联)

mongos> sh.addShard("rs0/192.168.199.204:27017,192.168.199.204:28017,192.168.199.204:29017")

在这里插入图片描述

mongos> sh.addShard("rs1/192.168.199.204:27018,192.168.199.204:28018,192.168.199.204:29018")
mongos> sh.addShard("rs2/192.168.199.204:27019,192.168.199.204:28019,192.168.199.204:29019")

11、测试MongoDB分片
连接mongo的端口,这里连接28100、28200、28300的效果是一样的

mongo --port 28100

指定要分片的库db1

mongos> sh.enableSharding("db1")

在这里插入图片描述
#如果db1不存在会自动创建,指定分片的库的第二种方式:db.runCommand({ enablesharding : “db1”})
在db1库中创建/指定分片的集合cl01

mongos> sh.shardCollection("db1.cl01",{"id":1} )

在这里插入图片描述
#第二种方式:db.runCommand( { shardcollection : “db1.cl01”,key : {id: 1} } )
查看状态sh.status()中databases项即可看到db1库与cl01集合

参考:
https://blog.csdn.net/Powerful_Fy/article/details/103615902
菜鸟教程

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-18 10:14:40  更:2021-09-18 10:16:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:07:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码