雷竞技下载官网MongoDB分片Percona服务器¶
关于分片¶
分片提供数据库缩放水平、分布数据跨多个MongoDB豆荚。是很有用的对于大数据集时一台机器的整体处理速度和存储容量是不够的。分片允许分裂数据跨多个机器用一种特殊的每个请求路由到必要的数据(所谓的子集碎片)。
MongoDB分片包括以下组件:
碎片——一套副本包含数据库中存储的数据的一个子集(类似于一个传统的MongoDB副本集),蒙戈——查询路由器,它充当客户端应用程序的入口点,配置服务器——一套副本存储元数据分片和配置设置数据库集群。
请注意
雷竞技下载官网Percona运营商对于MongoDB 1.6.0只支持一个碎片MongoDB集群;不过,这有限的分片支持允许使用蒙戈作为切入点,而不是提供一套负载平衡器/复制节点。支持多种碎片从运营商1.7.0。同时,运营商之前1.12.0蒙戈被部署的部署对象,并从1.12.0部署的StatefulSet一个。
将分片¶
分片的控制分片部分的部署/ cr.yaml配置文件,在默认情况下是开启的。
要启用分片,设置sharding.enabled关键真正的(这将把现有MongoDB副本集节点变成分片的)。禁用分片,设置sharding.enabled关键假。
分片打开时,操作员与配置服务器副本集和蒙戈实例运行。他们的数量控制configsvrReplSet.size和mongos.size键,分别。
请注意
配置服务器现在可以正确工作只有WiredTiger引擎和分片MongoDB节点可以使用WiredTiger或InMemory。
默认情况下replset节的部署/ cr.yaml配置文件只包含一个复制品,rs0。您可以添加更多的副本集以不同的名称replset部分以类似的方式。请考虑,有多个副本集可能只有分片。
请注意
操作员可以删除一个碎片只有当它不包含应用程序(非系统的)集合。
检查连接分片和non-sharded集群¶
分片打开,你有蒙戈服务作为切入点来访问数据库。如果不使用分片,你必须访问mongod您的副本集的过程。
你需要登录和密码admin用户访问集群。使用
kubectl得到秘密命令查看的秘密对象列表(默认的秘密你感兴趣的对象my-cluster-name-secrets名字)。然后kubectl得到秘密my-cluster-name-secrets - o yaml命令将返回YAML文件生成的秘密,包括MONGODB_DATABASE_ADMIN_USER和MONGODB_DATABASE_ADMIN_PASSWORD字符串,它应该看起来如下:…数据:…MONGODB_DATABASE_ADMIN_PASSWORD:aDAzQ0pCY3NSWEZ2ZUIzS1I =MONGODB_DATABASE_ADMIN_USER:ZGF0YWJhc2VBZG1pbg = =这里实际的登录名和密码base64编码。使用
回声的aDAzQ0pCY3NSWEZ2ZUIzS1I = ' | base64解码命令把它带回一个人类可读的形式。运行MongoDB的容器端和连接终端的控制台输出。以下命令将这样做,命名新的吊舱
雷竞技下载官网percona-client:美元kubectl运行-我——rm——tty雷竞技下载官网percona-client——图片=雷竞技下载官网percona / percona-server-mongodb: 4.4.18-18——重启=从来没有- - -bash伊尔执行可能需要一些时间来部署记者吊舱。
现在运行
蒙戈工具percona-cl雷竞技下载官网ient命令shell使用登录(这是正常databaseAdmin),从秘密获得正确的密码,而不是一个适当的名称空间名称<名称空间名称>占位符。命令将不同取决于分片(默认行为)或关闭:美元蒙戈“mongodb: / / databaseAdmin: databaseAdminPassword@my-cluster-name-mongos。<名称空间名称> .svc.cluster.local / admin ? ssl = false”美元蒙戈“mongodb + srv: / / databaseAdmin: databaseAdminPassword@my-cluster-name-rs0。<名称空间名称> .svc.cluster.local / admin ? replicaSet = rs0&ssl = false”