centos7 mongodb商业版集群搭建

5 篇文章 0 订阅
1 篇文章 0 订阅

1、下载压缩包,解压到自定义目录

https://www.mongodb.com/try/download/enterprise

2、修改ulimit参数

vim /etc/security/limits.conf

添加

* soft nofile 204800
* hard nofile 204800
* soft nproc 204800
* hard nproc 204800

reboot重启系统

3、新建目录

sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb

用户赋权(root用户可省略)

sudo chown -R mongod:mongod <directory>

4、创建keyfile文件

openssl rand -base64 756 > <path-to-keyfile>
chmod 400 <path-to-keyfile>

注意文件的权限不要设置过大

5、创建配置文件(绑定ip设置为0.0.0.0允许外网访问,这里可以根据实际网络安全进行配置)

vim /etc/mongod.conf

processManagement:
   fork: true
net:
   bindIp: 0.0.0.0
   port: 27017
storage:
   dbPath: /var/lib/mongo
systemLog:
   destination: file
   path: "/var/log/mongodb/mongod.log"
   logAppend: true
storage:
   journal:
      enabled: true
security:
  keyFile: <path-to-keyfile>
  authorization: enabled
replication:
  replSetName: "rs0"

6、安装依赖

sudo yum install net-snmp

sudo yum install libcurl openssl xz-libs
如果报missing requires of libmysqlclient.so.18(libmysqlclient_18)

下载安装缺少依赖

wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm

(这里没有配置selinux,如有需要请参考https://www.mongodb.com/docs/v4.4/tutorial/install-mongodb-on-red-hat-tarball/

7、mongodb的bin目录添加到PATH中

sudo ln -s  mongodb目录/bin/* /usr/local/bin/

(也可以直接copy文件:sudo cp mongodb目录/bin/* /usr/local/bin/)

8、编写启动、停止脚本

vim startup.sh

mongod -f /etc/mongod.conf

vim stop.sh

mongod --port=27017 --dbpath=/var/lib/mongo --shutdown

9、启动

sh startup.sh

10、进入数据库

mongo

11、再重复创建两个mongodb组成三节点集群,主机别名vm1、vm2、vm3

mongodb可以搭建复制集集群和切片集群

mongodb推荐使用复制集集群,服务器推荐奇数个防止选举主节点时出现平局,推荐使用多数据中心的分布式部署防止出现如断电、断网等故障,三个中心五个节点(2)、(2)、(1)这种集群可以很好避免此类问题:

三台服务器可以搭建1主2从和1主1从1选举人两种模式,选举人不保存数据,集群中有选举权的节点不超过7个。

1主1从1选举人模式,进入mongodb执行

cfg={ _id:"rs0",members:[{_id:0,host:'vm3:27017',priority:1},{_id:1,host:'vm2:27017',priority:1},{_id:2,host:'vm1:27017',arbiterOnly:true}] };

rs.initiate(cfg);

mongo命令登录不同节点,可以看见不同的节点角色

 

12、新建root用户

 

db.createUser(
  {
    user:"root",
    pwd:"123456",
    roles:[{role:"root",db:"admin"}]
  }
);

用root用户登录

db.auth('root','123456')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值