Centos-mongodb副本集加分片配置

简介: Centos升级到7之后,发现无法使用iptables控制Linuxs的端口,google之后发现Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口: firewall-cmd --zone=public --add-port=.

Centos升级到7之后,发现无法使用iptables控制Linuxs的端口,google之后发现Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口:

firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --zone=public --add-port=27018/tcp --permanent
firewall-cmd --zone=public --add-port=20000/tcp --permanent
firewall-cmd --zone=public --add-port=30000/tcp --permanent

重启防火墙

firewall-cmd --reload

复制集加分片(192.168.1.222、192.168.1.223、192.168.1.224)

mkdir /usr/local/mongodb/data/log1
mkdir /usr/local/mongodb/data/log2
mkdir /usr/local/mongodb/data/shard1
mkdir /usr/local/mongodb/data/shard2
mkdir /usr/local/mongodb/data/config

1、配置shard1复制集(3台都运行)

/usr/nacp/mongodb-linux-x86_64-rhel70-3.4.0/bin/mongod --shardsvr --dbpath /usr/local/mongodb/data/shard1 --logpath=/usr/local/mongodb/data/log1/shard1.log --logappend --port 27017 --replSet shard1 -fork
/usr/nacp/mongodb-linux-x86_64-rhel70-3.4.0/bin/mongo 192.168.1.222:27017
use admin
#定义副本集配置
db.runCommand({"replSetInitiate":{"_id":"shard1","members":[{"_id":1,"host":"192.168.1.222:27017"},{"_id":2,"host":"192.168.1.223:27017"},{"_id":3,"host":"192.168.1.224:27017"}]}});
rs.status();

2、配置shard2复制集(3台都运行)

/usr/nacp/mongodb-linux-x86_64-rhel70-3.4.0/bin/mongod --shardsvr --dbpath /usr/local/mongodb/data/shard2 --logpath=/usr/local/mongodb/data/log2/shard2.log --logappend --port 27018  --replSet shard2 -fork
/usr/nacp/mongodb-linux-x86_64-rhel70-3.4.0/bin/mongo 192.168.1.224:27018
use admin
#定义副本集配置
config = { _id:"shard2", members:[
    {_id:0,host:"192.168.1.222:27018"},
    {_id:1,host:"192.168.1.223:27018"},
    {_id:2,host:"192.168.1.224:27018"}
    ]
}
rs.initiate(config);

3、配置config(3台都运行)

/usr/nacp/mongodb-linux-x86_64-rhel70-3.4.0/bin/mongod --port 20000 --configsvr --dbpath=/usr/local/mongodb/data/config --logpath=/usr/local/mongodb/data/config/config.log --logappend --replSet config --fork 
/usr/nacp/mongodb-linux-x86_64-rhel70-3.4.0/bin/mongo 192.168.1.223:20000
use admin
#定义副本集配置
db.runCommand({"replSetInitiate":{"_id":"config","members":[{"_id":1,"host":"192.168.1.222:20000"},{"_id":2,"host":"192.168.1.223:20000"},{"_id":3,"host":"192.168.1.224:20000"}]}});

4、配置mongodb路由(3台都运行)

/usr/nacp/mongodb-linux-x86_64-rhel70-3.4.0/bin/mongos --port 30000 --configdb config/192.168.1.222:20000,192.168.1.223:20000,192.168.1.224:20000 --logpath=/usr/local/mongodb/data/mongos.log --logappend --fork

配置shard

/usr/nacp/mongodb-linux-x86_64-rhel70-3.4.0/bin/mongo 192.168.1.222:30000
use admin
db.runCommand({ addshard:"shard1/192.168.1.222:27017,192.168.1.223:27017,192.168.1.224:27017" })
db.runCommand({ addshard:"shard2/192.168.1.222:27018,192.168.1.223:27018,192.168.1.224:27018" })

设置分片数据库:

db.runCommand({"enablesharding": "test"}) 

设置表分片基于字段hash设置表分片基于字段

db.runCommand({"shardcollection": "test.t1", key: { id:1}})

打印数据库分片信息:

db.printShardingStatus()   

打印服务器信息:

db.serverStatus() 

测试

use test
for (var i = 1; i <= 10000; i++) db.t1.save({id:i,"test1":"testval1"});
目录
相关文章
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
1198 87
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
382 16
|
NoSQL 安全 Linux
设置Redis在CentOS7上的自启动配置
这些步骤总结了在CentOS 7系统上设置Redis服务自启动的过程。这些命令提供了一个直接且明了的方式,确保Redis作为关键组件在系统启动时能自动运行,保障了依赖于Redis服务的应用的稳定性和可用性。
955 9
|
Linux
Centos6配置阿里云yum源报错
在CentOS 6配置阿里云Yum源时,可能出现EPEL仓库访问报错(404 Not Found)。解决方法:编辑`/etc/yum.repos.d/epel.repo`文件,将`enabled`和`gpgcheck`参数设为0 ``` 此设置可解决仓库无法访问的问题。
2552 29
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
1966 4
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
3553 26
|
Ubuntu 安全 Linux
CentOS与Ubuntu中防火墙配置命令集汇
有了这些,你就能遨游在 CentOS 和 Ubuntu 的海洋中,频繁地改变你的防火墙设置,快速地应对各种安全威胁,同时也能保证你的系统可以正常工作。出发吧,勇敢的编程者,随着这些命令集的涌动,扬帆起航,走向安全的网络世界!
557 5
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
683 10
|
Java
CentOS7.8配置Adoptium-Java17运行环境
本指南介绍如何设置清华镜像源并安装 Temurin-17-JRE 运行环境。首先,编辑 `/etc/yum.repos.d/adoptium.repo` 文件,配置清华镜像源。接着,使用 `yum install -y temurin-17-jre` 命令安装 Temurin-17-JRE,并通过 `java --version` 验证安装成功。相关配置和操作界面截图附后。
1172 8