mongodb集群部署

Posted on 2018-12-03 10:04  天道酬勤+勤能补拙  阅读(242)  评论(0)    收藏  举报

一、安装Mongodb(Tarballs)

1、检查依赖文件包:

yum install libcurl openssl

2、解压文件到/usr/local/

tar -zxvf mongodb-linux-x86_64-rhel70-4.0.4.tgz -C /usr/local/

3、配置环境变量 /etc/profile

export PATH=/usr/local/mongodb-linux-x86_64-rhel70-4.0.4/bin:$PATH

使用命令mongod -v输出信息版本信息验证环境变量是否配置成功

4、配置/etc/selinux/config文件 关闭selinux  (配置完重启)

SELINUX=disabled

5、关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

 

二、配置config server(副本集)

选取三台电脑,做如下操作:一主一副一仲裁

1、 新建目录

mkdir /usr/local/mongodb-linux-x86_64-rhel70-4.0.4/conf

mkdir /var/log/mongodb

2、 在新建的conf目录下创建config.conf  做如下配置(跟python代码一样注意缩进问题)

sharding:

  clusterRole: configsvr

replication:

  replSetName: configs

net:

  port: 27019

  bindIp: 0.0.0.0

processManagement:

  fork: true

  pidFilePath: /var/log/mongodb/config.pid

systemLog:

  destination: file

  logAppend: true

  path: /var/log/mongodb/config.log

 

3、 创建默认的保存数据的文件位置:

mkdir -p /data/configdb

4、 启动mongod实例

mongod --config /usr/local/mongodb-linux-x86_64-rhel70-4.0.4/conf/config.conf

5、 登陆任意一台服务器—— mongo --port XXX

mongo --port 27019

6、 初始化副本集(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致)

rs.initiate(

  {

    _id: "configs",

    configsvr: true,

    members: [

      { _id : 0, host : "192.168.100.101:27019" },

      { _id : 1, host : "192.168.100.102:27019" },

      { _id : 2, host : "192.168.100.103:27019" }

    ]

  }

)

 

7、查看config副本集状态

rs.status();

三、配置shard server(副本集)

选取三台电脑,做如下操作:

1、 新建目录

mkdir /usr/local/mongodb-linux-x86_64-rhel70-4.0.4/conf

mkdir /var/log/mongodb

2、 在新建目录下创建shard0.conf  做如下配置(跟python代码一样注意缩进问题)

sharding:

   clusterRole: shardsvr

replication:

   replSetName: shard0

net:

  port: 27018

  bindIp: 0.0.0.0

processManagement:

  fork: true

  pidFilePath: /var/log/mongodb/shard0.pid

systemLog:

  destination: file

  logAppend: true

  path: /var/log/mongodb/shard0.log

 

3、 创建默认的保存数据的文件位置:

mkdir -p /data/db

4、 启动shard0 server实例

mongod --config /usr/local/mongodb-linux-x86_64-rhel70-4.0.4/conf/shard0.conf

5、 启动完三台服务器的实例后,登陆任意一台服务器,初始化副本集

mongo --port 27018

6、 初始化副本集(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致)

rs.initiate(

  {

    _id : "shard0",

    members: [

      { _id : 0, host : "192.168.100.1:27018", priority : 1},

      { _id : 1, host : "192.168.100.6:27018", priority : 2},

      { _id : 2, host : "192.168.100.9:27018", arbiterOnly :true}

    ]

  }

)

7、 查看shard0副本集状态

rs.status();

四、配置mongos

选取一台或多台电脑,做如下操作:

1、 在安装目录下新建目录

mkdir /usr/local/mongodb-linux-x86_64-rhel70-4.0.4/conf

2、 在新建目录下创建mongos.conf  做如下配置(跟python代码一样注意缩进问题)

sharding:

  configDB: configs/192.168.100.101:27019,192.168.100.102:27019,192.168.100.103:27019

net:

  bindIp:0.0.0.0

  port:27017

systemLog:

  destination: file

  logAppend: true

  path: /var/log/mongodb/mongos.log

processManagement:

  fork: true

3、 创建默认的保存数据的文件位置:

mkdir -p /data/db

4、 启动mongos server实例

mongos --config /usr/local/mongodb-linux-x86_64-rhel70-4.0.4/conf/mongos.conf

5、 连接到一台mongos

mongo --host 192.168.100.1 --port 27017

6、 串联路由服务器与分片副本集

use admin

sh.addShard("shard0/192.168.100.1:27018, 192.168.100.6:27018, 192.168.100.9:27018")

7、 查看集群状态

sh.status()

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3